Removido / var / lib. Não é possível abrir o ambiente de trabalho

3

Bem, estou com muito medo agora.
Eu estava tentando excluir uma pasta por

sudo rm /var/lib/texmf -r

mas, em vez disso, escreveu

sudo rm /var/lib -r

Eu li alguma documentação sobre isso e encontrei este tópico .

Eu tentei seguir todos os passos do último comentário (segunda página), mas eu não sabia como fazer algumas das coisas listadas lá. Então, isso é tudo que fiz:

Primeiro, criei essas pastas:

mkdir /var/lib/dpkg/alternatives/  /var/lib/dpkg/info/  /var/lib/dpkg/methods/  /var/lib/dpkg/parts/  /var/lib/dpkg/  triggers/  /var/lib/dpkg/updates/  /var/lib/apt/  /var/lib/aptitude  /var/lib/binfmts/  /var/lib/misc/

Eu tive que fazer isso com o sudo, e tive que criar subpastas primeiro, para criar todas as pastas.

Então eu fiz:

aptitude update && aptitude upgrade

Aqui é onde a confusão começou.
Primeiro de tudo, os avisos listados pelo usuário @ marco.org não apareceram para mim (eu nem tenho certeza em qual língua eles estão escritos), mas em vez disso apareceu outro erro, dizendo que ele não poderia criar alguma coisa. arquivo porque alguma pasta (uma subpasta em / var / lib) não existia.
  Eu criei a pasta (usando o sudo mkdir), o processo terminou (com alguns erros não me lembro).

Então eu movi o arquivo dpkg.status.0, mencionado no link acima, por:

sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status

(Mais uma vez, eu tive que criar a pasta. Eu não tenho certeza porque eu fiz isso, eu li sobre isso em algum lugar)

Então, aparentemente, o primeiro problema foi resolvido. Eu então tentei instalar algum programa, usando

sudo apt-get install some_program

e apesar de ter mostrado alguns avisos (tudo sobre arquivos ausentes dos subdiretórios do / var / lib), o programa foi instalado e eu poderia usá-lo sem nenhum problema.

Alguns minutos depois, eu queria relaxar um pouco e assistir a um vídeo no youtube (instalei a última versão do Google Chrome), mas em vez de relaxar, tenho outro motivo para entrar em pânico:
Não havia saída de som para o vídeo ou para qualquer outro aplicativo no Chrome (outros programas tinham som).

Então eu entrei em pânico e desliguei meu computador.
Então, quando eu liguei, e depois que o Linux começou, eu não vi minha área de trabalho, mas uma tela de console me pedindo um login e uma senha.
Eu dei a informação, e alguma mensagem apareceu, dizendo que não poderia criar um arquivo, porque uma pasta estava faltando. Eu criei com:

sudo mkdir /var/lib/ubuntu-release-upgrader

Em seguida, outra mensagem dizia que não era possível mover o arquivo, por isso movi-o manualmente com:

sudo mv /usr/lib/ubuntu-release-upgrader/release-upgrader-motd -t /var/lib/ubuntu-release-upgrader/

Depois, reiniciei o sistema, esperando ver minha área de trabalho. Mas em vez disso, a mesma tela do console mostrou, dizendo, depois de dar o meu login e senha:

Last login: Tue Apr 8 13:19:16 CST 2014 on tty1
Welcome to Linux Mint 15 Olivia (GNU/LINUX 3.8.0-26-generic i686)

Welcome to Linux Mint
* Documentation: http://www.linuxmint.com

Agora não consigo voltar ao modo de interface gráfica ou usar qualquer um dos meus programas.

Eu acho que deve haver uma maneira de obter a pasta que eu deletei do dvd de instalação, mas eu sou meio que novo com isso, e não tenho certeza de como fazê-lo.
Alguém poderia me ajudar? Eu realmente apreciaria isto.

P.S: Além disso, depois de deletar o / var / lib, sempre que eu usava o sudo, uma linha aparecia dizendo algo como:

couldn't mkdir /var/lib/sudo, file not existing

mas foi resolvido após o

aptitude update && aptitude upgrade
    
por Joshua 08.04.2014 / 23:07

