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</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