web-dev-qa-db-fra.com

Lost / Deleted dpkg (gestionnaire de paquets pour Debian). Comment est-ce que je le récupère?

OS: Ubuntu 12.04

Supprimé accidentellement dpkg. Maintenant, les paquets ne peuvent pas être installés. Il faut donc un installateur dpkg qui installe les paquets.

8
Raghu G

Téléchargez le package complémentaire à la version de votre distribution. https://launchpad.net/ubuntu/+source/dpkg/1.16.1.2ubuntu7

Décompressez le fichier.

cd à la racine du répertoire source de dpkg.

./configure

make

Sudo make install

Vous devrez peut-être télécharger certains paquets si ./configure échoue

2
j0h

Selon ce que vous avez supprimé, vous pourrez pouvoir résoudre le problème en extrayant les éléments nécessaires à partir d'un fichier .deb téléchargé manuellement. Le truc, bien sûr, consiste à trouver un moyen de décompresser le fichier .deb sans travail dpkg - heureusement, il existe une solution ici

Comment extraire et installer .deb sans la commande dpkg?


Allez tout d'abord sur packages.ubuntu.com et téléchargez le fichier .deb approprié pour votre version de système d'exploitation et votre architecture, par exemple.

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

Décompressez maintenant le fichier deb en utilisant ar à la place du fichier habituel dpkg -x

ar -x dpkg_1.18.4ubuntu1_AMD64.deb

(remplacez dpkg_1.18.4ubuntu1_AMD64.deb par le nom du fichier deb que vous avez téléchargé). Vous devriez maintenant avoir le contenu suivant

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

Les fichiers du paquet doivent être situés dans le data.tar.gz afin d'extraire le fichier binaire dpkg localement

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

Si cela a fonctionné, vous devriez avoir un fichier dans ./usr/bin/dpkg que vous pouvez copier dans votre répertoire /usr/bin

Sudo cp ./usr/bin/dpkg /usr/bin/

[Notez que vous pouvez décompresser le fichier directement par rapport à / en utilisant Sudo tar -C ..., mais le faire en deux étapes vous semble un peu plus sûr.]


Si cela fonctionne, je vous recommande de réinstaller le tout dans le référentiel pour assurer la cohérence, c.-à-d.

Sudo apt-get update
Sudo apt-get install --reinstall dpkg

(Sur les systèmes plus récents, vous pouvez remplacer apt-get par apt).

9
steeldriver