Le système de package est cassé après la mise à niveau vers Ubuntu 17.04

11

entrez la description de l'image ici

Après avoir mis à jour mon Ubuntu vers 17.04, le système de package est cassé. Lorsque j'exécute l'une des commandes suivantes, j'ai une erreur.

sudo apt-get --fix-broken installation

$ sudo apt-get --fix-broken install
...
...
ubuntuone-credentials-common unity-plugin-scopes unity-scope-
mediascanner2
  unity-webapps-qml url-dispatcher usermetricsservice vbetool vlc-nox
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  click-apparmor
The following packages will be upgraded:
  click-apparmor
1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 0 B/10.7 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 625249 files and directories currently installed.)
Preparing to unpack .../click-apparmor_0.3.18_amd64.deb ...
Cannot start click due to a conflict with a different locally-installed Python 'click' package.  Remove it using Python packaging tools and try again.
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
Cannot start click due to a conflict with a different locally-installed Python 'click' package.  Remove it using Python packaging tools and try again.
dpkg: error processing archive /var/cache/apt/archives/click-apparmor_0.3.18_amd64.deb (--unpack):
 subprocess new pre-removal script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/click-apparmor_0.3.18_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

sudo apt-get full-upgrade

$ sudo apt-get full-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 click-apparmor : Depends: python3-apparmor-click (= 0.3.17) but 0.3.18 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

J'ai également essayé les solutions suivantes mais elles n'ont pas fonctionné.

Quelqu'un sait comment le réparer sans réinstaller Ubuntu?

Casper
la source
1
J'ai le même problème. J'ai essayé les correctifs proposés ici et ici mais rien n'a fonctionné.
guillaume8375

Réponses:

8

Je pense avoir trouvé une solution, mais une grosse mise en garde cependant: cela fonctionne, mais je ne peux pas expliquer pourquoi.

Tout d'abord, je suis allé à /var/lib/dpkg/info/:

cd /var/lib/dpkg/info/

Ensuite, j'ai supprimé les lignes relatives aux packages qui ont causé les problèmes. Dans mon cas, je devais faire:

sudo rm -r python3-apparmor-click.*
sudo rm -r click-apparmor.*
sudo rm -r click.*
sudo rm -r ubuntu-app-launch.* 
sudo rm -r url-dispatcher-tools.*
sudo rm -r url-dispatcher:amd64.*
sudo rm -r libunity-scopes1.0:amd64

Après cela, j'ai tapé:

sudo apt purge python3-apparmor-click
sudo apt purge click-apparmor    
sudo apt purge click
sudo apt purge ubuntu-app-launch
sudo apt purge url-dispatcher-tools
sudo apt purge url-dispatcher:amd64
sudo apt purge libunity-scopes1.0

Après ça,

sudo apt update

Et enfin,

sudo apt dist-upgrade

qui a fonctionné et mis à jour mes packages. Tous les problèmes de paquets semblent avoir disparu.

guillaume8375
la source
1
La commande apt purgerevient E: Sub-process /usr/bin/dpkg returned an error code (1).
Casper
@Casper Pour chaque paquet?
guillaume8375
Oui. Vraisemblablement.
Casper
J'ai également dû utiliser aptitude pour purger les dépendances, la commande apt / apt-get n'a pas pu le faire askubuntu.com/questions/1085665/…
baptx
7

J'ai eu le même problème après la mise à niveau vers Ubuntu 17.04, cela a fonctionné pour moi:

sudo -H pip3 uninstall click
sudo apt install python3-click-package
sudo apt upgrade
sudo apt autoremove

Vous ne savez pas pourquoi (peut-être que la version de clic de pip est différente de celle dont Ubuntu dépend?), Mais cela a résolu le problème.

Rens Oliemans
la source
pip3 uninstall clicksupprime le clickmodule qui a été installé via Pip pour Python 3, ce qui résoudrait probablement la plainte lors de l'installation du package dans la question OP car c'est la méthode d'installation la plus courante pour les modules Python sur Ubuntu en dehors d'Apt. Une autre option est qu'ils ont utilisé easyinstallou quelque chose comme ça make install.
David Foerster
5

Supprimez d'abord le package python « click » en utilisant pip:

pip uninstall click

Si vous utilisez python3 : pip3 uninstall click

Corrigez ensuite les packages par apt :

sudo apt clean
sudo apt install -f 
Ghasem Pahlavan
la source
1

Cela a semblé résoudre le problème pour moi (au moins, je ne reçois plus de messages d'erreur):

J'ai fait un sudo apt autoremoveet noté les packages avec des dépendances non satisfaites:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 bind9-host : Depends: libdns162 (= 1:9.10.3.dfsg.P4-10.1ubuntu4) but 1:9.10.3.dfsg.P4-10.1ubuntu1.4 is installed
 dnsutils : Depends: libdns162 (= 1:9.10.3.dfsg.P4-10.1ubuntu4) but 1:9.10.3.dfsg.P4-10.1ubuntu1.4 is installed
 gnome-software : Depends: gnome-software-common (= 3.22.7-0ubuntu3) but 3.20.1+git20170208.0.a34b091-0ubuntu1 is installed
 gvfs : Depends: gvfs-daemons (>= 1.30.4-0ubuntu1)
 gvfs-backends : Depends: gvfs-daemons (= 1.30.4-0ubuntu1)
 gvfs-daemons : Depends: gvfs-libs (= 1.28.2-1ubuntu2) but 1.30.4-0ubuntu1 is installed
                Depends: gvfs-common (= 1.28.2-1ubuntu2) but 1.30.4-0ubuntu1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

Ensuite, je suis allé sur http://packages.ubuntu.com/ et dans la recherche «para», j'ai entré les noms suivants «Depends:» et sélectionné «zesty». J'ai ensuite téléchargé les fichiers .deb pour mon matériel.

Ensuite, j'ai déplacé tous les fichiers .deb vers / var / cache / apt / archives:

sudo mv *.deb /var/cache/apt/archives

Enfin j'ai fait:

sudo apt --fix-broken install

qui s'est exécuté sans erreur

HTH

Daan
la source
La commande est autoremoveintrouvable. Mais maintenant, je ne peux pas l'utiliser apt-getpour l'installer.
Casper
0
  • Option 1: recherchez le package de clic étranger:

    sudo updatedb
    locate -ir python.*click
    

    Ensuite, supprimez-le manuellement, ajoutez la sortie à la question en cas de doute.

  • Option 2: Si vous êtes toujours dans cet état mentionné dans la question:

    Preparing to unpack .../click-apparmor_0.3.18_amd64.deb ...
    Cannot start click due to a conflict with a different 
      locally-installed Python 'click' package.  Remove it 
      using Python packaging tools and try again.
    dpkg: warning: subprocess old pre-removal script returned error exit status 1
    
    1. Supprimer le package installé

      cd /var/lib/dpkg/info/
      sudo mv click-apparmor:amd64.prerm click-apparmor:amd64.prerm.backup
      sudo dpkg --force-depends -r  click-apparmor
      
    2. Essayez d'installer le nouveau package en utilisant:

      sudo apt -f install
      

      Ajoutez la nouvelle erreur, le cas échéant, à la question.

user.dz
la source