网站搜索

修复“子进程 /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 数据库损坏引起的。

上述任何解决方案都应该可以修复此错误。如果您已经走到这一步,那么我们希望问题已成功解决并且您能够重新安装软件包。

如果任何方法对您有效,请指定哪一种方法解决了问题。如果您设法使用其他方法修复此错误,请分享它以帮助可能遇到相同问题的其他人。