O sistema de pacotes está quebrado após o upgrade para o Ubuntu 17.04

11

insira a descrição da imagem aqui

Depois de atualizar meu Ubuntu para 17.04, o sistema de pacotes está quebrado. Quando executo um dos seguintes comandos, recebi algum erro.

Instalação do sudo apt-get --fix-broken

$ 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 atualização completa

$ 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).

Eu também tentei as seguintes soluções, mas elas não funcionaram.

Alguém sabe como corrigi-lo sem reinstalar o Ubuntu?

Casper
fonte
1
Eu tenho o mesmo problema. Tentei as correções propostas aqui e aqui, mas nada funcionou.
precisa saber é o seguinte

Respostas:

8

Acho que encontrei uma solução, mas uma grande ressalva: funciona, mas não sei explicar o porquê.

Primeiro, fui para /var/lib/dpkg/info/:

cd /var/lib/dpkg/info/

Em seguida, removi as linhas referentes aos pacotes que causaram os problemas. No meu caso, eu tive que fazer:

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

Depois disso, digitei:

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

Depois disso,

sudo apt update

E finalmente,

sudo apt dist-upgrade

que funcionou e atualizou meus pacotes. Todos os problemas de pacotes parecem ter desaparecido.

guillaume8375
fonte
1
O comando apt purgeretorna E: Sub-process /usr/bin/dpkg returned an error code (1).
Casper
@ Casper Para cada pacote?
precisa
Sim. Parece tão.
Casper19
Eu também tive que usar o aptitude para dependências de purga, comando / apt-get apt não foi capaz de fazê-lo askubuntu.com/questions/1085665/...
baptx
7

Eu tive o mesmo problema depois de atualizar para o Ubuntu 17.04, isso funcionou para mim:

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

Não sei por que (talvez a versão de clique do pip seja diferente da que o Ubuntu depende?), Mas isso corrigiu o problema.

Rens Oliemans
fonte
pip3 uninstall clickremove o clickmódulo que foi instalado via Pip para Python 3, o que provavelmente corrigirá a reclamação durante a instalação do pacote na pergunta do OP, pois é o método de instalação mais comum para módulos Python no Ubuntu fora do Apt. Outra opção é que eles usaram easyinstallou algo parecido make install.
precisa
5

Primeiro remova o pacote ' click ' do python usando pip:

pip uninstall click

Se você estiver usando python3 : pip3 uninstall click

Em seguida, corrija os pacotes usando o apt :

sudo apt clean
sudo apt install -f 
Ghasem Pahlavan
fonte
1

Isso pareceu resolver o problema para mim (pelo menos não recebo mais mensagens de erro):

Eu fiz um sudo apt autoremovee observei os pacotes com dependências não atendidas:

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).

Depois fui para http://packages.ubuntu.com/ e no 'search' para digite os nomes a seguir 'Depends:' e selecione 'zesty'. Depois baixei os arquivos .deb para o meu hardware.

Em seguida, movi todos os arquivos .deb para / var / cache / apt / archives:

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

Por fim, fiz:

sudo apt --fix-broken install

que foi executado sem erros

HTH

Daan
fonte
O comando autoremovenão encontrado. Mas agora não posso usar apt-getpara instalá-lo.
Casper
0
  • Opção 1: procure o pacote de clique externo:

    sudo updatedb
    locate -ir python.*click
    

    Em seguida, exclua-o manualmente e adicione a saída à pergunta em caso de dúvida.

  • Opção 2: se você ainda estiver nesse estado mencionado na pergunta:

    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. Remova o pacote instalado

      cd /var/lib/dpkg/info/
      sudo mv click-apparmor:amd64.prerm click-apparmor:amd64.prerm.backup
      sudo dpkg --force-depends -r  click-apparmor
      
    2. Tente instalar o novo pacote usando:

      sudo apt -f install
      

      Adicione o novo erro, se houver, à pergunta.

user.dz
fonte