Le répertoire /proc contient des fichiers virtuels qui offrent des informations sur l'état courant du noyau Linux en cours d'exécution. Cela permet aux utilisateurs de scruter une vaste gamme d'informations, fournies de manière efficace du point de vue du noyau au sein du système. En outre, les utilisateurs peuvent utiliser le répertoire /proc pour communiquer des changements de configuration particuliers au noyau.
Sous Linux, tout est stocké dans des fichiers. La plupart des utilisateurs sont d'ailleurs familiers avec les deux types de fichier principaux, soit texte et binaire. Cependant, le répertoire /proc contient des fichiers qui ne font partie d'aucun système de fichiers associé à vos disques durs, CD-ROM ou tout autre périphérique physique de stockage branché à votre système (sauf, pourrait-on dire, votre mémoire vive). Ces fichiers font plutôt partie d'un système de fichiers virtuels, activé ou désactivé dans le noyau Linux lorsqu'il est compilé.
Par défaut, lorsqu'un système Red Hat Linux démarre, une ligne dans /etc/fstab s'occupe du montage du système de fichiers /proc.
none /proc proc defaults 0 0 |
Pour déterminer si /proc est actuellement monté, on peut entrer la commande mount sans argument. Cela a pour effet d'afficher tous les montages courants ; une ligne ressemblant à la suivante devrait apparaître dans la liste si /proc est monté :
none on /proc type proc (rw) |
Si vous voulez monter manuellement /proc, entrez cette commande :
mount -t proc proc /proc |
Le système de fichiers virtuels /proc est un interrupteur dans la configuration du noyau Linux, un interrupteur activé par défaut. Si, pour une raison ou une autre, vous voulez désactiver complètement /proc sur votre système, désélectionnez /proc file system support dans la section de configuration Filesystem de config, menuconfig ou xconfig lorsque vous reconstruisez votre noyau ou bien, vous pouvez simplement commenter la ligne /proc dans /etc/fstab pour empêcher qu'il ne soit monté.
La meilleure façon de comprendre /proc en tant que système de fichiers virtuels est de visualiser la liste de ses fichiers. Ce qui suit n'est qu'un extrait de cette liste :
[root@bleach /]# ls -l /proc -r--r--r-- 1 root root 0 May 3 11:42 cmdline -r--r--r-- 1 root root 0 May 3 11:42 cpuinfo -r--r--r-- 1 root root 0 May 3 11:42 devices -r--r--r-- 1 root root 0 May 3 11:42 dma dr-xr-xr-x 2 root root 0 May 3 11:42 driver -r--r--r-- 1 root root 0 May 3 11:42 execdomains -r--r--r-- 1 root root 0 May 3 11:42 fb -r--r--r-- 1 root root 0 May 3 11:42 filesystems [root@bleach /]# |
Les fichiers virtuels /proc ont des qualités intéressantes. D'abord, la plupart d'entre eux ont une taille de 0 octet. Toutefois, lorsqu'ils sont visualisés, ils contiennent pas mal d'informations. De plus, la plupart d'entre eux ont une date et une heure qui reflètent le moment présent, ce qui signifie qu'ils changent continuellement.
De nombreux programmes utilisent le système de fichiers /proc pour obtenir les paramètres du système de façon à pouvoir offrir de meilleures performances et plus de fonctions.
Puis, l'administrateur système peut utiliser /proc comme méthode simple d'accès aux informations sur l'état du noyau, les attributs de l'ordinateur, l'état des processus individuels, etc. La plupart des fichiers dans ce répertoire, tels que interrupts, meminfo, mounts et partitions, fournissent un aperçu actuel de l'environnement d'un système. Enfin, pour faciliter davantage tout cela, les fichiers qui contiennent des informations sur un même sujet sont regroupés en répertoires et sous-répertoires virtuels, tels que /proc/ide.
En utilisant les commandes cat, more ou less combinées aux fichiers dans /proc, vous avez immédiatement accès à une énorme source d'informations sur le système. Par exemple, pour savoir comment les registres de mémoire sont assignés actuellement sur votre ordinateur :
[root@bleach /]# cat /proc/iomem 00000000-0009fbff : System RAM 0009fc00-0009ffff : reserved 000a0000-000bffff : Video RAM area 000c0000-000c7fff : Video ROM 000f0000-000fffff : System ROM 00100000-03ffcfff : System RAM 00100000-002557df : Kernel code 002557e0-0026c80b : Kernel data 03ffd000-03ffefff : ACPI Tables 03fff000-03ffffff : ACPI Non-volatile Storage dc000000-dfffffff : S3 Inc. ViRGE/DX or /GX e3000000-e30000ff : Lite-On Communications Inc LNE100TX e3000000-e30000ff : eth0 e4000000-e7ffffff : Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge ffff0000-ffffffff : reserved [root@bleach /]# |
Ou (ce qui est encore plus utile), si vous vous connectez à un ordinateur inconnu et désirez connaître son type d'unité centrale et sa vitesse, vous pouvez utiliser la commande suivante :
[root@bleach /]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 6 model name : Celeron (Mendocino) stepping : 0 cpu MHz : 416.537 cache size : 128 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov bogomips : 830.66 [root@bleach ide]# |
Comme vous pouvez le constater, certaines de ces informations parlent d'elles-mêmes, alors que d'autres semblent écrites en un code étrange. Certains fichiers /proc n'ont aucun sens sans légende pour vous guider. Dans de nombreux cas il existe des utilitaires sur le système, tels que free et top, qui prennent des données dans ces fichiers et les affichent pour vous de façon à ce que vous puissiez les comprendre.
Vous pouvez constater une autre qualité intéressante des fichiers virtuels lorsque vous les visualisez avec la commande more, qui vous indique généralement votre position dans le fichier et le pourcentage du fichier que vous voyez. Ce pourcentage augmente normalement au fur et à mesure que vous parcourez un long fichier. Cependant, lorsque vous visualisez un fichier virtuel /proc, le pourcentage ne change pas, il demeure toujours sur 0%.
Quelques-uns des fichiers dans /proc sont paramétrés pour n'être lus que par le super-utilisateur, vous devrez donc vous connectez en tant que super-utilisateur avant de pouvoir essayer de les lire.
![]() | Attention |
|---|---|
Assurez-vous de ne pas visualiser le fichier kcore dans /proc. Ce fichier virtuel contient une image de la mémoire du noyau et le contenu du fichier aura un effet bizarre sur votre terminal. Vous devrez peut-être entrer reset après avoir appuyé sur les touches Ctrl-C pour revenir à une invite de ligne de commande normale. |
| Précédent | Sommaire | Suivant |
| Différences du processus de démarrage d'autres architectures | Niveau supérieur | Les fichiers du niveau supérieur dans /proc |