怎樣解決Ubuntu中的 “sub process usr bin dpkg returned an error code 1” 錯(cuò)誤
如果你在 Ubuntu Linux 上安裝軟件時(shí)遇到 “sub process usr bin dpkg returned an error code 1”,請(qǐng)按照以下步驟進(jìn)行修復(fù)。
Ubuntu 和其他基于 Debian 的發(fā)行版中的一個(gè)常見問題是已經(jīng)損壞的包。你嘗試更新系統(tǒng)或安裝新軟件包時(shí)會(huì)遇到類似 “Sub-process /usr/bin/dpkg returned an error code” 的錯(cuò)誤。
這就是前幾天發(fā)生在我身上的事。我試圖在 Ubuntu 中安裝一個(gè)電臺(tái)程序時(shí),它給我了這個(gè)錯(cuò)誤:
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 包引發(fā)了問題。這可能對(duì)你如何修復(fù)這個(gè)錯(cuò)誤至關(guān)重要。
修復(fù) Sub-process /usr/bin/dpkg returned an error code (1)
讓我們嘗試修復(fù)這個(gè)損壞的錯(cuò)誤包。我將展示幾種你可以逐一嘗試的方法。最初的那些易于使用,幾乎不用動(dòng)腦子。
在試了這里討論的每一種方法之后,你應(yīng)該嘗試運(yùn)行 sudo apt update
,接著嘗試安裝新的包或升級(jí)。
方法 1:重新配包數(shù)據(jù)庫(kù)
你可以嘗試的***種方法是重新配置包數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)可能在安裝包時(shí)損壞了。重新配置通常可以解決問題。
sudo dpkg --configure -a
方法 2:強(qiáng)制安裝
如果是之前包安裝過程被中斷,你可以嘗試強(qiáng)制安裝。
sudo apt-get install -f
方法3:嘗試刪除有問題的包
如果這不是你的問題,你可以嘗試手動(dòng)刪除包。但不要對(duì) Linux 內(nèi)核包(以 linux- 開頭)執(zhí)行此操作。
sudo apt remove
方法 4:刪除有問題的包中的信息文件
這應(yīng)該是你***的選擇。你可以嘗試從 /var/lib/dpkg/info
中刪除與相關(guān)軟件包關(guān)聯(lián)的文件。
你需要了解一些基本的 Linux 命令來了解發(fā)生了什么以及如何對(duì)應(yīng)你的問題
就我而言,我在 polar-bookshelf 中遇到問題。所以我查找了與之關(guān)聯(lián)的文件:
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
現(xiàn)在我需要做的就是刪除這些文件:
sudo mv /var/lib/dpkg/info/polar-bookshelf.* /tmp
使用 sudo apt update
,接著你應(yīng)該就能像往常一樣安裝軟件了。
哪種方法適合你(如果有效)?
我希望這篇快速文章可以幫助你修復(fù) “E: Sub-process /usr/bin/dpkg returned an error code (1)” 的錯(cuò)誤。
如果它對(duì)你有用,是那種方法?你是否設(shè)法使用其他方法修復(fù)此錯(cuò)誤?如果是,請(qǐng)分享一下以幫助其他人解決此問題。