GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comprendre le système de fichiers sysfs (/sys) sous Linux

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


Cent OS
  1. Comprendre le système de fichiers Btrfs dans Fedora Linux

  2. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  3. Comprendre le répertoire /etc/xinetd.d sous Linux

  4. Comprendre le fichier /etc/inittab sous Linux

  5. Comprendre le fichier /etc/rsyslog.conf pour configurer la journalisation système

Introduction au système de fichiers Linux

Comprendre le fichier /etc/passwd

Comprendre le fichier /etc/shadow

Le fichier Hosts sous Linux

Comprendre le fichier /etc/fstab sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions