Пакетна система порушена після оновлення до Ubuntu 17.04


11

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

Після оновлення мого Ubuntu до 17.04 система пакетів порушена. Коли я виконую будь-яку з наступних команд, у мене з’явилася помилка.

sudo apt-get - встановлена ​​помилка

$ 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

Так. Здається, так.
Каспер

Я також повинен був використовувати здатність для очищення залежностей, команда 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, який, ймовірно, виправить скаргу під час встановлення пакета у питанні ОП, оскільки це найпоширеніший метод установки модулів 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

які виконані без помилок

HTH


Команда 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.