GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Correction de l'erreur "Impossible de corriger les problèmes, vous avez conservé des packages cassés" dans Ubuntu et d'autres distributions Linux

Bien qu'il existe différentes façons d'installer des applications dans Ubuntu, je préfère utiliser la commande apt dans le terminal pour installer des logiciels.

Si vous faites la même chose, vous pouvez rencontrer une erreur de dépendance comme celle-ci :

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 green-recorder : Depends: python-urllib3 but it is not installable
E: Unable to correct problems, you have held broken packages.

Habituellement, sur It's FOSS, vous trouverez des solutions simples et faciles à suivre à des problèmes complexes. Malheureusement, celui-ci n'est pas si simple.

Dans cet article de dépannage, je vais vous expliquer pourquoi cette erreur se produit et vous donner quelques indications sur la manière de résoudre ce problème.

Pourquoi voyez-vous l'erreur "vous avez retenu des colis cassés" ?

Vous essayiez d'installer un package d'application, probablement à partir d'un PPA ou d'un référentiel tiers.

Les applications ont souvent besoin de versions spécifiques de bibliothèques et de composants logiciels (appelées dépendances). Ces dépendances peuvent ne pas faire partie du package d'application lui-même, mais elles sont censées être soit déjà installées sur votre système, soit installées lors de l'installation de l'application.

Votre système Linux essaie d'installer ces dépendances par lui-même. Mais si la version du package de dépendance n'est pas disponible sur votre système, cela devient confus car il n'a aucun moyen de résoudre ce problème de dépendance.

C'est pourquoi il vous informe que le logiciel que vous tentiez d'installer dépend de XYZ mais que ce XYZ ne peut pas être installé.

Un autre cas d'utilisation est lorsque votre package peut être retenu lorsque vous essayez d'installer deux versions du même logiciel. Supposons que vous installez une version spécifique de Wine alors qu'une autre est déjà installée.

Comment résoudre l'erreur "Impossible de corriger les problèmes, vous avez conservé des packages cassés"

Vous pouvez essayer quelques choses pour que les choses fonctionnent. Vous devez avoir quelques idées sur l'installation/la suppression de packages dans la ligne de commande Linux pour résoudre les problèmes ici.

Assurez-vous que le cache de packages de votre système est mis à jour

Tout d'abord, assurez-vous que le cache du package local est mis à jour. Votre système vérifie ce cache pour les packages disponibles. Il est possible (mais pas certain) que le package de dépendance soit vu par le système après la mise à jour du cache.

sudo apt update

Réessayez d'installer le package gênant et voyez s'il résout le problème.

Installer la dépendance

Si vous essayez d'installer à nouveau le package gênant et qu'il se plaint toujours de la même erreur de dépendance, il se peut que cette dépendance ne soit pas disponible pour la version de distribution.

Vous pouvez utiliser la commande apt search pour voir si vous pouvez trouver cette bibliothèque à partir d'un autre package ou nom :

sudo apt search package_name

Si le package est disponible, est-ce la même version que celle demandée par le package que vous tentiez d'installer ?

Essayez d'installer le package de dépendances et voyez ce qui se passe :

sudo apt install dependency_package

Vous pouvez rencontrer une chaîne de dépendance. Vous essayez d'installer la dépendance A mais elle se plaint de B. Ensuite, vous essayez d'installer B et elle se plaint de C.

Il peut également arriver que lorsque vous essayez d'installer le package C, il soit déjà installé. Vérifiez la version du package C. Est-ce la même version que celle requise par le package B ? Si oui, alors supprimer C et l'installer à nouveau pourrait aider.

Pouvez-vous obtenir le package de dépendance manquant à partir d'une autre source ?

Si le package de dépendances manquant est introuvable sur votre système (aucun résultat dans la recherche apt), vous pouvez essayer d'obtenir le package de dépendances ailleurs. Je sais que ce n'est pas très pratique, mais vous n'avez pas beaucoup d'options ici.

