Hoje no trabalho um cliente teve rm -rf /dev
e acabou deletando dois arquivos /dev/shm
que forçaram seu site a não funcionar mais.
Pelo que aprendi anteriormente /dev
não é virtual, mas um colega técnico sugeriu reiniciar o servidor porque /dev
é virtual como /proc
. Com certeza, reiniciei o servidor e os arquivos que o cliente rm -rf estava lá.
Então, minha pergunta é; é /dev
virtual? É o tipo de virtual /proc
? Existe mais documentação sobre isso? Como posso restaurar os /dev
arquivos sem reiniciar o servidor?
Responder1
A resposta por muito tempo foi “mais ou menos”.
Atualmente a árvore de dispositivos Linux é gerenciada porudev
, um gerenciador de dispositivos de espaço de usuário que substituiu o devfs há vários anos. O udev preenche /dev com quaisquer nós de dispositivos que o sistema precisa, dependendo das regras configuradas em seus arquivos de configuração.
Nos sistemas Linux mais recentes, /dev está em um disco RAM temporário fornecido pordevtmpfs
. Você poderia chamá-los de virtuais.
Exemplo:
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=6109940k,nr_inodes=1527485,mode=755)
A única razão para nós de dispositivos reais em /dev hoje em dia é o ambiente de inicialização, antes do início do udev. Normalmente, apenas /dev/console
e /dev/null
são necessários no sistema de arquivos real, o que é suficiente para chegar ao ponto onde o udev pode ser iniciado. Em seguida, ele fornecerá todo o resto.