ubuntu安软件 错Sub-process /usr/bin/dpkg returned an error 解决

问题描述:

Ubuntu在apt 安装软件时, 错如下:

E: Sub-process /usr/bin/dpkg returned an error code (1)

之后无论用sudo apt install -f or sudo apt autoremove 等常见的修复命令都是无效的。

原因:

上大多数博客指出,此错误是由于软件安装失败安装程序损坏而触发的。dpkg这一package installers 出现了问题。这一错误一般是使用dpkg安装软件失败或者被中断后出现的。命令行中/use/bin/dpkg这一关键信息说明了系统的dpkg软件出错了

解决方法:

方案一:( 上绝大多数用此方法,我也是用此方法解决)

备份原info文件,防止失败还原用

sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak

新建info文件

sudo mkdir /var/lib/dpkg/info

更新apt相关信息

sudo apt update && sudo apt -f install

再次安装软件, 错解决了

其他解决方法:

以下方案收集于 上其他文章,本人未曾尝试过,写出来仅供参考使用。

方案二:

重新配置 package database,直接运行一下命令即可:

sudo dpkg --configure -a

这一命令把那些已经解压但是没有被安装的package进行重新配置。在特定的时间中断安装可能会造成这一错误。这一命令尤其适用于安装进程被中断的情况。

方案三:

强制安装该软件

sudo apt-get install -f

方案四:

清除所有无用的软件,如果是旧的、过时的、无用的软件造成的错误,运行如下命令

sudo apt autoremove

方案五:

删除 post file,跟方案一差不多,方案一是在不知道的情况下,更改所有。

如果你知道导致这一错误的软件,你可以手动删除相关的文件。这些文件通常在/var/lib/dpkg/info文件夹下。执行如下命令

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

这一命令会将你安装的软件的所有引用列出来,之后通过如下命令删除它们:

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

这一命令将相关文件移动到/tmp文件夹下,之后运行如下命令进行更新

sudo apt-get update

方案六:

重写package file

执行以下命令:

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

如果你不知道实际的package name,可以执行以下命令进行搜索:

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

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月10日
下一篇 2022年3月10日

相关推荐