1.  Comment accéder au système de fichiers /proc

1.1.  Utiliser “cat” et “echo”

Utiliser "cat" et "echo" est le moyen le plus simple d'accéder au système de fichiers /proc, mais certains pré-requis sont nécessaires à cela

  • Le système de fichiers /proc doit être rendu disponible dans le noyau, ce qui signifie qu'à la compilation le commutateur suivant doit avoir été positionné

CONFIG_PROC_FS=y

   
  • Le système de fichiers /proc doit être auparavant monté, ce qui peut être testé en faisant

# mount | grep "type proc"
none on /proc type proc (rw)

   
  • Vous devez pouvoir lire le système de fichiers /proc et parfois aussi y écrire (normalement seul root le peut)

Normalement, seules les entrées dans /proc/sys/* sont en écriture, les autres sont en lecture seule et servent seulement à la récupération de l'information.

1.1.1.  Récupérer une valeur

La valeur de l'entrée peut être récupérée en utilisant "cat":

# cat /proc/sys/net/ipv6/conf/all/forwarding
0

    

1.1.2.  Fixer une valeur

Une nouvelle valeur peut être fixée (si l'entrée est en écriture) en utilisant echo:

# echo "1" >/proc/sys/net/ipv6/conf/all/forwarding

    

1.2.  Utiliser “sysctl”

Utiliser le programme "sysctl" pour accéder aux commutateurs du noyau est une méthode moderne aujourd'hui. Vous pouvez aussi l'utiliser même si le système de fichiers /proc n'est pas monté. Mais vous n'avez alors accès qu'à /proc/sys/*!

Le programme “sysctl” est compris dans le paquetage “procps” (sur le système Red Hat).

  • L'interface sysctl doit être disponible dans le noyau, ce qui signifie qu'à la compilation le commutateur suivant a à être fixé

CONFIG_SYSCTL=y

   

1.2.1.  Récupérer une valeur

La valeur de l'entrée peut maintenant être récupérée:

# sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 0

    

1.2.2.  Fixer une valeur

Une nouvelle valeur peut être fixée (si l'entrée est en écriture):

# sysctl -w net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding = 1

    

Note: n'utilisez pas d'espaces autour du signe "=" lorsque vous fixez les valeurs. De même pour une valeur multiple sur une même ligne, mettez des guillemets comme ceci

# sysctl -w net.ipv4.ip_local_port_range="32768 61000"
net.ipv4.ip_local_port_range = 32768 61000

    

1.2.3.  En plus

Note: il existe dans la pratique certaines versions de sysctl qui affichent “/” au lieu de “.”

Pour plus de détails jetez un coup d'oeil dans la page de manuel de sysctl.

une astuce: pour une recherche rapide parmi les réglages, utiliser “-a” (afficher toutes les entrées) en conjonction avec “grep”.

1.3.  Les types de valeur trouvés dans le système de fichiers /proc

IL y a plusieurs formats observés dans le système de fichiers /proc:

  • BOOLÉEN: simple “0” (faux) ou “1” (vrai)

  • ENTIER: une valeur entière, peut être également non signée

  • Des lignes plus sophistiquées avec plusieurs valeurs: parfois un en-tête est aussi affiché, sinon, jetez un coup d'oeil aux sources du noyau pour savoir quel sens possède telle ou telle valeur...

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:36