This is an old revision of the document!
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 freesudo /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</code>
# 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