15/11/2024

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.

author avatar
Philippe PIERRE
A exercé de nombreuses années en tant qu'administrateur de base de données et comme administrateur Système Unix/Linux. Il a enseigné les réseaux au CNAM (Paris). Aujourd'hui, employé en tant qu'ingénieur infrastructure, au sein d'un laboratoire pharmaceutique et administrant un cluster de calculs HPC, il connaît parfaitement les environnements GNU/Linux dans le cadre d'une entreprise et des systèmes de haute disponibilité. Il aime partager son expérience.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail