ubuntu安软件报错Sub-process—usr—bin—dpkgreturnedanerror解决
问题描述:
Ubuntu在apt 安装软件时,报错如下:
E: Sub-process /usr/bin/dpkg returned an error code (1)
之后无论用sudo apt install -forsudo 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 aptupdate&& sudo apt -finstall
再次安装软件,报错解决了
其他解决方法:
以下方案收集于网上其他文章,本人未曾尝试过,写出来仅供参考使用。
方案二:
重新配置 package database,直接运行一下命令即可:
sudo dpkg--configure -a
这一命令把那些已经解压但是没有被安装的package进行重新配置。在特定的时间中断安装可能会造成这一错误。这一命令尤其适用于安装进程被中断的情况。
方案三:
强制安装该软件
sudo apt-getinstall -f
方案四:
清除所有无用的软件,如果是旧的、过时的、无用的软件造成的错误,运行如下命令
sudoapt autoremove
方案五:
删除 post file,跟方案一差不多,方案一是在不知道的情况下,更改所有。
如果你知道导致这一错误的软件,你可以手动删除相关的文件。这些文件通常在/var/lib/dpkg/info文件夹下。执行如下命令
sudo ls –l /var/lib/dpkg/info | grep –i package_name
这一命令会将你安装的软件的所有引用列出来,之后通过如下命令删除它们:
sudomv /var/lib/dpkg/info/package_name.*/tmp
这一命令将相关文件移动到/tmp文件夹下,之后运行如下命令进行更新
sudo apt-getupdate
方案六:
重写package file
执行以下命令:
sudo dpkg –i ––force–overwrite /var/cache/apt/archives/full_name_of_package
如果你不知道实际的package name,可以执行以下命令进行搜索:
ls/var/cache/apt/archies/*package_name*
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!