Perdido / Apagado dpkg (gerenciador de pacotes para o Debian). Como faço para recuperá-la?

7

SO: Ubuntu 12.04

Excluído acidentalmente dpkg . Agora, os pacotes não podem ser instalados. Então, precisa de um instalador dpkg que instale pacotes.

    
por Raghu G 29.04.2013 / 14:19

2 respostas

2

Faça o download do pacote complementar à versão da sua distro. link

Descompacte o arquivo.

cd para a raiz do diretório de origem do dpkg.

./configure

make

sudo make install

Você pode precisar baixar alguns pacotes se ./configure falhar

    
por j0h 29.04.2013 / 17:16
8

Dependendo exatamente do que você removeu, você pode ser capaz de salvar a situação extraindo as partes necessárias de um arquivo .deb carregado manualmente. O truque, é claro, é encontrar uma maneira de descompactar o arquivo .deb sem trabalhar dpkg - felizmente há uma solução aqui

Como extrair e instalar o .deb sem o comando dpkg?

Primeiro, vá para packages.ubuntu.com e faça o download do arquivo .deb apropriado para sua versão e arquitetura do SO, por exemplo,

mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb

Agora descompacte o arquivo deb usando ar no lugar do usual dpkg -x

ar -x dpkg_1.18.4ubuntu1_amd64.deb

(substitua dpkg_1.18.4ubuntu1_amd64.deb pelo nome do deb atual que você baixou). Agora você deve ter o seguinte conteúdo

control.tar.gz  data.tar.gz  debian-binary  dpkg_1.18.4ubuntu1_amd64.deb

Os arquivos do pacote devem estar localizados em data.tar.gz so para extrair o arquivo binário dpkg localmente

tar xf data.tar.gz ./usr/bin/dpkg

Se isso funcionou, você deve ter um arquivo em ./usr/bin/dpkg que você pode copiar para o seu diretório /usr/bin

sudo cp ./usr/bin/dpkg /usr/bin/

[Note que você pode descompactar o arquivo diretamente em relação ao / usando sudo tar -C ... , mas fazê-lo em duas etapas parece um pouco mais seguro.]

Se isso funcionar, recomendo reinstalar a coisa toda do repositório para consistência, por exemplo

sudo apt-get update
sudo apt-get install --reinstall dpkg

(em sistemas mais novos, você pode substituir apt-get por apt ).

    
por steeldriver 05.11.2016 / 18:50