68 votes

Comment supprimer les paquets cassés dans ubuntu

Je ne peux pas retirer le paquet cassé. Utilisez la commande suivante : sudo apt-get -f install mais je reçois la réponse suivante :

Preparing to unpack .../nodejs_0.10.28-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.28-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

J'ai essayé diverses commandes comme

 2015  sudo apt-get clean
 2020  sudo dpkg --configure -a
 2023  sudo apt-get autoremove
 2034  sudo apt-get upgrade && sudo apt-get -f install

Mais je n'ai obtenu aucun résultat. Je ne peux pas installer synaptic. Avez-vous une idée de la façon dont je peux supprimer le paquet cassé ?

5voto

BonifatiusK Points 201

Rien de ce qui précède n'a fonctionné pour moi. J'ai finalement édité le fichier /var/lib/dpkg/status et supprimé les paquets de ce fichier.

Je ne conseille pas de faire ça, mais si tout le reste échoue...

3voto

Zian Choy Points 1510

Ouvrez votre terminal, et collez les lignes suivantes les unes après les autres

sudo rm -rf  /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade

puis essayez à nouveau

3voto

Zuko Points 1187

En voici une :

mettez à jour votre liste de paquets comme ceci

 sudo apt-get update

puis nettoie tous les paquets partiels

 sudo apt-get autoclean

Maintenant, nettoyez le cache d'apt

 sudo apt-get clean

Maintenant, supprimez toutes les dépendances inutiles

 sudo apt-get autoremove

à partir de la commande ci-dessus, vous pouvez identifier tout paquet cassé et le supprimer de force comme ceci

 sudo dpkg --remove --force-remove-reinstreq package_name

Enfin, il faut s'occuper de tous les autres paquets avec des dépendances.

 sudo apt-get -f install 

Dites-moi comment ça se passe.

3voto

Old account Points 1520

Si vous avez une dépendance cassée (ce que j'ai rencontré avec openjdk ), vous voudrez purger le paquet et le forcer à ignorer les problèmes de dépendance :

sudo dpkg -P --force-depends package_name

J'ai trouvé la réponse sur un autre forum

2voto

user649305 Points 21

La même erreur se répète Si nous faisons apt-get clean y apt-get -f install à moins que nous ne supprimions les données inutiles de /var/lib/dpkg/status dans Ubuntu.

Supposons que nous devions supprimer le paquet cassé d'apache. Nous devons d'abord ouvrir le fichier d'état et rechercher le paquet apache. Supprimez la description complète du paquet et enregistrez le fichier d'état. Ensuite, essayez d'utiliser apt-get -f install y apt-get clean .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X