平台信息:
ubuntu 16.04LTS
在ubuntu上编译一个驱动源码时,不知道自己做了什么操作,然后执行apt-get update/install/remove 命令时都出现以下错误,错误提示如下所示:
如果是在安装某个软件包之后出现这个问题,且apt-get install 还能用,那么尝试使用命令 sudo apt-get install –reinstall XXX软件包 ,重新安装该软件包进行修复。
如果和我一样,apt-get 命令运行不了,那么可参考我的解决方法。 解决方法1: 1,把status文件进行备份。sudo cp /var/lib/dpkg/status /var/lib/dpkg/status-error 2,把旧的status 还原, sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status
3,然后执行命令:
sudo rm -vrf /var/lib/apt/list/*
sudo apt-get update
如按照以上方法处理后,执行sudo apt-get update 命令后,又出现以下错误:
解决方法2 :
这显然是安装libio-socket-ssl-perl软件包时有问题,那么尝试重新安装该包:sudo apt-get install –reinstall libio-socket-ssl-perl
但是,我的apt-get install 命令用不了,因此,无法重装。
那么只有使用其他的方法来解决了。
解决方法3:
sudo rm -rf /var/lib/dpkg/status
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo rm -vrf /var/lib/apt/list/*
sudo apt-get update
按照解决方法3执行后,结果还是一样, 这个错:
看来无法解决这个出错的地方,那么只能用一个以前的且没有错误的status文件来覆盖这个status文件了。 终极解决方法4: sudo rm -rf /var/lib/dpkg/status sudo cp /var/backups/dpkg.status.1.gz /var/lib/dpkg/ sudo gzip -d dpkg.status.1.gz sudo mv dpkg.status.1 status sudo rm -vrf /var/lib/apt/list/*
然后再执行 sudo apt-get update 就可以正常获取更新的软件包的列表信息了。
因为我也不知道我是做什么操作才导致这个问题,所以只能一步步的来解决了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!