En vrac

Le sticky sur un répertoire permet la suppression d'un fichier uniquement par son propriétaire. Sur un fichier il permettait de le conserver en mémoire afin d'obtenir de meilleures performances.

Symmetrix = Technique de transfers (SRDF)

# Sed excluant

 sed -n '1,6!p'
n'affichera pas les 6 premières lignes

# Liste les zones présentes sur un Solaris

zoneadm list -cv

# Liste les groupes de disques présents dans un pool (commande lié à ZFS)

zpool list

# Liste les DisksGroups (Volume Groupe) présent sur un serveur (commande Véritas)

sudo vxdg list

# Liste les disques physiques présents dans un DisksGroup (commande Véritas) # ttgintdmp06 est un DiskGroup

sudo vxprint -g ttgintdmp06 -dq

# Liste les informations sur un disque physique (commande Véritas)

sudo vxdisk list Disk_256

# Liste les informations liées au SAN (commande Solaris)

luxadm

# Afficher la version d'un serveur Solaris

cat /etc/release

# Connaître les informations sur une partition (commande Solaris)

prtvtoc /dev/XXXXXXXX

Le service “fmadm” gère les erreurs sous Solaris.

Le système Solaris utilise des “slices” comme partition Les slices 0 et 2 sont réservées au système Solaris, la slice 7 est une “copie totale” du disque

La commande “prstat -a” sous Solaris est un équivalent de la commande “top” sous Linux.

# Lister les interfaces réseaux (commande Solaris)

sudo dladm show-link

# Afficher le status des interfaces réseaux

ifconfig -a

# Partage NFS (commandes Solaris)

share -F nfs /tools/ccm/ccm_data/baserisdevtt                                -> Partager 
unshare /tools/ccm/ccm_data/baserisdevtt                       -> Dé-partager

STONITH = Shoot The Other Node In The Head

# Lister les LUN attachées à un système

sudo /usr/symcli/bin/syminq -wwn
— où —
sudo /usr/symcli/bin/syminq -wwn | egrep '1B9F|1BA3'              -> (1B9F et 1BA3 sont des LUNs)

# Effectuer un mirroir de “SuperVolumeGroupe/SuperVolumeLogique” sur les disques “/dev/dm-01 /dev/dm-02 /dev/dm-03”

sudo lvconvert -m1 --corelog SuperVolumeGroupe/SuperVolumeLogique /dev/dm-01 /dev/dm-02 /dev/dm-03

# Lister toutes les informations d'un volume Logique

sudo lvs --all -o +devices ctmprddb05/oradata01_mimage_0

# Gestion des services sous Solaris

svcadm {enable|disable|restart} httpd

# Afficher des informations au sujet du système

showrev

# Afficher les informations au sujet des processeurs (commande Solaris)

psrinfo

# Appliquer un patch au système Solaris

sudo patchadd 121428-13                                                                             -> 121428-13 = Nom/Numéro du patch à appliquer

# Lister les paquets présents sur le système (commande Solaris)

pkginfo

SDS (Solaris Disk Suite) est le nom du volume manager sous Solaris

# Arrêter un processus zombie avec un code statut 0 (commande Solaris)

preap 810                                                                                            -> 810 = PID

# Savoir si son système est 32Bits ou 64Bits (commande Solaris)

isainfo -b

# Liste les informations SRDF (R1 et R2) (commande Veritas)

sudo /usr/symcli/bin/symrdf -g stfprddb01 query                           -> stfprddb01 est un service

# Liste tous les DG (commande Veritas)

sudo vxdisk -o alldgs list

# Vérifie que des LUNs soient bien attachées à un serveur (stfprddb01-lun contient des ID de LUNs)

sudo lun_discover -c -f /tmp/stfprddb01-lun

# Obtenir l'espace libre d'un service.

sudo vxdg -g stfprddb01 free

# Liste tous les disques d'un service ainsi que leur mode (concat ou stripe) (commande Veritas)

vxprint -thg stfprddb01

# Connaître la vitesse d'une interface réseau (commande Solaris)

ndd -get /dev/nxge \?
kstat -i 0 -m nxge -s link_speed

# Afficher l'état d'une LUN (commande Solaris)

sudo luxadm disp /dev/rdsk/c6t600601608E381700A059A6A50315DC11d0s2

# Afficher toutes les LUNs attachées à un serveur (commande Solaris)

sudo luxadm probe | more

# Afficher l'état des cartes fibres (commande Solaris)

sudo luxadm -e port

# Affiche la configuration des ressources matérielle (commande Solaris)