3 respostas

1

Consegui copiar o diretório de um DVD ao vivo e agora posso trabalhar no meu computador.

A razão pela qual eu não consegui fazer isso antes foi por causa do meu CD-ROM. Aparentemente, ele foi danificado e foi isso que causou todo o "Kernel Panic".

Eu escolhi fazer isso ao invés de reinstalar todo o sistema operacional porque eu realmente não tinha muitos programas instalados mais do que aqueles dados por padrão com esta distribuição do Linux.

Como o @Gilles sugeriu, agora estou fazendo backups para evitar incidentes futuros. E como ele disse, se algum problema estranho acontecer, eu sei o que é a culpa. Mas ainda assim, gostaria de tentar resolvê-los antes de formatar.

Ainda não sei por que não consegui reinstalar os pacotes que encontrei em /var/backups/dpkg.status.0 , portanto, se alguém souber por quê, seria ótimo se você pudesse nos informar.

Obrigado a todos vocês que deram sua ajuda.

    
por 15.04.2014 / 23:28
3

Restaurar a partir do backup.

Sim, eu sei, você não fez backups. Bem, agora você entende por que os backups são importantes.

/var/lib contém muitos arquivos importantes. A recuperação da exclusão de /var/lib vai deixar você com um sistema que não funciona bem; mesmo que você consiga mancar, você vai ter todos os tipos de problemas estranhos mais tarde. Se você tentar consertar e se deparar com problemas estranhos mais tarde, é provável que a exclusão de /var/lib seja a culpada (então você perdeu a esperança de obter suporte online - e nem sequer pensa em não mencioná-lo) levaria a uma profunda frustração).

/var/lib/dpkg contém o banco de dados de pacotes instalados e informações adicionais sobre pacotes instalados, e /var/lib/apt contém informações adicionais gerenciadas pelo APT em vez de dpkg . Embora haja um backup quase atualizado de /var/lib/dpkg/status em /var/backups , essa é apenas uma pequena parte do que você precisa restaurar.

Você pode obter a lista de pacotes instalados com

</var/backups/dpkg.status.0 awk -v 'RS=' -F '\n' '
    /\nStatus: .*installed\n/ {sub(/^Package: /,""); print $1}
' | sort >/var/tmp/packages0.list

Verifique /var/log/dpkg.log para as instalações e remoções de pacotes mais recentes e edite manualmente a lista de acordo. Agora você tem uma lista de pacotes instalados; a indicação de quais foram instaladas manualmente e quais foram instaladas automaticamente foi perdida com /var/lib/apt .

Neste ponto, você pode reinstalar todos os pacotes com

apt-get update
apt-get --reinstall install 'cat /var/tmp/packages0.list'

Você pode precisar criar mais alguns diretórios em /var/lib antes que isso funcione - você saberá quais diretórios estão faltando porque haverá mensagens de erro. Todos os diretórios em /var/lib/dpkg e /var/lib/apt devem pertencer a root:root , modo 755.

Recomendo que você faça o backup de /etc e da lista de pacotes e reinstale o sistema. Instale o etckeeper para manter um histórico de alterações em /etc e execute etckeeper commit 'some meaningful messages' quando você alterar algo em /etc , que Assim, será mais fácil fazer uma instalação semelhante no futuro.

    
por 09.04.2014 / 02:52
1

O método mais fácil pode ser reinstalar todos os pacotes que foram instalados. Se você não tiver uma lista do que foi instalado, talvez seja necessário reinstalar com base nos Priorites.

Você pode querer começar com:

aptitude reinstall ?essential
aptitude reinstall ~pstandard
aptitude reinstall ~prequired
aptitude reinstall ~pimportant

Se você tiver uma lista dos pacotes instalados, poderá usá-lo para reinstalar. Se não, você precisará identificar os pacotes. Isso deve reconstruir o subdiretório / var / lib.

Você provavelmente tem pacotes adicionais instalados e terá que identificá-los. Se você não limpou o /var/cache/apt/archives directory , você pode obter uma lista com o comando.

ls /var/cache/apt/archives | cut -d_ -f1
    
por 08.04.2014 / 23:46

Tags