La couche de pilotes de périphériques : lsmod, modinfo, lshw
La couche du pilote de périphériques est essentielle au système d’exploitation, car elle permet de faire l’interface entre d’un côté les programmes du système lui-même et de l’autre côté le matériel :
En ce qui concerne cette couche, il est possible de consulter les traces stockées au sein du journal système via la commande journalctl. Celle-ci fournit l’intégralité des événements survenus sur la machine depuis le dernier démarrage, voire plus selon les options activées, pour l’ensemble des périphériques utilisés.
Exemple : lister les événements survenus entre le 05 janvier 2020 et le 27 janvier 2020 :
# journalctl --since "2020-01-05 00:00:00" --until "2020-01-27 23:59:59"
REMARQUE : certaines des informations mentionnées dans le rapport ainsi affiché, se retrouvent également dans le Ring Buffer, en consultant et en exécutant la commande dmesg.
De façon générale, il est toujours utile de consulter le paramétrage du système grâce à la commande sysctl ci-dessous :
# sysctl -A
Cette commande affiche alors l’ensemble des paramètres du noyau, y compris ceux de la configuration de la mémoire virtuelle et du paramétrage des processus initialisés.
Cela se présente sous forme d’une liste ‘Champ=<Valeur>’, fournissant toutes les indications d’utilisation des ressources du système. Comme le gestionnaire de périphérique se trouve à la frontière du système d’exploitation et du matériel, on peut également récupérer les informations concernant les périphériques utilisés au sein des modules du noyau linux, grâce aux commandes lsmod et modinfo :
# lsmod
Cela affiche alors l’ensemble des modules noyau en cours d’utilisation. Pour obtenir de plus amples informations sur un module particulier avec plus de précision, on utilisera préférentiellement la commande modinfo.
Exemple : obtenir les informations sur le module netlink_diag :
$ modinfo netlink_diag filename : /lib/modules/3.10 .0-937.10.1.el7.x86_64/kernel/net/netlink/netlink_diag.ko.xz alias: net-pf-16-proto-4-type-16 license: GPL retpoline: Y rhelversion: 7.6 srcversion: A37ABFC79F86F601B5F4FFA depends: intree: Y vermagic: 3.10 .0-937.10.1.el7.x86_64 SMP mod_unload modversions signer: CentOS Linux kernel signing key sig_key: 17:EA:5F:B9:16:4B:C2:26:55:5C:00:43:FA:D4:E5:86:CC:E8:A2:05 sig_hashalgo: sha256
De la même façon, au niveau du matériel, on peut aussi récupérer de l’information via la commande lshw. Comme la sortie de cette commande peut s’avérer très longue et volumineuse, on peut filtrer le résultat grâce à l’option -C (de catégorie) que l’on fait suivre d’un mot-clé, comme le montre l’exemple suivant :
# lshw -C bios
REMARQUE : nous verrons dans le chapitre suivant d’autres commandes, beaucoup plus proche du matériel, comme lspci, hwinfo, lsusb ou hdparm permettant de fournir des informations de performance et de statistiques sur les périphériques ou le matériel sous-jacent.