sudo cfgadm -la

# Reconfigurer le contrôleur C2 (obtenu à l'aide de la commande ci-dessus) (commande Solaris)

sudo cfgadm -c configure c2

# Afficher le diagnostic du serveur (commande Solaris)

prtdiag

# Déplumber une interface (commande Solaris)

sudo ifconfig ipge0:10 down unplumb

# Supprimer une volume d'un DG (commande Veritas)

sudo vxedit -g stfprdap90 -f -r rm wapprdap80_projects

# Indique l'espace restant dans un DG avec les contraintes spécifiées.

sudo vxassist -g stfprddb01 maxsize layout=stripe cols=3 alloc="stfprddb01-01 stfprddb01-02 stfprddb01-03"

# OU (taille en bloc (à diviser par 2), taille en octets (à diviser par 1024)).

sudo vxdg -g bdrprddb06 free
sudo /usr/lib/vxvm/bin/vxdisksetup -i EMC0_95 format=sliced sudo /usr/lib/vxvm/bin/vxresize -F ufs -g stfprddb01 oradata02 +34g alloc=“stfprddb01-18 stfprddb01-19 stfprddb01-20” vxprint -dg stfprddb01</sxh>

# Connaître l'adresse MAC d'une carte Solaris en “SC”.

{3} ok cd /pci@1f,700000/pci@0/pci@2/pci@0/network@4
{3} ok .properties

# Lister les disques d'un mirroir AIX

lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            active            546         344         109..17..00..109..109

# Suppression du disque “hdisk1” du mirror “rootvg” (commande AIX)

unmirrorvg -c 1 rootvg hdisk1

sudo reducevg rootvg hdisk

# Affiche les informations pour les cartes réseau

sudo dladm show-dev

# Modifier des paramètre réseau.

ndd -set /dev/ce adv_autoneg_cap 1

# Permet d'obtenir des informations depuis la commande hpacucli

sudo /opt/compaq/hpacucli/bld/hpacucli ctrl all show config

# Activer l'auto-négociation sur l'interface ce1

sudo ndd -set /dev/ce instance 1
sudo ndd -set /dev/ce adv_autoneg_cap 1.

# Passer un disque en status “online” s'il est en status “online failing”

sudo vxedit -g syndevap set failing=off syndevap-01

# Supprimer la réservation sur une LUN.

sg_persist -n --out --register-ignore --param-sark=0x3834343738396236 /dev/rdsk/c2t60060160E65C1C000C53793DC078DC11d0s2
sg_persist -n --out --clear --param-rk=0x3834343738396236 /dev/rdsk/c2t60060160E65C1C000C53793DC078DC11d0s2

# Afficher les performances CPU

mpstat 3

# Supprimer un volume d'un DG (commande Veritas)

vxassist -g sdsuatap01 remove volume grdlog

# Liste les PATHs SAN (commande Solaris)

sudo mpathadm list lu

# Scanner les bus SCSI (commande Linux) (voir le paquet sg3_tuils)

sudo rescan-scsi-bus.sh

# Activer les volumes d'un DG importé (commande Veritas).

sudo vxvol -g bdrintdb01 startall

# Donne des informations sur les disques.

sudo cat /sys/block/cciss\!c0d0/device/{model,vendor}

# Affiche les informations d'un disque via l'outil HPACUCLI.

sudo /opt/compaq/hpacucli/bld/hpacucli ctrl slot=0 pd all show
sudo /opt/compaq/hpacucli/bld/hpacucli ctrl slot=0 pd 1:0 show

# Augmenter la taille du buffer UDP (commande Solaris).

ndd -set /dev/udp udp_max_buf 8388608

# Connaître la valeur de la taille du buffer UDP (commande Solaris)

sudo ndd -get /dev/udp udp_max_buf

# Supprimer une interface du bonding (bond0) (commande Linux).

sudo ifenslave -d bond0 eth4

# Tips Vim.

:%s/[A-Z]/\L&/                                                                 # UPPER vers lower

# Connaître le WWN d'une carte HBA (commande Solaris)

sudo prtpicl -v -c scsi-fcp

# Gestion de SYMCLI

sudo /usr/symcli/bin/stordaemon shutdown all
sudo /usr/symcli/bin/stordaemon start storapid
sudo /usr/symcli/bin/stordaemon list

# Base de données SYMCLI corrompue


sudo symdev list

The SYMAPI database file is invalid or corrupted


