sysfs(5)

NOM
sysfs – Système de fichiers pour l’exportation d’objets du noyau

DESCRIPTION
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.

  Fichiers et répertoires
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 :

    coresize
        [Documentation à venir]

    initsize
        [Documentation à venir]

    initstate
        [Documentation à venir]

    refcnt
        [Documentation à venir]

    srcversion
        [Documentation à venir]

    taint
        [Documentation à venir]

    uevent
        [Documentation à venir]

    version
        [Documentation à venir]

    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]

STANDARDS
Linux.

HISTORIQUE
Linux 2.6.0.

NOTES
Cette page de manuel est incomplète, peut être imprécise, et devrait être mise à jour très souvent.

VOIR AUSSI
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

TRADUCTION
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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.