今天我尝试升级我的 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)
内容
修复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