En plus de /proc, le noyau exporte également des informations vers un autre système de fichiers virtuel appelé sysfs. sysfs est utilisé par des programmes tels que udev pour accéder aux informations sur les périphériques et les pilotes de périphériques. La création de sysfs a aidé à nettoyer le système de fichiers proc car la plupart des informations matérielles ont été déplacées de proc vers sysfs.
Le système de fichiers sysfs est monté sur /sys. Les répertoires de niveau supérieur sont affichés. Voici une brève description de certains de ces répertoires :
/sys/bloquer
Ce répertoire contient des entrées pour chaque périphérique bloc du système. Les liens symboliques pointent vers le périphérique physique auquel le périphérique est mappé dans l'arborescence des périphériques physiques. Par exemple, les attributs pour le sda les disques résident dans le répertoire suivant :
# ls -l /sys/block/sda/ total 0 -r--r--r-- 1 root root 4096 Mar 24 13:03 alignment_offset lrwxrwxrwx 1 root root 0 Mar 24 13:04 bdi -> ../../../../../../../../virtual/bdi/8:0 -r--r--r-- 1 root root 4096 Mar 24 13:03 capability -r--r--r-- 1 root root 4096 Mar 24 13:03 dev lrwxrwxrwx 1 root root 0 Mar 24 13:04 device -> ../../../0:0:0:0 -r--r--r-- 1 root root 4096 Mar 24 13:03 discard_alignment -r--r--r-- 1 root root 4096 Mar 24 13:03 events -r--r--r-- 1 root root 4096 Mar 24 13:03 events_async -rw-r--r-- 1 root root 4096 Mar 24 13:03 events_poll_msecs -r--r--r-- 1 root root 4096 Mar 24 13:03 ext_range drwxr-xr-x 2 root root 0 Mar 24 13:04 holders -r--r--r-- 1 root root 4096 Mar 24 13:03 inflight drwxr-xr-x 2 root root 0 Mar 24 13:04 integrity drwxr-xr-x 2 root root 0 Mar 24 13:04 power drwxr-xr-x 3 root root 0 Mar 24 13:04 queue -r--r--r-- 1 root root 4096 Mar 24 13:03 range -r--r--r-- 1 root root 4096 Mar 24 13:03 removable -r--r--r-- 1 root root 4096 Mar 24 13:03 ro -r--r--r-- 1 root root 4096 Mar 24 13:03 size drwxr-xr-x 2 root root 0 Mar 24 13:04 slaves -r--r--r-- 1 root root 4096 Mar 24 13:03 stat lrwxrwxrwx 1 root root 0 Mar 24 13:04 subsystem -> ../../../../../../../../../class/block -rw-r--r-- 1 root root 4096 Mar 24 13:03 uevent
/sys/bus
Ce répertoire contient des sous-répertoires pour chaque type de bus physique pris en charge dans le noyau. Chaque type de bus a deux sous-répertoires :devices et chauffeurs . Le répertoire des périphériques répertorie les périphériques découverts sur ce type de bus. Le répertoire drivers contient des répertoires pour chaque pilote de périphérique enregistré avec le type de bus. Les paramètres du pilote peuvent être visualisés et manipulés. Par exemple, pour répertorier les pilotes des périphériques virtuels, saisissez :
# ls -lR /sys/bus/xen/drivers /sys/bus/xen/drivers: total 0 drwxr-xr-x. 2 root root 0 Mar 24 13:37 vbd drwxr-xr-x. 2 root root 0 Mar 24 13:37 vif /sys/bus/xen/drivers/vbd: total 0 --w-------. 1 root root 4096 Mar 24 13:40 bind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 module -> ../../../../module/xen_blkfront --w-------. 1 root root 4096 Mar 24 13:37 uevent --w-------. 1 root root 4096 Mar 24 13:40 unbind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 vbd-51792 -> ../../../../devices/vbd-51792 lrwxrwxrwx. 1 root root 0 Mar 24 13:40 vbd-768 -> ../../../../devices/vbd-768 /sys/bus/xen/drivers/vif: total 0 --w-------. 1 root root 4096 Mar 24 13:40 bind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 module -> ../../../../module/xen_netfront --w-------. 1 root root 4096 Mar 24 13:37 uevent --w-------. 1 root root 4096 Mar 24 13:40 unbind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 vif-0 -> ../../../../devices/vif-0
/sys/classe
Ce répertoire contient toutes les classes de périphériques enregistrées avec le noyau. Les classes d'appareils décrivent un type fonctionnel d'appareil. Les exemples incluent les périphériques d'entrée, les périphériques réseau et les périphériques de bloc.
/sys/appareils
Ce répertoire contient la hiérarchie globale des périphériques de tous les périphériques du système. Ce répertoire contient également un répertoire de plate-forme et un répertoire système. Le répertoire de la plate-forme contient des périphériques spécifiques à une plate-forme particulière, tels que des contrôleurs de périphérique. Le répertoire système contient des périphériques non périphériques tels que des processeurs et des APIC.
/sys/firmware
Ce répertoire contient des sous-répertoires avec des objets et des attributs de micrologiciel.
/sys/module
Ce répertoire contient des sous-répertoires pour chaque module chargé dans le noyau, par exemple :
# ls /sys/module/xen* /sys/module/xen_blkfront: coresize drivers holders initsize initstate notes parameters refcnt rhelversion sections srcversion taint uevent /sys/module/xen_netfront: coresize drivers holders initsize initstate notes parameters refcnt rhelversion sections srcversion taint uevent
/sys/alimentation
L'état d'alimentation du système peut être contrôlé à partir de ce répertoire. L'attribut disk contrôle la méthode par laquelle le système s'interrompt sur le disque. L'attribut d'état permet à un processus d'entrer dans un état de faible consommation.
L'utilitaire sysctl
L'utilitaire sysctl peut également être utilisé pour afficher ou modifier les valeurs des fichiers inscriptibles dans le répertoire /proc/sys. Pour afficher les paramètres actuels du noyau, saisissez :
# sysctl -a abi.vsyscall32 = 1 crypto.fips_enabled = 0 debug.exception-trace = 1 ...
Il s'agit des mêmes informations si chacun des fichiers était visualisé individuellement, par exemple :
# cat /proc/sys/abi/vsyscall32 1
La commande echo peut être utilisée pour attribuer des valeurs aux fichiers inscriptibles dans /proc/sys :
# echo 1 > /proc/sys/net/ipv4/ip_forward
La commande sysctl équivalente suit, affichant immédiatement le résultat de la modification :
# sysctl -w net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1
Les modifications apportées en utilisant à la fois echo et sysctl sont perdues lorsque le système est redémarré. Pour conserver les paramètres personnalisés, ajoutez-les au fichier /etc/sysctl.conf dossier. Les valeurs ajoutées à ce fichier prennent effet à chaque démarrage du système.
Comprendre le système de fichiers /proc