Respostas:
Faça o download do pacote complementar à versão da sua distribuição. https://launchpad.net/ubuntu/+source/dpkg/1.16.1.2ubuntu7
Descompacte o arquivo.
cd
para a raiz do diretório de origem dpkg.
./configure
make
sudo make install
Pode ser necessário fazer o download de alguns pacotes se ./configure
falhar
Dependendo exatamente do que você removeu, você poderá recuperar a situação extraindo as partes necessárias de um .deb
arquivo baixado manualmente . O truque, é claro, é encontrar uma maneira de descompactar o .deb
arquivo sem funcionar dpkg
- felizmente, há uma solução aqui
Como extrair e instalar .deb sem o comando dpkg?
Primeiro, vá para packages.ubuntu.com e baixe o .deb
arquivo apropriado para a versão e a arquitetura do seu 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 usualdpkg -x
ar -x dpkg_1.18.4ubuntu1_amd64.deb
(substitua dpkg_1.18.4ubuntu1_amd64.deb
pelo nome da 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 no diretório data.tar.gz
para extrair o dpkg
arquivo binário localmente
tar xf data.tar.gz ./usr/bin/dpkg
Se isso funcionou, você deve ter um arquivo no ./usr/bin/dpkg
qual possa copiar para o /usr/bin
diretório
sudo cp ./usr/bin/dpkg /usr/bin/
[Observe que você pode descompactar o arquivo diretamente em relação ao /
uso, sudo tar -C ...
mas fazê-lo em duas etapas parece um pouco mais seguro.]
Se isso funcionar, eu recomendo reinstalar tudo do repositório para obter consistência, ou seja
sudo apt-get update
sudo apt-get install --reinstall dpkg
(em sistemas mais novos, você pode substituir apt-get
por apt
).