怎樣解決Ubuntu中的 “sub process usr bin dpkg returned an error code 1” 錯誤
如果你在 Ubuntu Linux 上安裝軟件時遇到 “sub process usr bin dpkg returned an error code 1”,請按照以下步驟進行修復。
Ubuntu 和其他基于 Debian 的發行版中的一個常見問題是已經損壞的包。你嘗試更新系統或安裝新軟件包時會遇到類似 “Sub-process /usr/bin/dpkg returned an error code” 的錯誤。
這就是前幾天發生在我身上的事。我試圖在 Ubuntu 中安裝一個電臺程序時,它給我了這個錯誤:
Unpacking python-gst-1.0 (1.6.2-1build1) ...
Selecting previously unselected package radiotray.
Preparing to unpack .../radiotray_0.7.3-5ubuntu1_all.deb ...
Unpacking radiotray (0.7.3-5ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up polar-bookshelf (1.0.0-beta56) ...
ln: failed to create symbolic link '/usr/local/bin/polar-bookshelf': No such file or directory
dpkg: error processing package polar-bookshelf (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up python-appindicator (12.10.1+16.04.20170215-0ubuntu1) ...
Setting up python-gst-1.0 (1.6.2-1build1) ...
Setting up radiotray (0.7.3-5ubuntu1) ...
Errors were encountered while processing:
polar-bookshelf
E: Sub-process /usr/bin/dpkg returned an error code (1)
這里***三行非常重要。
Errors were encountered while processing:
polar-bookshelf
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:重新配包數據庫
你可以嘗試的***種方法是重新配置包數據庫。數據庫可能在安裝包時損壞了。重新配置通常可以解決問題。
sudo dpkg --configure -a
方法 2:強制安裝
如果是之前包安裝過程被中斷,你可以嘗試強制安裝。
sudo apt-get install -f
方法3:嘗試刪除有問題的包
如果這不是你的問題,你可以嘗試手動刪除包。但不要對 Linux 內核包(以 linux- 開頭)執行此操作。
sudo apt remove
方法 4:刪除有問題的包中的信息文件
這應該是你***的選擇。你可以嘗試從 /var/lib/dpkg/info
中刪除與相關軟件包關聯的文件。
你需要了解一些基本的 Linux 命令來了解發生了什么以及如何對應你的問題
就我而言,我在 polar-bookshelf 中遇到問題。所以我查找了與之關聯的文件:
ls -l /var/lib/dpkg/info | grep -i polar-bookshelf
-rw-r--r-- 1 root root 2324811 Aug 14 19:29 polar-bookshelf.list
-rw-r--r-- 1 root root 2822824 Aug 10 04:28 polar-bookshelf.md5sums
-rwxr-xr-x 1 root root 113 Aug 10 04:28 polar-bookshelf.postinst
-rwxr-xr-x 1 root root 84 Aug 10 04:28 polar-bookshelf.postrm
現在我需要做的就是刪除這些文件:
sudo mv /var/lib/dpkg/info/polar-bookshelf.* /tmp
使用 sudo apt update
,接著你應該就能像往常一樣安裝軟件了。
哪種方法適合你(如果有效)?
我希望這篇快速文章可以幫助你修復 “E: Sub-process /usr/bin/dpkg returned an error code (1)” 的錯誤。
如果它對你有用,是那種方法?你是否設法使用其他方法修復此錯誤?如果是,請分享一下以幫助其他人解決此問題。