Supprimer la base de données dans /var/symapi/db/*

# Debugging

ps -eo zone,pid,user,pcpu,pmem,rss,vsz,args | sort -nk 4 | tail
ps -o zone,pid,user,pcpu,pmem,rss,vsz,args -p 12130,3730
prstat -mL

# Voir les alertes FM

sudo fmadm faulty

# Résultat :1
--------------- ------------------------------------  -------------- ---------
TIME            EVENT-ID                              MSG-ID         SEVERITY
--------------- ------------------------------------  -------------- ---------
Dec 07 22:21:18 e19bd625-aca1-4b47-d682-8ddd39213c29  FMD-8000-2K    Minor

# Obtenir plus d'informations au sujet d'un alter en utilisant son ID “e19bd625-aca1-4b47-d682-8ddd39213c29”

sudo fmdump -v -u e19bd625-aca1-4b47-d682-8ddd39213c29

# Acknowledger une erreur FM

sudo fmadm repair e19bd625-aca1-4b47-d682-8ddd39213c29

# Ajouter une nouvelle interface réseau Renseigner les fichiers : /etc/hostname.bge1 /etc/hosts /etc/netmask

sudo ifconfig bge1 plumb
sudo ifconfig bge1 184.7.41.185 netmask + broadcast + up

# Liste les devices via DevMapper

sudo dmsetup ls --target multipath

# Informations au sujets des interfaces réseau sous Linux

/sys/class/net/ethX

# Afficher la licence Véritas

vxlicrep -e

# Affiche tous les processus qui utilisent “/devices/scsi_vhci:devctl” (commande Solaris)

for I in $(ps -ef -o pid); do [ $(sudo pfiles $I | grep -c "/devices/scsi_vhci:devctl") -ne 0 ] && echo $I; done

# Désactivation d'une LUN (commande Solaris)

luxadm -e offline /dev/rdsk/c4t60060160E65C1C004B1030B7B622DE11d0s2

# Remplacer un disque dans un pool ZFS (commande Solaris)

sudo prtvtoc /dev/dsk/c0t0d0s2 | sudo fmthard -s - /dev/rdsk/c1t0d0s2
sudo zpool replace -f rpool c0t1d0s0 c1t0d0s0

# Rendre le disque bootable

sudo installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0

# Activer un device de swap (commande Solaris)

sudo swap -a /dev/zvol/dsk/spool/swap

# Initialiser un DG sans le CDS (commande Veritas)

sudo vxdg init bdrprddb10 bdrprddb10-01=EMC0_78 cds=off

# Ajouter un disque à un DG (commande Veritas)

sudo vxdg -g bdrprddb09 adddisk bdrprddb09-02=EMC0_75

# Créer un volume strippé (commande Veritas)

sudo vxassist -g bdrprddb09 make oracle 10g layout=stripe

# Formater une partition Oracle avec des blocs de 8K (commande Solaris) (on peut rajouter l'option -T pour un FS avec de gros fichiers et la gestion du multiterabyte)

sudo newfs -f 8192 -b 8192 -i 131072 -o time -m 1 /dev/vx/rdsk/bdrprddb09/oradata01

# Renommer un disque dans un groupe (commande Veritas)

sudo vxedit -g b2tprddb01redo rename b2tprddb01redo-07 b2tprddb01redo-06

# Obtenir les informations mémoire (commande Solaris)

sudo mdb -k
> ::memstat

###########

# Disque non partitionné (commande Solaris)

sudo prtvtoc /dev/rdsk/c3t60060480000290101986533031333844d0s2: Unable to read Disk geometry errno = 0x16

# Slice 2 du disque désactivée en écriture (commande Solaris)

$ sudo vxdisk list EMC1_222
Device:    EMC1_222
devicetag: EMC1_222
type:      auto
flags:     online error private autoconfig
errno:     Device path not valid
Multipathing information:
numpaths:   1
c3t60060480000290101986533031333844d0s2 state=disabled

for I in $(awk '{print $7}' lunlibres); do sudo format -f formatFileInput -e ${I}s2 ; done

$ cat formatFileInput 
p
p
2
backup
wm
0
$
lab
0

# Ajout de route sur linux : se connecter sur le reseau 193.178.207.0 via la gateway 184.34.62.254 par le device eth0

vi /etc/sysconfig/network-scripts/route-eth0 
193.178.207.0/24 via 184.34.62.254 dev eth0
ip route add 193.178.205.0/24 via 184.34.62.254 dev eth0

# Ajout de route d'un réseau sous solaris : (pour que ca soit pris en compte au boot, il faut le mettre dans un script /etc/rc3.d/S56static-routes http://www.sunsolarisadmin.com/solaris-7/how-to-add-a-static-route-persistent-in-sun-solaris/

route add -net 193.178.207.0/24 184.34.62.254
# Supprimer la route
route del -net 193.178.207.0/24 184.34.62.254

# Terminal too wide

stty columns 120

# connaitre son runlevel sous solaris

who -r

# Activation instance autosys # demander quelle instance editer

/etc/xinetd.d/auto_remote_PE1
/etc/init.d/xinetd reload 
netstat -ltpe

# supprimer un device proprement

echo 1 > /sys/block/sdhj/device/delete

# rescanner un device proprement

echo 1 > /sys/block/sdhj/device/rescan

# rescanner device sous linux

echo "- - -" > /sys/class/scsi_host/host2/scan

# vérification etat du lien san

cd /sys/class/scsi_host
cat host?/state
Link Down
Link Up - Ready
   Fabric

# obtenir les infos emulex :

/usr/sbin/hbanyware/hbacmd listhbas

# finddeleted
function finddeleted
{
[ -f /bin/nawk ] && { OPT="";AWK=nawk; } || { OPT="-maxdepth 1 -follow";AWK=awk; }
sudo find /proc/*/fd $OPT -name "[0-9]*" -links 0 -type f -ls 2>/dev/null |$AWK '
        BEGIN{  
                format="%-17s %12s %10s %-20s\t %-9s %s\n";
                printf(format,"FileDescriptor","Size","Inum","FileSystem","User"," Process");
        }
        {
                file=$NF;
                inum=$1;
                size=$(NF-4);
                split(file,f,"/");
                pid=f[3];
                cmd="df -k "file" 2>/dev/null";
                cmd |getline;
                cmd |getline;
                close(cmd);
                fs=$NF;
                cmd="ps -p "pid" -o user,args";
                cmd |getline;
                cmd |getline;
                close(cmd);
                user=$1;$1="";
                if(user=="PID") next;
                process=$0;
                printf(format,file,size,inum,fs,user,process);
                if(inums[fs,inum]=="") {
                        totalsize[fs]+=size;
                        inums[fs,inum]=1;
                }
        }
        END{
                print   "-----------------";
                for (fs in totalsize)
                        printf(format,"TOTAL",totalsize[fs],"",fs,"","");
        }
        '
}

