recuperação completa de /etc/do git

recuperação completa de /etc/do git

Eu tenho um servidor CentOS 6.9.

O diretório completo /etcestava sob controle de versão.

Eu acidentalmente executei 'git rm -R' nele. O servidor parou de funcionar imediatamente, minha sessão ssh foi perdida.

Consegui ter um console ip conectado ao servidor e inicializei a partir de usb com um live linux, executei o 'git reset --hard'.

Agora o diretório index/working está limpo. Reiniciei o sistema, mas ainda não funciona. ele responde ao ping, mas ainda não consigo fazer ssh.

No console IP, não consigo nem fazer login, depois de digitar qualquer usuário e ele pede usuário novamente.

No Linux de recuperação, verifiquei os erros /var/log/boot.log- o primeiro erro é relacionado ao iptables-restore

error while loading shared libraries libip4tc.so.0 : cannot open shared object file: No such file or directory

O próximo é com rsyslog.d

CONFIG ERROR: could not interpret master config file '/etc/rsyslog.conf'

O arquivo está claramente lá se eu verificar na recuperação do Linux ao vivo. Suspeito de algum problema de permissão, mas não faço ideia.

Qualquer ajuda será apreciada. Obrigado.

Responder1

A propriedade e as permissões provavelmente estão erradas. Como você não os estava rastreando, terá que corrigi-los manualmente, para cada arquivo.

Por si só, o git não rastreia propriedade e permissões de arquivos. Não é para isso que serve. Esses metadados não foram rastreados e, portanto, foram perdidos.

É assim que os sistemas gostametckeepersão para. Eles envolvem o git para manter /etco controle de versão, ao mesmo tempo que mantêm os metadados que o git não mantém e os restauram, se necessário. Para evitar que isso aconteça no futuro, considere usar o etckeeper ou uma ferramenta semelhante.

Você também pode querer instituir algum tipo de backup. No momento, você não parece ter nenhum tipo de backup e esta é uma receita para o desastre. Você teve sorte de escapar com a menor perda de dados possível. Você pode não ter tanta sorte da próxima vez.

Responder2

Sim, você tem um problema de permissão e propriedade de arquivo. Infelizmentegit armazena apenas o conteúdo e o bit executável de um arquivo, portanto, as permissões de leitura/gravação, as propriedades de usuários e grupos e as ACLs, se houver, serão perdidas quando você restaurar do git reset --hard. Isso é mais que suficiente para quebrar seu host quando o diretório que está sendo restaurado for /etc.

Sua melhor esperança de recuperação é um backup completo do sistema de arquivos, que incluirá todas as propriedades e permissões dos arquivos.

Se você não tiver um desses, você pode tentar reconstruir a propriedade e as permissões manualmente, comparando-as com um host CentOS semelhante. Mas pode acabar sendo menos trabalhoso reinstalar o sistema operacional do zero. Desculpe.

informação relacionada