Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Linux
  3. Pseudo
Extrait - Linux Administration avancée - Maintenance et exploitation de vos serveurs (3e édition)
Extraits du livre
Linux Administration avancée - Maintenance et exploitation de vos serveurs (3e édition) Revenir à la page d'achat du livre

Pseudo-systèmes de fichiers

procfs

1. Présentation

Le pseudo-système de fichiers procfs (process file system) est dynamiquement mis à jour par le noyau. Il est monté pour qu’il soit accessible sur le dossier /proc. Bien qu’il soit non vide, il affiche une taille de 0 Kio :

# ls -dl /proc  
dr-xr-xr-x 110 root root 0 juil. 28 16:14 /proc 

En effet, le concept de taille de fichier n’a pas de sens pour procfs puisqu’il occupe uniquement une quantité limitée de mémoire vive.

Le dossier /proc est utilisé pour accéder aux informations du noyau qui est en cours d’exécution. Vous pouvez ainsi consulter en temps réel des informations sur le matériel, le système, le réseau, les processus, etc. Il est possible de changer la configuration du noyau en écrivant dans certains fichiers stockés dans /proc.

2. Principaux fichiers de /proc

/proc est organisé en dossiers et sous-dossiers virtuels et rassemble les fichiers par thème similaire :

[root@system2 ~]# ls /proc  
 
 
1     19    285  517  721          filesystems   partitions 
10    1927  286  59   725          fs            sched_debug 
11    1931  287  602  728          interrupts    schedstat 
1272  2     29   603  743          iomem         scsi 
1274  20    3    604  8            ioports       self 
1275  2002  30   606  846          irq           slabinfo 
1277  2003  31   631  9            kallsyms      softirqs 
13    2004  32   632  91           kcore         stat 
1338  2036  387  636  acpi         keys          swaps 
1339  21    388  641  asound       key-users     sys ...

sysfs

1. Présentation

Introduit par le noyau Linux 2.6, le pseudo-système de fichiers sysfs est, comme procfs, un système de fichiers virtuel monté dans le dossier /sys. Il n’occupe donc pas d’espace disque et sa taille est de 0 Kio :

[root@system2 ~]# ls -ld /sys  
drwxr-xr-x 13 root root 0 août   3 10:26 /sys 

Du fait que procfs était encombré d’une multitude d’informations non liées aux processus, sysfs a été conçu pour exporter depuis l’espace noyau (anneau 0) vers l’espace utilisateur (anneau 3) des informations sur les périphériques et leurs pilotes.

2. Principaux fichiers de /sys

Le premier niveau /sys contient les dossiers suivants :

[root@system2 ~]# ls /sys 
block   bus            class      dev      devices   firmware 
fs      hypervisor     kernel     module   power 

a. /sys/block

Il contient les informations sur les périphériques de blocs :

[root@system2 ~]# ls /sys/block  
dm-0 dm-1 dm-2 dm-3 sda sdb sdc sr0 

Vous trouvez par exemple, dans chaque sous-dossier, un fichier /sys/block/<disque>/stat qui affiche les statistiques d’E/S (I/O) du disque :

[root@system2 ~]# cat /sys/block/dm-0/stat  
   24113    0    551642    249092    12764    0    263840 
   532832   0    88828     781920 

/sys/block/<disque>/<partition>/stat affiche les statistiques E/S de la partition. Le format du fichier est identique à celui du disque.

b. /sys/bus

Il contient des dossiers qui représentent comment les périphériques sont connectés aux différents bus :

[root@system2 ~]# ls /sys/bus  
ac97  cpu  iio  node  pnp  thunderbolt  acpi  edac  ishtp  nvmem  scsi 
usb  clockevents  event_source  machinecheck  pci  serio  usb-serial 
clocksource  hid  mdio_bus  pci_express  snd_seq  workqueue  container 
i2c  memory  platform  spi  xen 

c. /sys/class

Il contient une liste de dossiers qui montrent les périphériques regroupés...

Exercice

L’objectif est de modifier de façon permanente la gestion du swap.

1. Ouvrez une session en tant que super-utilisateur sur la machine virutelle system1 (Debian 9) ou system2 (CentOS 7).

2. Quel est le paramètre du noyau Linux qui contrôle la quantité de données qui doit être conservée en mémoire vive ou mise dans le swap ? Affichez sa valeur.

3. Modifiez la valeur de ce paramètre à 10. Veillez à ce que cette modification soit permanente. Redémarrez le système et vérifiez.

4. Paramétrez le redémarrage automatique en cas de « kernel panic ». Le temps avant redémarrage de la machine doit être de 5 secondes.