# lister les fichiers qu'on une taille supérieur à 20M sur le fs

sudo find / -mount -type f -size +20000k -print | xargs -i du -sk {} | sort -n

# Afficher les 3 caractères qui suivent après les 3 premiers caractères.

sed 's/...//;s/\(...\).*/\1/' 

# Supprimer les lignes qui contiennent la ligne ENV dans tous les fichiers *.sh

sed -i '/ENV/ d' files/*.sh 

# Voir les fichiers utilisé par les process sous solaris

for I in $(ps -ef -o pid); do [ $(sudo pfiles $I | grep -c "/devices/scsi_vhci:devctl") -ne 0 ] && echo $I; done

# Voir les process qui utilise export

ls -al /proc/*/fd/* | grep export

# récupérer les infos fc_host

# systool -av -c fc_host
Class = "fc_host"

  Class Device = "host2"
  Class Device path = "/sys/class/fc_host/host2"
    fabric_name         = "0x100000051e35a3fe"
    issue_lip           = <store method only>
    node_name           = "0x50014380063406e3"
    port_id             = "0x160e00"
    port_name           = "0x50014380063406e2"
    port_state          = "Online"
    port_type           = "NPort (fabric via point-to-point)"
    speed               = "2 Gbit"
    supported_classes   = "Class 3"
    supported_speeds    = "1 Gbit, 2 Gbit, 4 Gbit"
    symbolic_name       = "HPAE311A FW:v5.03.01 DVR:v8.03.01.12.10.3-k4"
    system_hostname     = ""
    tgtid_bind_type     = "wwpn (World Wide Port Name)"
    uevent              = <store method only>

#cat /sys/class/fc_host/host3/port_name 
0x500143800632b8de

# afficher toutes les colonnes, depuis la seconde du fichier toto

awk '{ for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n"; }' /toto

# récupérer le wwn d'un disque depuis linux

# /lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/emcpowerb
360000970000292602678533032343239

Screen too large for internal buffer

# stty columns 132

How to disable password aging for an user account

To turn off the password expiration for an user account, set the following:

# chage -m 0 -M 99999 -I -1 -E -1 dhinesh
# chage --list dhinesh
Last password change                                    : Apr 23, 2009
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7