Système

Outils de diagnostic système

lsof

lsof liste tous les processus ayant des fichiers ouverts — y compris des sockets réseau et les périphériques, puisque sous UNIX “tout est fichier” — sur le système. La commande lsof dispose de beaucoup d’options pour affiner la recherche, en voici quelques-unes qui sont très utiles pour diagnostiquer des problèmes.

Lister tous les processus ayant des fichiers ouverts dans un répertoire spécifique :

# lsof +D /tmp

Lister tous les processus ayant des sockets réseau ouverts (spécifiez l’option -n pour désactiver la résolution DNS) :

# lsof -i

Astuces

Afficher le contenu de la mémoire du BIOS

# dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8

ou

# dmidecode

Connaître la distribution de son système Linux

# cat /etc/issue

Connaître la version de son système Solaris

# cat /etc/release

Afficher des informations sur les périphériques PCI

# lspci -v

Monter une image ISO (lecture seule)

marc@plop:/tmp% sudo mount -o loop debian-40r4a-i386-netinst.iso blah/
marc@plop:/tmp% ls blah/
autorun.bat  dists    install.386  pics         README.mirrors.html  tools
autorun.inf  doc      isolinux     pool         README.mirrors.txt
debian       install  md5sum.txt   README.html  README.txt

Dupliquer le partitionnement d’un disque

# sfdisk -d /dev/sda >blah.txt
# sfdisk /dev/sdb <blah.txt

/dev/sda représente le disque source et /dev/sdb le disque de destination.

Rechercher un fichier par son numéro d’inode (ext2/3/4)

# debugfs -R "ncheck <inode>" 2>/dev/null

<inode> est le numéro d’inode recherché.

Il est aussi possible d’effectuer la même recherche avec la commande find, qui elle fonctionnera peut importe le système de fichier. Mais l’alternative debugfs qui interroge directement le système de fichier reste en général plus rapide.

# find -inum <inode>