彻底解决ubuntu下报错E: Sub |
您所在的位置:网站首页 › ubuntu发生了一个错误 › 彻底解决ubuntu下报错E: Sub |
问题描述:
使用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 |