修复 Ubuntu 中“子进程 /usr/bin/dpkg 返回错误代码 (1)”

今天我尝试升级我的 Ubuntu 20.04 LTS 桌面,但遇到了这个错误 – “子进程/usr/bin/dpkg 返回错误代码(1)”. 这是 Ubuntu 和其他基于 DEB 的系统中的常见问题之一。

发生此错误的原因通常是应用程序安装失败,或者 dpkg 软件包安装程序在安装软件包的中途损坏或中断。

以下是我尝试升级 Ubuntu 桌面的命令:

$ sudo apt update
$ sudo apt upgrade

而且……这是错误消息:

Reading package lists... Done Building dependency tree        Reading state information... Done Calculating upgrade... Done The following packages will be upgraded:   eog 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 21 not fully installed or removed. Need to get 0 B/421 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n]  (Reading database ... 230012 files and directories currently installed.) Preparing to unpack .../eog_3.36.2-0ubuntu1_amd64.deb ... Unpacking eog (3.36.2-0ubuntu1) over (3.36.1-1) ... dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt dpkg-deb: error: <decompress> subprocess returned error exit status 2 dpkg: error processing archive /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb (--unpack):  cannot copy extracted data for './usr/lib/x86_64-linux-gnu/eog/libeog.so' to '/usr/lib/x86_64-linux-gnu/eog/libeog.so.dpkg-new': unexpected end of file or stream Errors were encountered while processing:  /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
子进程 usr bin dpkg 返回错误代码 1

内容

  1. 修复Ubuntu中的“子进程/usr/bin/dpkg返回错误代码(1)”
    1. 解决方案 1 – 重新配置 dpkg 数据库
    2. 解决方案 2 – 强制安装应用程序
    3. 解决方案 3 – 从本地缓存文件夹中删除有问题的应用程序 .deb 文件并重新安装
    4. 解决方案 4 – 删除有问题的应用程序

修复Ubuntu中的“子进程/usr/bin/dpkg返回错误代码(1)”

如果您遇到上述错误,请不要担心! 在这里,我给出了一些解决方法来解决 "Sub-process /usr/bin/dpkg returned an error code (1)" Ubuntu 及其变体(如 Linux Mint、Pop OS)中的问题。

解决方案 1 – 重新配置 dpkg 数据库

如果软件包安装过程中途停止或中断,则可能是 dpkg 数据库损坏。 重新配置 dpkg 数据库可能会解决这个问题。

要重新配置 dpkg 数据库,只需运行:

$ sudo dpkg --configure -a

此命令将尝试修复损坏的 dpkg 数据库,然后重新配置所有损坏的包。 此命令通常修复 dpkg returned an error code (1) 问题。 如果由于任何原因未能解决问题,请按照后续解决方案进行操作。

解决方案 2 – 强制安装应用程序

如果第一种方法不起作用,请运行以下命令执行强制安装:

$ sudo apt-get install -f

或者,

$ sudo apt-get install --fix-broken

这里, -f (或者 --fix-broken) 选项将尝试更正依赖项损坏的 Ubuntu 系统。

如果这两个解决方案没有帮助并且问题仍然存在,请尝试下一个解决方案。

解决方案 3 – 从本地缓存文件夹中删除有问题的应用程序 .deb 文件并重新安装

正如您在错误消息(最后两行)中看到的那样, 眼压 包导致此错误。

[...] /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb  E: Sub-process /usr/bin/dpkg returned an error code (1)

对于那些想知道的人,eog(Eye of GNOME 的缩写)是 GNOME 桌面环境的官方和默认图像查看器。 所以这个包有问题,不允许我升级我的 Ubuntu。

当你安装一个包时,它会被下载并保存在缓存文件夹中 /var/cache/apt/archives/.

要修复此错误,请使用以下命令删除缓存的包:

$ sudo rm /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb

将 eog_3.36.2-0ubuntu1_amd64.deb 替换为您的包。

清理包缓存文件夹:

$ sudo apt-get clean
$ sudo apt-get autoremove

更新源列表:

$ sudo apt-get update

升级您的系统:

$ sudo apt-get upgrade

最后,从官方存储库中获取新包并重新安装,如下所示:

$ sudo apt-get install eog

这个解决方案对我有用。

解决方案 4 – 删除有问题的应用程序

这应该是你最后的手段。 如果上述方法都没有帮助,请从系统中删除有问题的包,如下所示:

$ sudo apt-get remove --purge eog
$ sudo apt-get clean && sudo apt-get autoremove

此命令将从系统中删除 eog 及其所有配置文件。

并找到并删除与损坏的包关联的所有文件。

要查找与包相关的所有文件,请运行:

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

示例输出:

-rw-r--r-- 1 root root 61926 Apr 24 13:42 eog.list -rw-r--r-- 1 root root 5889 Mar 29 08:01 eog.md5sums

手动删除它们。

而已。 在这个阶段,这四种解决方案中的任何一种都应该可以帮助您修复“子流程 /usr/bin/dpkg 在 Ubuntu 和其他基于 DEB 的系统中返回错误代码 (1)”。

Ubuntu其他常见问题的解决方法:

  • 如何在不重新安装的情况下修复损坏的 Ubuntu 操作系统
  • 如何修复 Ubuntu 上的 Busybox Initramfs 错误
  • 修复 Ubuntu 中“遇到没有包的部分:标题”错误
  • 修复“W:某些索引文件无法下载。” Ubuntu 中的错误
  • 修复“E:包缓存文件已损坏,它具有错误的哈希”错误在 Ubuntu 中
  • 如何修复 Ubuntu 上的“E:无法获得锁定 /var/lib/dpkg/lock”错误
  • 修复 Ubuntu 中的“dpkg: error: parsing file ‘/var/lib/dpkg/updates/0014′”错误

APTdpkg错误代码LinuxLinux故障排除故障排除Ubuntu