Est-il possible de créer un répertoire et un fichier dans / proc / sys?


10

J'utilise CentOS 6.2 et j'ai besoin de créer un sous-répertoire nommé "crypto" à l'intérieur /proc/sys. À l'intérieur /proc/sys/crypto, je dois créer un fichier nommé testqui contient la valeur "1".


Selon les deux autres réponses, /proc/est un système de fichiers virtuel. /proc/sys/cryptodevrait apparaître comme par magie à l'instant où le noyau charge un pilote qui l'utilise. Je soupçonne que vous manquez quelque chose d'autre - pouvez-vous expliquer ce que vous faites qui vous dit de créer ce fichier?
Shadur

Réponses:


7

/procest un système de fichiers virtuel. Vous devrez écrire un module de noyau qui crée les structures appropriées en son sein.


Pourriez-vous me donner plus de détails à ce sujet, je ne suis pas une personne Linux, vous avez une solution étape par étape? Je parie qu'il monte juste un autre répertoire alors?

2
IBM Developerworks a même un didacticiel sur la façon de procéder: ibm.com/developerworks/linux/library/l-proc/index.html Je sais que cela a fonctionné, il était une fois, je ne me souviens pas s'il s'agissait d'un noyau 2.4 ou 2.6 ...
Bruce Ediger

7

La réponse d'Ignacio Vazquez-Abrams est correcte : les fichiers sous /procet /syssont fournis par le noyau. Si vous souhaitez y ajouter un fichier, écrivez un module noyau. Vous pouvez trouver une présentation légèrement datée de l' /procinterface de programmation dans Linux Device Drivers 3rd ed. ch. 4 .

Techniquement, il est possible de sauter à travers des cerceaux pour faire apparaître un fichier /proc/sys/crypto(ou n'importe où ailleurs, vraiment). Effectuez un montage de liaison à partir /proc/sys/cryptod'un répertoire intermédiaire et effectuez à nouveau un montage union du répertoire intermédiaire et d'un répertoire de superposition /proc/sys/crypto. Voici un exemple utilisant unionfs-fuse .

# mkdir /tmp/original /tmp/overlay
# mount --bind /proc/sys/crypto /tmp/original
# unionfs-fuse -o nonempty /tmp/overlay=RW:/tmp/original=RO /proc/sys/crypto
# echo hello >/proc/sys/crypto/test
# cat /proc/sys/crypto/test
hello
# umount /proc/sys/crypto
# umount /proc/sys/crypto
# cat /tmp/overlay/test
hello

Remarque: je décline toute responsabilité pour les dommages au système ou au cerveau causés par l'expérimentation de ce produit. Les commandes ci-dessus sont parfaitement sûres, mais jouer avec d'autres domaines /syset /procpeut provoquer un comportement étrange.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.