Par exemple, dans le cas de l'installation de l'obturateur, il s'est plaint de libgoo-canvas-perl et cette bibliothèque n'est plus disponible sur le système Ubuntu.

sudo apt install shutter
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 shutter : Depends: libgoo-canvas-perl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Cependant, comme il était disponible dans les versions précédentes d'Ubuntu, j'ai cherché ce paquet dans l'archive de paquets d'Ubuntu et je l'ai trouvé sous la liste d'Ubuntu 14.04 ici. J'ai téléchargé le fichier .DEB et je l'ai installé.

Maintenant que ce package de dépendances est installé, essayer d'installer l'application d'origine (shutter dans ce cas) ne devrait plus se plaindre d'au moins ce package.

Si vous ne trouvez pas le package de dépendance nulle part, installez le package gênant à partir d'une autre source

Ainsi, dans l'exemple ci-dessus, j'ai essayé d'installer l'application Green Recorder en utilisant son PPA. Cette application a besoin de python-urllib3 bibliothèque mais malheureusement, cette bibliothèque n'est pas disponible dans mon système Ubuntu 20.04.

[email protected]:~$ apt search python-urllib3
Sorting... Done
Full Text Search... Done

De toute évidence, il s'agit d'une application mal emballée. Le développeur l'a rendu disponible pour Ubuntu 20.04 sans se rendre compte qu'Ubuntu 20.04 ne prend plus en charge Python 2 et que toutes les bibliothèques Python commencent maintenant par le préfixe python3. Ainsi, python-urllib3 devrait être python3-urllib3.

Si vous êtes dans une telle situation, consultez peut-être la page d'accueil du projet ou recherchez sur Internet une source alternative pour l'installer. Peut-être existe-t-il une version Snap/Flatpak ou un utilisateur a-t-il créé un PPA pour cela ? Si rien d'autre, vous pouvez également utiliser l'option de code source.

Si vous voyez l'erreur de paquet cassé bloqué pendant la mise à jour, essayez ceci

Jusqu'à présent, la plupart des discussions supposaient que vous voyiez cette erreur lors de l'installation d'une nouvelle application. Ce n'est peut-être pas toujours le cas.

Si vous voyez cette erreur lorsque vous essayez de mettre à jour votre système avec la commande sudo apt update, vous devrez adopter une approche légèrement différente.

Tout d'abord, vérifiez quel package est détenu avec cette commande :

dpkg --get-selections | grep hold

Si vous voyez des packages retenus, supprimez-les, puis continuez à mettre à jour votre système ou à installer le logiciel.

Vous pouvez également utiliser le gestionnaire de paquets Synaptic pour réparer les paquets cassés.

Avez-vous réussi à résoudre le problème ?

Comme je l'ai mentionné plus tôt, il n'y a pas de solution simple à ce problème. Vous devrez enquêter par vous-même et voir si cela peut être réparé ou non.

S'il vous plaît partager dans les commentaires si votre problème est résolu. Sinon, je peux essayer de vous aider.



Ubuntu
  1. Comment installer Rust et Cargo sur Ubuntu et d'autres distributions Linux

  2. Comment installer le navigateur Vivaldi sur Ubuntu et d'autres distributions Linux

  3. Comment regarder Hulu sur Ubuntu et d'autres distributions Linux

  4. Comment réparer l'erreur d'installation du package - Impossible de corriger les problèmes, vous avez conservé des packages cassés

  5. Installation d'Odbcins1debian2, dépendance brisée sur Ubuntu 20.04 Lts ?

Comment utiliser les images WebP dans Ubuntu et d'autres distributions Linux

Utilisation de Yarn sur Ubuntu et d'autres distributions Linux

Comment installer PuTTY sur Ubuntu et d'autres distributions Linux

Comment mettre à jour Grub sur Ubuntu et d'autres distributions Linux

Correction de l'erreur "Impossible d'analyser le fichier de package /var/lib/apt/lists" dans Ubuntu et d'autres distributions Linux

Correction de l'erreur "Les packages suivants ont été conservés" lors de la mise à jour des distributions Linux basées sur Ubuntu et Debian