sysfs – Système de fichiers pour
l’exportation d’objets du noyau
Le système de fichiers sysfs est un
pseudo-système de fichiers fournissant une interface aux structures
de données du noyau (plus précisément, les fichiers et
les répertoires dans sysfs fournissent une vue des structures
kobject définies à l’intérieur du noyau).
Les fichiers sous sysfs fournissent des informations sur les
périphériques, les modules du noyau, les systèmes de
fichiers et d’autres composants du noyau.
Le système de fichiers sysfs est communément
monté sur /sys. Normalement, il est monté
automatiquement par le système, mais peut l’être aussi
manuellement en utilisant une commande telle que :
mount -t sysfs sysfs /sys
Bon nombre de fichiers du système de fichiers sysfs
sont en lecture seule, mais certains sont éditables, permettant de
modifier les variables du noyau. Pour éviter des redondances, les
liens symboliques sont abondamment utilisés pour des entrées
dans l’arbre du système de fichiers.
La liste suivante décrit quelques fichiers et
répertoires dans la hiérarchie /sys.
- /sys/block
- Ce sous-répertoire contient un lien symbolique pour chaque
périphérique en mode bloc qui a été
découvert dans le système. Les liens symboliques pointent
vers les répertoires correspondants dans /sys/devices.
- /sys/bus
- Ce répertoire contient un sous-répertoire pour chacun des
types de bus du noyau. Dans chacun de ces répertoires deux
sous-répertoires existent :
- devices
- ce sous-répertoire contient des liens symboliques vers les
entrées dans /sys/devices qui correspondent aux
périphériques découverts sur ce bus ;
- drivers
- ce sous-répertoire contient un sous-répertoire par chaque
pilote de périphérique qui est chargé sur ce
bus.
- /sys/class
- Ce sous-répertoire contient une seule couche de
sous-répertoires supplémentaires pour chacune des classes de
périphérique qui ont été enregistrées
sur le système (par exemple, terminaux, périphériques
réseau, périphériques en mode bloc,
périphériques graphiques, périphériques
audio, etc.). Dans chacun de ces sous-répertoires, des liens
symboliques existent pour chacun des périphériques de cette
classe. Ces liens symboliques font référence aux
entrées dans le répertoire /sys/devices.
- /sys/class/net
- Chacune des entrées dans ce répertoire est un lien
symbolique représentant un des périphériques
réseau réel ou virtuel qui sont visibles dans
l’espace de noms réseau du processus accédant
à ce répertoire. Chacun de ces liens symboliques fait
référence à une entrée dans le
répertoire /sys/devices.
- /sys/dev
- Ce répertoire contient deux sous-répertoires block/
et char/, correspondant, respectivement, aux
périphériques en mode bloc et à ceux en mode
caractère du système. Dans chacun de ces
sous-répertoires des liens symboliques existent avec des noms de la
forme ID_majeur:ID_mineur, où les valeurs d’ID
correspondent aux ID majeur et mineur d’un
périphérique particulier. Chaque lien symbolique pointe vers
le répertoire sysfs pour un périphérique. Les
liens symboliques dans /sys/dev fournissent ainsi un moyen facile
pour rechercher l’interface sysfs en utilisant les ID de
périphérique renvoyés par un appel à
stat(2) (ou similaire).
- La session d’interpréteur suivante montre un exemple de
/sys/dev :
-
$ stat -c "%t %T" /dev/null
1 3
$ readlink /sys/dev/char/1\:3
../../devices/virtual/mem/null
$ ls -Fd /sys/devices/virtual/mem/null
/sys/devices/virtual/mem/null/
$ ls -d1 /sys/devices/virtual/mem/null/*
/sys/devices/virtual/mem/null/dev
/sys/devices/virtual/mem/null/power/
/sys/devices/virtual/mem/null/subsystem@
/sys/devices/virtual/mem/null/uevent
- /sys/devices
- Ce répertoire contient une représentation du système
de fichiers de l’arbre des périphériques du noyau qui
est une hiérarchie de structures device dans le noyau.
- /sys/firmware
- Ce sous-répertoire contient des interfaces pour voir et manipuler
des objets et des attributs spécifiques au microprogramme.
- /sys/fs
- Ce répertoire contient des sous-répertoires pour certains
systèmes de fichiers. Un système de fichiers aura un
sous-répertoire ici seulement s’il choisit explicitement de
le créer.
- /sys/fs/cgroup
- Conventionnellement ce répertoire est utilisé comme point de
montage pour un système de fichiers tmpfs(5) contenant des
points de montage pour des systèmes de fichiers
cgroups(7).
- /sys/fs/smackfs
- Ce répertoire contient les fichiers de configuration pour les
modules SMACK LSM. Consulter le fichier des sources du noyau
Documentation/admin-guide/LSM/Smack.rst.
- /sys/hypervisor
- [À documenter]
- /sys/kernel
- Ce sous-répertoire contient divers fichiers et
sous-répertoires qui fournissent des informations sur le noyau en
cours de fonctionnement.
- /sys/kernel/cgroup/
- Pour des informations sur les fichiers de ce répertoire, consulter
cgroups(7).
- /sys/kernel/debug/tracing
- C’est le point de montage du système de fichiers
tracefs utilisé par la fonction ftrace du noyau (pour
des informations sur ftrace, consulter le fichier des sources du
noyau Documentation/trace/ftrace.txt).
- /sys/kernel/mm
- Ce sous-répertoire contient divers fichiers et
sous-répertoires qui fournissent des informations à propos
du sous-système de gestion de la mémoire par le noyau.
- /sys/kernel/mm/hugepages
- Ce sous-répertoire contient un sous-répertoire pour chacune
des tailles de page large que le système prend en charge. Le nom de
sous-répertoire indique la taille de page large (par exemple,
hugepages-2048kB). Dans chacun de ces sous-répertoires se
trouve un ensemble de fichiers qui peuvent être utilisés
pour voir et (dans certains cas) modifier les réglages
associés à cette taille de page large. Pour des informations
complémentaires, consulter le fichier des sources du noyau
Documentation/admin-guide/mm/hugetlbpage.rst.
- /sys/module
- Ce sous-répertoire contient un sous-répertoire pour chaque
module qui est chargé dans le noyau. Le nom de chaque
sous-répertoire est le nom du module. Dans chacun des
sous-répertoires, les fichiers suivants peuvent être
présents :
- Dans chacun des sous-répertoires, les sous-répertoires
suivants peuvent être présents :
- drivers
- [À documenter]
- holders
- [À documenter]
- notes
- [À documenter]
- parameters
- Ce répertoire contient un fichier pour chaque paramètre de
module, chaque fichier contenant la valeur du paramètre
correspondant. Certains de ces fichiers sont éditables, permettant
la modification de la valeur.
- sections
- Ce sous-répertoire contient des fichiers comportant des
informations sur les sections de module. Ces informations sont
principalement utilisées à titre de débogage.
- [Documentation à venir]
- /sys/power
- [À documenter]
Le système de fichiers sysfs est apparu dans
Linux 2.6.0.
Le système de fichiers sysfs est spécifique
à Linux.
Cette page de manuel est incomplète, possiblement inexacte,
et fait partie du genre de document à mettre à jour
très souvent.
proc(5), udev(7)
P. Mochel. (2005). The sysfs filesystem. Exposé lors
du Symposium Linux à Ottawa en 2005.
Le fichier des sources du noyau
Documentation/filesystems/sysfs.txt et divers autre fichiers dans
Documentation/ABI et Documentation/*/sysfs.txt
La traduction française de cette page de manuel a
été créée par Christophe Blaess
<https://www.blaess.fr/christophe/>, Stéphan Rafin
<stephan.rafin@laposte.net>, Thierry Vignaud
<tvignaud@mandriva.com>, François Micaux, Alain Portal
<aportal@univ-montp2.fr>, Jean-Philippe Guérard
<fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh)
<jean-luc.coulon@wanadoo.fr>, Julien Cristau
<jcristau@debian.org>, Thomas Huriaux
<thomas.huriaux@gmail.com>, Nicolas François
<nicolas.francois@centraliens.net>, Florentin Duneau
<fduneau@gmail.com>, Simon Paillard
<simon.paillard@resel.enst-bretagne.fr>, Denis Barbier
<barbier@debian.org> et David Prévot
<david@tilapin.org>
Cette traduction est une documentation libre ; veuillez
vous reporter à la
GNU General
Public License version 3 concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page
de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.