ระบบแพ็กเกจใช้งานไม่ได้หลังจากอัพเกรดเป็น Ubuntu 17.04


11

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากอัปเกรด Ubuntu ของฉันเป็น 17.04 ระบบแพคเกจจะใช้งานไม่ได้ เมื่อฉันรันคำสั่งต่อไปนี้ฉันพบข้อผิดพลาด

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

ฉันได้ลองวิธีแก้ไขปัญหาต่อไปนี้แล้ว แต่มันไม่ทำงาน

ใครรู้วิธีแก้ไขโดยไม่ต้องติดตั้ง 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

ใช่. ดูเหมือนว่า
Casper

ฉันยังต้องใช้ความสามารถในการกำจัดการพึ่งพาคำสั่ง 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นั้น
David Foerster

5

ขั้นแรกให้ลบแพ็คเกจ ' 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เพื่อติดตั้งได้
Casper

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
      

      เพิ่มข้อผิดพลาดใหม่หากมีคำถาม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.