
我正在嘗試從 18.10 Cosmic 升級。哎呀正在引起問題。我無法卸載它,它也不會讓我停止它。有沒有辦法解決這個問題,以便我可以完成升級?
抱歉,如果我遺漏了一些明顯的東西。我已經很多年沒有真正搞亂 Linux 了,我正在努力讓這台舊筆記型電腦重新啟動並運行。
Preparing to unpack .../whoopsie_0.2.69ubuntu0.3_amd64.deb ...
Failed to reload daemon: Access denied
Failed to retrieve unit state: Access denied
Failed to stop whoopsie.service: Access denied
See system logs and 'systemctl status whoopsie.service' for details.
invoke-rc.d: initscript whoopsie, action "stop" failed.
dpkg: warning: old whoopsie package pre-removal script subprocess returned error exit status 1
dpkg: trying script from the new package instead ...
Failed to reload daemon: Access denied
Failed to retrieve unit state: Access denied
Failed to stop whoopsie.service: Access denied
See system logs and 'systemctl status whoopsie.service' for details.
invoke-rc.d: initscript whoopsie, action "stop" failed.
dpkg: error processing archive /var/cache/apt/archives/whoopsie_0.2.69ubuntu0.3_amd64.deb (--unpack):
new whoopsie package pre-removal script subprocess returned error exit status 1
Failed to reload daemon: Access denied
Failed to reload daemon: Access denied
Failed to retrieve unit state: Access denied
Failed to start whoopsie.service: Access denied
See system logs and 'systemctl status whoopsie.service' for details.
invoke-rc.d: initscript whoopsie, action "start" failed.
Failed to get properties: Access denied
dpkg: error while cleaning up:
installed whoopsie package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/whoopsie_0.2.69ubuntu0.3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
room@room-pc:~$
如果我嘗試阻止它:
room@room-pc:~$ sudo systemctl stop whoopsie
Failed to stop whoopsie.service: Access denied
See system logs and 'systemctl status whoopsie.service' for details.
room@room-pc:~$
如果我嘗試刪除它:
The following packages will be REMOVED:
whoopsie*
0 upgraded, 0 newly installed, 1 to remove and 668 not upgraded.
973 not fully installed or removed.
After this operation, 109 kB disk space will be freed.
Do you want to continue? [Y/n] y
dpkg: error processing package whoopsie (--remove):
package is in a very bad inconsistent state; you should
reinstall it before attempting a removal
dpkg: too many errors, stopping
Errors were encountered while processing:
whoopsie
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)
room@room-pc:~$
那麼,如何解決這個問題並成功升級系統呢?
答案1
正如所提到的普魯莫,如果你想升級的話
備份您的內容並重新安裝支援的版本。沒有適合您的升級路徑。若要前往受支援的版本,您需要使用此路徑 18.10 -> 19.04 -> 19.10 -> 20.04,但也不支援 19.04 和 19.10。
注意 - 我只是告訴您如何修復安裝時的錯誤。
簡短回答
一個簡單有效的修復方法是強制覆蓋有問題的套件並重新安裝它們
只需運行:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/whoopsie_0.2.69ubuntu0.3_amd64.deb
長答案
介紹
此錯誤訊息Sub-process /usr/bin/dpkg returned an error code (1)
表示軟體包安裝程式有問題。在 Ubuntu 中,軟體安裝失敗或安裝程式損壞後可能會發生這種情況。
此錯誤中的關鍵字詞是/usr/bin/dpkg
。這是指 Linux 的 dpkg 軟體包安裝程式。軟體包安裝程式是一種追蹤軟體、更新和依賴項的應用程式。如果它被損壞,任何新的軟體安裝都會導致此錯誤訊息。
我們涵蓋了幾種可能的解決方案,從容易解決的簡單解決方案到更複雜的流程。本指南將協助您解決 Ubuntu 作業系統上 dpkg 回傳錯誤代碼 1 的問題。
本答案涵蓋的方法
方法1:重新配置dpkg資料庫。
方法2:強制安裝軟體。
方法三:刪除不良軟體包。
方法四:清理不用的軟體包。
方法5:覆蓋包檔案。
方法 6:刪除帖子檔。
樣本錯誤
Errors were encountered while processing:
google-chrome-stable
E: Sub-process /usr/bin/dpkg returned an error code (1)
在這裡你可以看到problem_package
is google-chrome-stable
,但在你的情況下,它是 whoopsie
方法一:重新配置dpkg資料庫
此錯誤的觸發因素之一是 dpkg 資料庫損壞。這可能是由於軟體包安裝突然中斷所造成的。重新配置資料庫是解決此問題的一種方法。
為此,只需執行以下命令:
$ sudo dpkg --configure -a
這將重新配置在安裝過程中未安裝的解壓縮包。
方法二:強制安裝軟體
執行以下命令來執行強制安裝:
$ sudo apt-get install -f
或者,
$ sudo apt-get install --fix-broken
此處,-f
(或--fix-broken
) 選項將嘗試修正依賴關係已損壞的 Ubuntu 系統。
刪除錯誤包
如果您知道哪個軟體導致系統出現錯誤,則可以將其刪除。
輸入命令以及package_name
導致問題的軟體的名稱:
sudo apt-get remove --purge package_name
此--purge
選項指示系統除了卸載之外還刪除設定檔。這有助於消除所有有問題的軟體的痕跡。
清除未使用的軟體包。
要執行此操作,只需運行:
sudo apt autoremove
該autoremove
選項只是清除不需要的軟體。
覆蓋/刪除包文件
有幾次,一些軟體包被困在 apt 中,有時會導致錯誤。
覆蓋這些檔案(這也會重新安裝有問題的軟體包)
sudo dpkg -i --force-overwrite /var/cache/apt/archives/package_name.deb
sudo apt -f install
強制安裝是可選的
如果您想刪除這些檔案(這不會重新安裝軟體包)
sudo rm -rf /var/cache/apt/archives/*.deb
sudo apt -f install
刪除與包關聯的帖子文件
這應該是你最後的手段。
最後,您可以手動刪除所有與麻煩的軟體包相關的內容。首先,您需要找到位於/var/lib/dpkg/info
所示目錄中的這些檔案。
$ sudo ls -l /var/lib/dpkg/info | grep -I package_name
列出檔案後,您可以將它們移至 /tmp 目錄,如圖所示
$ sudo mv /var/lib/dpkg/info/package-name.* /tmp
或者,您可以使用 rm 命令手動刪除檔案。
$ sudo rm -r /var/lib/dpkg/info/package-name.*
最後,更新包列表,如下所示:
$ sudo apt update
此後您可以再次嘗試重新安裝軟體包。
另一個工作解決方案
正如建議的諾伯特您應該嘗試重新安裝有問題的軟體包
export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
cd ~/Downloads
apt-get download python3-minimal
sudo -E dpkg -i --force-all ./python3-minimal*.deb
sudo -E dpkg --configure -a
sudo -E apt-get install -f
sudo -E apt-get install --reinstall python3-minimal
sudo -E apt-get install --reinstall $(dpkg -l | grep ^ii | grep python | awk '{print $2}')
sudo -E dpkg --configure -a
sudo -E apt-get install -f
sudo -E apt-get install aptitude
sudo -E aptitude safe-upgrade
sudo -E aptitude dist-upgrade
mkdir ~/Downloads/debs
cd ~/Downloads/debs
apt-get download package_name
sudo dpkg -i --force-all ./package_name*.deb
一般來說,這應該有效:)
結論
dpkg 錯誤訊息表示軟體包安裝程式有問題,這通常是由安裝過程中斷或資料庫損壞引起的。
透過執行這些步驟,您現在應該有多種方法來修復 dpkg 錯誤訊息並獲得可用的軟體包安裝程式。
致謝:
https://phoenixnap.com/kb/fix-sub-process-usr-bin-dpkg-returned-error-code-1
https://www.howtoing.com/sub-process-usr-bin-dpkg-returned-an-error-in-ubuntu/amp/
https://ostechnix.com/fix-sub-process-usr-bin-dpkg-returned-an-error-code-1-in-ubuntu/