Система пакетов не работает после обновления до Ubuntu 17.04


11

введите описание изображения здесь

После обновления моей Ubuntu до 17.04 система пакетов не работает. Когда я выполняю любую из следующих команд, я получаю некоторую ошибку.

sudo apt-get --fix-broken install

$ 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-получить полное обновление

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

Я также попробовал следующие решения, но они не работали.

Кто-нибудь знает, как это исправить без переустановки Ubuntu?


1
У меня точно такая же проблема. Я пробовал исправления, предложенные здесь и здесь, но ничего не получалось.
guillaume8375

Ответы:


8

Я думаю, что нашел решение, но с большой оговоркой: оно работает, но я не могу объяснить, почему.

Сначала я пошел в /var/lib/dpkg/info/:

cd /var/lib/dpkg/info/

Затем я удалил строки, относящиеся к пакетам, которые вызвали проблемы. В моем случае я должен был сделать:

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

После этого я набрал:

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

После того,

sudo apt update

И наконец,

sudo apt dist-upgrade

который работал и обновил мои пакеты. Все проблемы с пакетами, похоже, исчезли.


1
Команда apt purgeвозвращается E: Sub-process /usr/bin/dpkg returned an error code (1).
Каспер

@Casper Для каждого пакета?
guillaume8375

Да. Похоже на то.
Каспер

Мне также пришлось использовать aptitude для очистки зависимостей, команда apt / apt-get не смогла это сделать askubuntu.com/questions/1085665/…
baptx

7

У меня была такая же проблема после обновления до Ubuntu 17.04, у меня это сработало:

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

Не знаю, почему (возможно, версия клика в pip отличается от той, от которой зависит Ubuntu?), Но это решило проблему.


pip3 uninstall clickудаляет clickмодуль, который был установлен через Pip для Python 3, что, вероятно, исправит жалобу во время установки пакета в вопросе OP, поскольку это наиболее распространенный метод установки модулей Python в Ubuntu за пределами Apt. Другой вариант, что они использовали easyinstallили что-то вроде make install.
Дэвид Фёрстер

5

Сначала удалите пакет Python ' click ', используя pip:

pip uninstall click

Если вы используете python3 : pip3 uninstall click

Затем исправьте пакеты с помощью apt :

sudo apt clean
sudo apt install -f 

1

Казалось, это решило проблему для меня (по крайней мере, я больше не получаю сообщения об ошибках):

Я сделал sudo apt autoremoveи отметил пакеты с неудовлетворенными зависимостями:

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

Затем я зашел на http://packages.ubuntu.com/ и в пункте «поиск» ввел имена, следующие «Зависит от», и выбрал «zesty». Затем я загрузил файлы .deb для моего оборудования.

Затем я переместил все файлы .deb в / var / cache / apt / archives:

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

Наконец я сделал:

sudo apt --fix-broken install

который выполнен без ошибок

НТН


Команда autoremoveне найдена. Но сейчас я не могу использовать его apt-getдля установки.
Каспер

0
  • Вариант 1. Посмотрите на этот пакет иностранных кликов:

    sudo updatedb
    locate -ir python.*click
    

    Затем удалите его вручную, добавьте вывод в вопрос, если у вас есть сомнения.

  • Вариант 2. Если вы все еще находитесь в состоянии, указанном в вопросе:

    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. Удалить установленный пакет

      cd /var/lib/dpkg/info/
      sudo mv click-apparmor:amd64.prerm click-apparmor:amd64.prerm.backup
      sudo dpkg --force-depends -r  click-apparmor
      
    2. Попробуйте установить новый пакет, используя:

      sudo apt -f install
      

      Добавьте новую ошибку, если таковая имеется, к вопросу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.