Como eu edito um arquivo em / proc que pode ser visto com cat, mas não é editável por mousepad e abiword?

1

Como a pergunta diz, eu preciso editar meu arquivo /proc/acpi/wakeup , mas quando eu abro com qualquer editor de texto, ele mostra o arquivo em branco. O comando cat , por outro lado, exibe o conteúdo correto do arquivo no terminal. Quando eu navego para esse arquivo no gerenciador de arquivos, ele diz que o tamanho é 0 bytes. Estou usando o Xubuntu 15.04. Estou completamente confuso.

    
por Reloader 30.06.2015 / 18:39

1 resposta

3

/proc ( manpage , documentação do kernel ) é um sistema de arquivos virtual (como é o caso de /sys - documentação do kernel ). Arquivos em /proc não são arquivos reais , mas formas de acessar informações e configurações do kernel. Você não deve usar um editor para editar arquivos em /proc , mas escrever diretamente para esses arquivos:

sudo sh -c 'echo foo > /proc/some/file'
echo foo | sudo tee /proc/some/file

Quando você tenta ler ou escrever a partir dele, o kernel converte as ações para chamadas do sistema internamente e faz a coisa certa. Alguns editores ainda podem ver o conteúdo (tente o Vim, por exemplo), mas escrever para ele é uma história diferente.

Para uma classe especial de arquivos, aqueles em /proc/sys ( documentação do kernel , Arch Wiki ), há outra alternativa. Você pode usar os arquivos de configuração em /etc/sysctl.conf e /etc/sysctl.d/*.conf para fazer alterações permanentes em seus valores. Um arquivo /proc/sys/foo/bar pode ser definido usando uma chave foo.bar em um desses arquivos.

Por exemplo, /proc/sys/vm/swappiness pode ser definido adicionando /etc/sysctl.d/90-swappiness.conf contendo:

vm.swappiness = 10

e em execução:

service procps start

Você também pode fazer alterações isoladas (que não sobreviverão à próxima reinicialização) usando o sysctl comando diretamente:

sudo systecl -w vm.swappiness = 10
    
por muru 30.06.2015 / 18:47