错误消息“ Sub-process/usr/bin/dpkg return an error code (1)”表明包安装程序出现问题。这种情况可能发生在安装软件失败或者安装程序损坏。
此错误中的关键短语是/usr/bin/dpkg。这是指 Linux 的 dpkg 包安装程序。包安装程序是跟踪软件、更新和依赖项的应用程序。如果损坏,任何新的软件安装都会导致此错误消息。

涵盖了几种可能的解决方案,从容易解决的和直接的解决方案到更复杂的过程。

  • 一个具有 sudo 权限的用户帐户
  • 终端窗口/命令行(Ctrl–Alt–T)

在这里插入图片描述

方法1: 重新配置 dpkg 数据库

如果包数据库已损坏,重新配置它可以修复它。

输入以下命令:

sudo dpkg --configure -a

此命令重新配置已解压缩但未必安装的包。在错误的时间中断可能导致此数据库损坏。如果您正在运行安装并且进程被中断,这将非常有帮助。

方法2: 强制安装软件

如果方法1不起作用,可以尝试修复包安装程序中的依赖项。

输入以下内容:

sudo apt-get install -f

-f 选项表示修复中断。它修复包管理器中任何破碎的依赖项。当下载中断或缓存的下载出现问题时,就会出现断开的依赖项。

方法3: 删除不良软件包

如果知道是哪个软件在您的系统上导致了错误,可以删除它。

输入带有导致问题的软件名称的命令和 package _ name:

sudo apt-get remove --purge package_name

–Purge 选项指示系统除了卸载之外还要删除配置文件。这有助于消除所有的痕迹的违规软件。

方法4: 清除未使用的软件包

如果一个旧的、过时的或未使用的软件包导致了问题,您可以通过删除未使用的软件包来解决这个问题。

在终端输入以下命令:

sudo apt autoremove

方法5: 删除发布文件

如果知道导致问题的包的名称,可以手动删除文件。安装文件通常位于/var/lib/dpkg/info 文件中。

输入以下命令,并将 package _ name 替换为损坏的软件的名称:

sudo ls -l /var/lib/dpkg/info | grep -i package_name

这将生成对所安装软件的所有引用的列表。

然后,您可以输入以下内容来删除它们:

sudo mv /var/lib/dpkg/info/package_name.* /tmp

接下来,更新包管理器:

sudo apt-get update

之后,您可以重新安装破损的软件。

方法6: 覆盖包文件

如果您知道导致问题的包的名称,则可以强制进行覆盖。
使用以下命令并将 full _ name _ of _ package 替换为实际的包名称:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/full_name_of_package

注意: 如果您不知道软件包的实际名称,您可以使用以下命令进行搜索:

ls /var/cache/apt/archies/*package_name*

将 package _ name 替换为软件的名称。这应该返回该包名称的任何实例。请注意确切的文件名,并将其输入到前面的命令中。

结论:

dpkg 错误消息指出包安装程序存在问题,这通常是由安装过程中断或数据库损坏引起的。

通过执行这些步骤,您现在应该有了几种方法来修复 dpkg 错误消息并获得一个工作包安装程序。

转载于https://phoenixnap.com/kb/fix-sub-process-usr-bin-dpkg-returned-error-code-1

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