È possibile creare una directory e un file all'interno di / proc / sys?


10

Sto eseguendo CentOS 6.2 e ho bisogno di creare una sottodirectory denominata "crypto" all'interno /proc/sys. All'interno /proc/sys/crypto, devo creare un file denominato testche contiene il valore "1".


Secondo le altre due risposte, /proc/è un filesystem virtuale. /proc/sys/cryptodovrebbe apparire magicamente nell'istante in cui il kernel carica un driver che lo utilizza. Ho il sospetto che in realtà manchi qualcos'altro: puoi approfondire cosa stai facendo che ti dice di creare quel file?
Shadur,

Risposte:


7

/procè un filesystem virtuale. Dovrai scrivere un modulo del kernel che crei le strutture appropriate al suo interno.


Potresti darmi maggiori dettagli su di esso, non sono una persona Linux che hai una soluzione passo dopo passo? Scommetto che monta qualche altra directory allora?

2
IBM Developerworks ha anche un tutorial su come eseguire questa operazione: ibm.com/developerworks/linux/library/l-proc/index.html So che funzionava, una volta, non ricordo se fosse il kernel 2.4 o 2.6 ...
Bruce Ediger,

7

La risposta di Ignacio Vazquez-Abrams è corretta : i file sotto /proce /syssono forniti dal kernel. Se vuoi aggiungere un file lì, scrivi un modulo del kernel. È possibile trovare una presentazione leggermente datata /procdell'interfaccia di programmazione in Linux Device Driver 3rd ed. ch. 4 .

Tecnicamente, è possibile saltare attraverso i cerchi per far apparire un file /proc/sys/crypto(o altrove, davvero). Effettuare un mount bind da /proc/sys/cryptouna directory di staging e creare nuovamente un mount unione della directory di staging e una directory overlay /proc/sys/crypto. Ecco un esempio usando 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

Nota: declinerò ogni responsabilità per danni al sistema o al cervello causati dalla sperimentazione di queste cose. I comandi sopra sono perfettamente sicuri, ma fare confusione con altre aree /syse /procpossono causare comportamenti strani.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.