Le noyau de Linux a deux fonctions principales : contrôler l'accès aux périphériques physiques de l'ordinateur d'une part et programmer à quel moment et de quelle façon les processus vont interagir avec ces périphériques d'autre part. Le répertoire /proc/ — également appelé le système de fichiers proc — contient une hiérarchie de fichiers spéciaux qui représentent l'état actuel du noyau ; permettant ainsi aux applications et aux utilisateurs d'obtenir un aperçu du système du point du vue du noyau.
Le répertoire /proc/ contient de nombreuses informations relatives à la configuration matérielle du système et aux processus en cours d'exécution. De plus, certains des fichiers situés dans l'arborescence du répertoire /proc/ peuvent être manipulés par les utilisateurs ainsi que par les applications afin de transmettre des changements de configuration au noyau.
Sous Linux, toutes les données sont stockées en tant que fichiers. La plupart des utilisateurs sont familiers avec les deux principaux types de fichiers : texte et binaire. Mais le répertoire /proc/ contient un autre type de fichier nommé fichier virtuel. Telle est la raison pour laquelle on fait souvent référence à /proc/ en tant que système de fichiers virtuel.
Ces fichiers virtuels ont des qualités uniques. La plupart d'entre eux ont une taille égale à zéro octet ; pourtant, lorsqu'on les affiche, on constate qu'ils contiennent parfois une grande quantité d'informations. De plus, la plupart du temps, les paramètres concernant la date et l'heure des fichiers virtuels reflètent la date et l'heure actuelles, ce qui prouve qu'ils sont constamment mis à jour.
Des fichiers virtuels tels que /proc/interrupts, /proc/meminfo, /proc/mounts et /proc/partitions fournissent un aperçu du matériel d'un système à un moment donné. D'autres tels que le fichier /proc/filesystems et le répertoire /proc/sys/ fournissent des informations sur la configuration du système et sur les interfaces.
Dans un souci d'organisation, les fichiers qui contiennent des informations sur un sujet similaire sont groupés dans des répertoires et sous-répertoires virtuels. Par exemple, /proc/ide/ contient des informations se rapportant à tous les périphériques IDE. De même, les répertoires de processus contiennent des données concernant tous les processus en cours d'exécution sur le système.
En appliquant les commandes cat, more ou less aux fichiers du répertoire /proc/, les utilisateurs ont immédiatement accès à un grand nombre d'informations sur le système. Par exemple, pour afficher le type d'unité centrale dont dispose l'ordinateur, tapez cat /proc/cpuinfo et une sortie semblable à l'extrait ci-dessous s'affichera :
processor : 0 vendor_id : AuthenticAMD cpu family : 5 model : 9 model name : AMD-K6(tm) 3D+ Processor stepping : 1 cpu MHz : 400.919 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr bogomips : 799.53 |
Lors de l'affichage de différents fichiers virtuels du système de fichiers /proc/, certaines informations sont facilement compréhensibles alors que d'autres ne le sont pas. C'est en partie la raison poue laquelle il existe des utilitaires dont la fonction consiste à extraire des données de fichiers virtuels pour les afficher ensuite de façon compréhensible. Parmi ces utilitaires figurent par exemple : lspci, apm, free et top.
![]() | Remarque |
---|---|
Certains des fichiers virtuels du répertoire /proc/ ne peuvent être lus que par l'utilisateur root. |
D'une manière générale, la plupart des fichiers virtuels du répertoire /proc/ sont en lecture-seule. Toutefois, certains peuvent être utilisés pour régler des paramètres dans le noyau. C'est le cas en particulier des fichiers du sous-répertoire /proc/sys/.
Pour modifier la valeur d'un fichier virtuel, utilisez la commande echo et le signe supérieur (>) afin de réacheminer la nouvelle valeur vers le fichier. Par exemple, pour modifier votre nom d'hôte à la volée, tapez :
echo www.example.com > /proc/sys/kernel/hostname |
D'autres fichiers servent de commutateur binaire ou booléen. Par exemple, la saisie de cat /proc/sys/net/ipv4/ip_forward, renvoie comme sortie un 0 ou un 1. Le 0 indique que le noyau ne réachemine pas les paquets réseau. En utilisant la commande echo pour changer la valeur du fichier ip_forward en 1 afin que les paquets soient immédiatement réacheminés.
![]() | Astuce |
---|---|
La commande /sbin/sysctl permet également de modifier les paramètres du sous-répertoire /proc/sys/. Pour obtenir davantage d'informations sur cette commande, reportez-vous à la Section 5.4. |
Pour obtenir une liste de certains des fichiers de configuration du noyau qui sont disponibles dans /proc/sys/, consultez la Section 5.3.9.
Précédent | Sommaire | Suivant |
Ressources supplémentaires | Niveau supérieur | Fichiers de niveau supérieur dans le système de fichiers proc |