Como recuperar o diretório “dpkg” excluído?

25

Infelizmente, excluí o diretório dpkg ao remover o bloqueio. Por engano eu digitei

root@sam:~$ rm -r /var/lib/dpkg

Agora, quando estou tentando instalar / desinstalar pacotes, ele me mostra o seguinte erro.

E: Could not open lock file /var/lib/dpkg/lock - open (2: No such file or directory)

O que devo fazer agora?

    
por Sambit 28.11.2013 / 13:26

4 respostas

48

raiz + rm + -r = desastre

Então, o que você condenou à perdição?

ls -l /var/lib/dpkg/
total 9964
drwxr-xr-x 2 root root    4096 nov 28 11:18 alternatives
-rw-r--r-- 1 root root      11 sep 18 14:08 arch
-rw-r--r-- 1 root root 2573807 nov 28 11:18 available
-rw-r--r-- 1 root root 2561322 nov 28 10:25 available-old
-rw-r--r-- 1 root root       8 abr 24  2013 cmethopt
-rw-r--r-- 1 root root     538 sep 25 17:24 diversions
-rw-r--r-- 1 root root     457 sep 25 17:24 diversions-old
drwxr-xr-x 2 root root  483328 nov 28 11:17 info
-rw-r----- 1 root root       0 nov 28 11:18 lock
drwxr-xr-x 2 root root    4096 mar 22  2013 parts
-rw-r--r-- 1 root root     135 abr 24  2013 statoverride
-rw-r--r-- 1 root root 2269113 nov 28 11:18 status
-rw-r--r-- 1 root root 2268870 nov 28 11:18 status-old
drwxr-xr-x 2 root root    4096 nov 28 11:18 triggers
drwxr-xr-x 2 root root    4096 nov 28 11:18 updates

Você removeu 5 diretórios, o arquivo de status etc. Então, vamos tentar corrigir o problema. Primeiro, crie o diretório:

sudo mkdir -p /var/lib/dpkg/{alternatives,info,parts,triggers,updates}

Recupere alguns backups:

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

Agora, vamos ver se o seu dpkg está funcionando (comece a orar):

apt-get download dpkg
sudo dpkg -i dpkg*.deb

Se tudo estiver "ok", repare também seus arquivos básicos:

apt-get download base-files
sudo dpkg -i base-files*.deb

Agora tente atualizar sua lista de pacotes, etc.:

dpkg --audit
sudo apt-get update
sudo apt-get check

Agora, vamos respirar fundo. Ufa Do ls -l /var/lib/dpkg e compare com a lista acima. Se algum arquivo -old não estiver presente, não se preocupe, ele estará lá amanhã.

    
por Braiam 29.11.2013 / 02:49
2

Bem, o pacote dpkg (sistema de gerenciamento de pacotes Debian) fornece a infra-estrutura de baixo nível para lidar com a instalação e remoção de pacotes de software Debian. p>

Baixando o arquivo usando wget :

wget https://launchpad.net/ubuntu/+archive/primary/+files/dpkg_1.16.1.2ubuntu7.2.tar.bz2

Extraia-o na pasta xxx.

cd xxx
./configure
make
sudo make install

espero que funcione.

    
por Sukupa91 28.11.2013 / 13:40
1

Recupere seu sistema do backup. Você fez backups certo? O backup do sistema e dos dados é fundamental para lidar com situações inesperadas como essa (erro do usuário) e falha de hardware. Se você não conseguiu criar backups, como discutido aqui você pode tentar recuperação de dados.

No futuro, sugiro que você backup regularmente para evitar perda de dados catastrófica. E duvido que você esqueça isso como @Braiam disse " root + rm + -r = desastre "

    
por Elder Geek 07.02.2016 / 16:44
-2

Basta seguir os passos abaixo, para recuperar os arquivos, pelo menos o apt-get ou dpkg funcionaria.

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

sudo mv /var/backups/dpkg.status.0  /var/backups/status

sudo mkdir /var/lib/dpkg/updates

Após este teste, se funcionaria ou não.

sudo apt-get install {Package-name}

sudo dpkg -i {package_name}

Espero que tenha funcionado. Se não comentar abaixo. Lembre-se, tenha muito cuidado ao jogar com sudo + rm -rf .

    
por Srudeep P A 20.01.2018 / 15:18