É possível criar um diretório e arquivo dentro de / proc / sys?

10

Estou executando o CentOS 6.2 e preciso criar um subdiretório chamado "crypto" dentro /proc/sys. Dentro /proc/sys/crypto, eu preciso criar um arquivo nomeado testque contém o valor "1".

Idinahui
fonte
De acordo com as outras duas respostas, /proc/é um sistema de arquivos virtual. /proc/sys/cryptodeve aparecer magicamente no instante em que o kernel carrega um driver que o utiliza. Eu suspeito que você realmente esteja perdendo alguma outra coisa - você pode elaborar o que está fazendo e pedir para criar esse arquivo?
Shadur

Respostas:

7

/procé um sistema de arquivos virtual. Você precisará escrever um módulo do kernel que crie as estruturas apropriadas dentro dele.

Ignacio Vazquez-Abrams
fonte
Você poderia me dar mais detalhes sobre isso, eu não sou uma pessoa linux que você tem solução passo a passo? Aposto que apenas monta algum outro diretório então?
2
O IBM Developerworks ainda tem um tutorial sobre como fazer isso: ibm.com/developerworks/linux/library/l-proc/index.html Eu sei que isso funcionou, uma vez, não consegue se lembrar se era o kernel 2.4 ou 2.6 ...
Bruce Ediger
7

A resposta de Ignacio Vazquez-Abrams está correta : arquivos abaixo /proce /syssão fornecidos pelo kernel. Se você deseja adicionar um arquivo lá, escreva um módulo do kernel. Você pode encontrar uma apresentação ligeiramente datada da /procinterface de programação em Linux Device Drivers 3rd ed. CH. 4 .

Tecnicamente, é possível pular os bastidores para fazer um arquivo aparecer /proc/sys/crypto(ou em qualquer outro lugar, na verdade). Faça uma montagem de ligação de /proc/sys/cryptopara um diretório intermediário e faça uma montagem de união do diretório intermediário e um diretório de sobreposição novamente /proc/sys/crypto. Aqui está um exemplo usando o 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: Eu me isento de qualquer responsabilidade por danos no sistema ou no cérebro causados ​​por experiências com esse material. Os comandos acima são perfeitamente seguros, mas mexer com outras áreas /syse /procpode causar um comportamento estranho.

Gilles 'SO- parar de ser mau'
fonte