System pakietów jest zepsuty po aktualizacji do Ubuntu 17.04

11

wprowadź opis zdjęcia tutaj

Po aktualizacji mojego Ubuntu do 17.04, system pakietów jest zepsuty. Kiedy wykonuję jedno z poniższych poleceń, wystąpił błąd.

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-get pełna aktualizacja

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

Próbowałem też następujących rozwiązań, ale one nie działały.

Czy ktoś wie, jak to naprawić bez ponownej instalacji Ubuntu?

Kacper
źródło
1
Mam ten sam problem. Próbowałem poprawek zaproponowanych tu i tutaj, ale nic nie działało.
guillaume8375

Odpowiedzi:

8

Myślę, że znalazłem rozwiązanie, ale duże zastrzeżenie: działa, ale nie mogę wyjaśnić, dlaczego.

Najpierw poszedłem do /var/lib/dpkg/info/:

cd /var/lib/dpkg/info/

Następnie usunąłem wiersze dotyczące pakietów, które spowodowały problemy. W moim przypadku musiałem zrobić:

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

Następnie wpisałem:

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

Po tym,

sudo apt update

I w końcu,

sudo apt dist-upgrade

który działał i aktualizował moje pakiety. Wygląda na to, że wszystkie problemy z pakietami zniknęły.

guillaume8375
źródło
1
Polecenie apt purgepowraca E: Sub-process /usr/bin/dpkg returned an error code (1).
Casper
@ Casper Dla każdej paczki?
guillaume8375
Tak. Wygląda na to, że tak.
Casper
Musiałem także użyć aptitude do usunięcia zależności, komenda apt / apt-get nie była w stanie tego zrobić askubuntu.com/questions/1085665/…
baptx
7

Miałem ten sam problem po aktualizacji do Ubuntu 17.04, działało to dla mnie:

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

Nie jestem pewien, dlaczego (być może wersja kliknięcia pip jest inna niż wersja Ubuntu?), Ale to rozwiązało problem.

Rens Oliemans
źródło
pip3 uninstall clickusuwa clickmoduł zainstalowany za pomocą Pipa dla Pythona 3, co prawdopodobnie naprawiłoby reklamację podczas instalacji pakietu w pytaniu OP, ponieważ jest to najczęstsza metoda instalacji modułów Pythona na Ubuntu poza Apt. Inną opcją jest to, że użyli easyinstalllub coś podobnego make install.
David Foerster
5

Najpierw usuń pakiet „ kliknij ” Pythona, używając pip:

pip uninstall click

Jeśli używasz python3 : pip3 uninstall click

Następnie napraw pakiety przez apt :

sudo apt clean
sudo apt install -f 
Ghasem Pahlavan
źródło
1

Wydawało mi się, że to rozwiązało problem (przynajmniej nie otrzymuję już komunikatów o błędach):

Zrobiłem sudo apt autoremovei zanotowałem pakiety z niespełnionymi zależnościami:

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

Potem poszedłem na http://packages.ubuntu.com/ i w „wyszukiwaniu” para wpisałem nazwy następujące „Zależy:” i wybrałem „zesty”. Następnie pobrałem pliki .deb na mój sprzęt.

Następnie przeniosłem wszystkie pliki .deb do / var / cache / apt / archives:

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

Wreszcie zrobiłem:

sudo apt --fix-broken install

które wykonane bez błędów

HTH

Daan
źródło
autoremoveNie znaleziono polecenia . Ale teraz nie mogę apt-getgo zainstalować.
Casper
0
  • Opcja 1: Poszukaj pakietu zagranicznego kliknięcia:

    sudo updatedb
    locate -ir python.*click
    

    Następnie usuń go ręcznie, dodaj wynik do pytania, jeśli masz wątpliwości.

  • Opcja 2: Jeśli nadal znajdujesz się w tym stanie wymienionym w pytaniu:

    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. Usuń zainstalowany pakiet

      cd /var/lib/dpkg/info/
      sudo mv click-apparmor:amd64.prerm click-apparmor:amd64.prerm.backup
      sudo dpkg --force-depends -r  click-apparmor
      
    2. Spróbuj zainstalować nowy pakiet, używając:

      sudo apt -f install
      

      Dodaj nowy błąd, jeśli taki istnieje, do pytania.

user.dz
źródło