首頁 > 軟體

Ubuntu 中的 「sub process usr bin dpkg returned an error code 1」 錯誤解決

2020-06-16 16:44:22

如果你在 Ubuntu Linux 上安裝軟體時遇到 “sub process usr bin dpkg returned an error code 1”,請按照以下步驟進行修復。

Ubuntu 和其他基於 Debian 的發行版中的一個常見問題是已經損壞的包。你嘗試更新系統或安裝新軟體包時會遇到類似 “Sub-process /usr/bin/dpkg returned an error code” 的錯誤。

這就是前幾天發生在我身上的事。我試圖在 Ubuntu 中安裝一個電台程式時,它給我了這個錯誤:

  1. Unpacking python-gst-1.0(1.6.2-1build1)...
  2. Selecting previously unselected package radiotray.
  3. Preparing to unpack .../radiotray_0.7.3-5ubuntu1_all.deb ...
  4. Unpacking radiotray (0.7.3-5ubuntu1)...
  5. Processing triggers forman-db (2.7.5-1)...
  6. Processing triggers for desktop-file-utils (0.22-1ubuntu5.2)...
  7. Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1)...
  8. Rebuilding/usr/share/applications/bamf-2.index...
  9. Processing triggers for gnome-menus (3.13.3-6ubuntu3.1)...
  10. Processing triggers for mime-support (3.59ubuntu1)...
  11. Setting up polar-bookshelf (1.0.0-beta56)...
  12. ln: failed to create symbolic link'/usr/local/bin/polar-bookshelf':No such fileor directory
  13. dpkg: error processing package polar-bookshelf (--configure):
  14. subprocess installed post-installation script returned error exit status 1
  15. Setting up python-appindicator (12.10.1+16.04.20170215-0ubuntu1)...
  16. Setting up python-gst-1.0(1.6.2-1build1)...
  17. Setting up radiotray (0.7.3-5ubuntu1)...
  18. Errors were encountered while processing:
  19. polar-bookshelf
  20. E:Sub-process /usr/bin/dpkg returned an error code (1)

這裡最後三行非常重要。

  1. Errors were encountered while processing:
  2. polar-bookshelf
  3. E:Sub-process /usr/bin/dpkg returned an error code (1)

它告訴我 polar-bookshelf 包引發了問題。這可能對你如何修復這個錯誤至關重要。

 

修復 Sub-process /usr/bin/dpkg returned an error code (1)

讓我們嘗試修復這個損壞的錯誤包。我將展示幾種你可以逐一嘗試的方法。最初的那些易於使用,幾乎不用動腦子。

在試了這裡討論的每一種方法之後,你應該嘗試執行 sudo apt update,接著嘗試安裝新的包或升級。

 

方法 1:重新配包資料庫

你可以嘗試的第一種方法是重新設定包資料庫。資料庫可能在安裝包時損壞了。重新設定通常可以解決問題。

  1. sudo dpkg --configure -a

 

方法 2:強制安裝

如果是之前包安裝過程被中斷,你可以嘗試強制安裝。

  1. sudoapt-get install -f

 

方法3:嘗試刪除有問題的包

如果這不是你的問題,你可以嘗試手動刪除包。但不要對 Linux 核心包(以 linux- 開頭)執行此操作。

  1. sudo apt remove

 

方法 4:刪除有問題的包中的資訊檔案

這應該是你最後的選擇。你可以嘗試從 /var/lib/dpkg/info 中刪除與相關軟體包關聯的檔案。

你需要了解一些基本的 Linux 命令來了解發生了什麼以及如何對應你的問題

就我而言,我在 polar-bookshelf 中遇到問題。所以我查詢了與之關聯的檔案:

  1. ls-l /var/lib/dpkg/info|grep-i polar-bookshelf
  2. -rw-r--r--1 root root 2324811Aug1419:29 polar-bookshelf.list
  3. -rw-r--r--1 root root 2822824Aug1004:28 polar-bookshelf.md5sums
  4. -rwxr-xr-x 1 root root 113Aug1004:28 polar-bookshelf.postinst
  5. -rwxr-xr-x 1 root root 84Aug1004:28 polar-bookshelf.postrm

現在我需要做的就是刪除這些檔案:

  1. sudomv/var/lib/dpkg/info/polar-bookshelf.*/tmp

使用 sudo apt update,接著你應該就能像往常一樣安裝軟體了。

 

哪種方法適合你(如果有效)?

我希望這篇快速文章可以幫助你修復 “E: Sub-process /usr/bin/dpkg returned an error code (1)” 的錯誤。

如果它對你有用,是那種方法?你是否設法使用其他方法修復此錯誤?如果是,請分享一下以幫助其他人解決此問題。


via: https://itsfoss.com/dpkg-returned-an-error-code-1/

作者:Abhishek Prakash 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


IT145.com E-mail:sddin#qq.com