彻底解决ubuntu下报错E: Sub

您所在的位置:网站首页 ubuntu发生了一个错误 彻底解决ubuntu下报错E: Sub

彻底解决ubuntu下报错E: Sub

2023-08-01 03:51| 来源: 网络整理| 查看: 265

问题描述:

使用apt-get install 安装软件报错E: Sub-process /usr/bin/dpkg returned an error code (1)

原因分析及解决思路:

如果要安装某个软件包xxx,遇到此错误,最简单的方法是使用以下命令进行修复:

sudo apt-get -f install

很明显,相信你已经试过该命令不行,才在网络上找其他解决办法。更常用的方法如下:

该命令会删除/var/lib/dpkg/info/目录下所有与软件包xxx相关的文件,不放心的同学可以先对目录进行备份:sudo cp -rp /var/lib/dpkg/info/ /var/lib/dpkg/info.bak/

sudo rm -rf /var/lib/dpkg/info/*xxx* sudo apt-get -f install

如果到这里还没有解决你的问题,很可能是我们力气用错了地方,执行下面的命令查看boot分区的占用情况:

sudo df -h  

 如果发现有boot分区占用100%的情况,不妨看一下之前的报错:

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

看这条报错前面有没有类似分区空间不足的报错提示,我们看错误往往只关注到了最后一条,很容易忽略关键信息。

解决办法:

先查看系统自动更新了多少内核:

sudo dpkg --get-selections|grep linux-image

确定自己系统当前使用的内核:

sudo uname -a

按理说应该使用以下命令卸载不用的内核:

sudo apt-get autoremove [内核名称]

但是现在apt-get 命令已经用不了了,所以将几个比当前系统所使用内核版本低的内核移动到其他文件夹:

先看看boot分区的内核文件:

再查看系统当前内核

我们可以选几个最低版本的内核,把它们移动到其他文件夹。在本例截图中,只要比4.4.0-206版本低内核都可以移动:

cd /boot sudo mv *[要移动的系统内核版本号]* /home/

两个*表示通配符,上述命令移动了所有文件名与要移动系统内核版本号相关的文件。带有此时boot分区应该多了一定的空间,我们使用下面命令修复最初遇到的问题:

sudo apt-get -f install

修复完成后,我们再卸载剩下多余的内核:

查看当前有的内核: sudo dpkg --get-selections|grep linux-image 卸载内核: sudo apt-get autoremove [想卸载的内核]

接着我们把刚才移动的内核再移动到boot分区,使用apt卸载:

sudo mv /home/*[刚才移动的系统内核版本号]* /boot sudo apt-get autoremove [刚才移动的内核]



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3