Como restaurar / usr / etc

1

Eu acidentalmente substituí o / usr / etc com um arquivo de configuração aleatório usando sudo cp ~/.nzbget /usr/etc .

Sim, eu sei que deveria ter feito o backup, etc., etc, etc ... Agora, as coisas importantes, eu vi extundelete , é possível recuperar a 'versão' anterior, ou seja: o real / usr / etc. / usr / etc não está em uma partição específica, então é parte de / que eu não consigo desmontar.

Qual é a melhor maneira de prosseguir?

    
por aSystemOverload 22.12.2014 / 21:13

1 resposta

4

/usr/etc geralmente não é usado na maioria dos sistemas. Espera-se que as configurações para programas de gerenciadores de pacotes e assim por diante cheguem a /etc , enquanto as configurações para programas personalizados (compilados manualmente) devem ir para /usr/local/etc .

A única vez em que você precisa de /usr/etc é quando você compila manualmente um programa com --prefix=/usr , nesse caso ele instalará seus arquivos de configuração em /usr/etc . Se você nunca instalou nada sob essa condição, esse diretório nunca existiu.

Se ele existisse, seu comando não o teria sobrescrito: em vez disso, ele teria enviado ~/.nzbget . Você teria, portanto, /usr/etc/.nzbget . Se .nzbget for um diretório, então seu comando cp deve ter falhado com ...

cp: ommiting directory '~/.nzbget'.

... já que não é possível copiar diretórios a menos que você use o comutador recursivo ( -R ). Aqui, novamente, ele teria copiado este diretório dentro /usr/etc , não o sobrescrito. Sob nenhuma circunstância um arquivo poderia substituir um diretório, uma vez que isso provavelmente corromperia o sistema de arquivos com nós fictícios (os arquivos que estavam nesse diretório teriam caminhos quebrados). O kernel em si não permite isso.

Se você tiver agora um arquivo /usr/etc , você acabou de criá-lo (com o conteúdo de ~/.nzbget ). Sinta-se à vontade para removê-lo (isso exigirá privilégios de root se você copiou o arquivo usando-os);)

    
por 22.12.2014 / 21:29