修复“子进程 /usr/bin/dpkg 返回错误代码 (1)”
在 Ubuntu 和其他基于 Debian 的发行版中遇到软件包损坏问题并不罕见。有时,当您升级系统或安装软件包时,可能会遇到“子进程 /usr/bin/dpkg 返回错误代码”错误。
这个错误中的关键短语是/usr/bin/dpkg,它指向Linux中使用的dpkg软件包安装程序。软件包安装程序管理软件、更新和依赖项。如果它损坏,任何安装新软件的尝试都可能触发此错误消息。
例如,不久前,我尝试升级到 Ubuntu 22.04,但遇到了 dpkg 错误,如下所示。
Errors were encountered while processing:
google-chrome-stable
E: Sub-process /usr/bin/dpkg returned an error code (1)
这表明 google-chrome-stable 软件包已损坏或损坏。这个问题有一些解决方法,所以不要认输或丢弃你的系统。
修复子进程 /usr/bin/dpkg 返回错误代码 (1)
让我们解决这个损坏的包错误的问题。我将引导您了解几种方法,从最简单的方法开始。这些初始步骤很简单,不需要太多努力。
方法1:重新配置dpkg包数据库
此错误的触发因素之一是 dpkg 软件包数据库损坏。这可能是由于软件包安装突然中断造成的。重新配置数据库是解决此问题的一种方法。
为此,只需执行以下命令:
sudo dpkg --configure -a
这将重新配置在安装过程中未安装的解压包。
方法2:强制安装有问题的包
有时,软件包安装过程中可能会出现错误。发生这种情况时,您可以使用 -f
选项强制安装软件包,如下所示。
sudo apt install -f
OR
sudo apt install --fix-broken
-f
选项和 --fix-broken
可以互换使用,修复因包下载中断或缓存包下载而导致的损坏的依赖项。
方法 3:删除或清除损坏或损坏的软件包
如果前两种解决方案未能解决问题,您可以删除或清除有问题的软件包,如图所示。
sudo apt remove --purge package_name
例如,就我而言,清除 Google Chrome 软件包解决了该问题。
sudo apt remove --purge google-chrome-stable
然后调用以下命令删除所有旧的、未使用的和不必要的软件包,这也释放了硬盘驱动器上的空间。
sudo apt clean
sudo apt autoremove
方法 4:删除与包关联的所有文件
最后,您可以手动删除与有问题的包关联的所有文件。首先,您需要找到位于 /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
此后,您可以通过重新安装软件包来再次尝试。
结论
此类 dpkg 错误表示软件包安装程序存在问题,通常是由安装过程中断或 dpkg 数据库损坏引起的。
上述任何解决方案都应该可以修复此错误。如果您已经走到这一步,那么我们希望问题已成功解决并且您能够重新安装软件包。
如果任何方法对您有效,请指定哪一种方法解决了问题。如果您设法使用其他方法修复此错误,请分享它以帮助可能遇到相同问题的其他人。