统计
  • 文章总数:42 篇
  • 评论总数:14 条
  • 分类总数:17 个
  • 最后更新:2024年09月21日

[折腾]pve无法更新出现apt-get错误,修复办法

本文阅读 2 分钟
首页 折腾日志 正文

image.png

如果和我一样,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 命令后,又出现以下错误:
[plain] view plain copy

正在读取软件包列表... 有错误!
E: Problem parsing dependency Depends
E: 处理 libio-socket-ssl-perl (NewVersion2) 时出错
E: Problem with MergeList /var/lib/dpkg/status
E: 无法解析或打开软件包的列表或是状态文件。

解决方法 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 执行后,结果还是一样,报这个错:
[html] view plain copy

正在读取软件包列表... 有错误!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status

看来无法解决这个出错的地方,那么只能用一个以前的且没有错误的 status 文件来覆盖这个 status 文件了。
终极解决方法 4:
sudo rm -rf /var/lib/dpkg/status
sudo cp /var/backups/dpkg.status.1.gz /var/lib/dpkg/
cd /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 就可以正常获取更新的软件包的列表信息了。

因为我也不知道我是做什么操作才导致这个问题,所以只能一步步的来解决了。
————————————————
版权声明:本文为 CSDN 博主「5 爱吃西红柿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
https://blog.csdn.net/dztdztdzt/article/details/84919568

本文经授权后发布,本文观点不代表立场
[小记]记录一次申请供电系统阶梯电价“一户多人口”记录!巨烦!已申请下来!
« 上一篇 08-11
[应用分享]电脑内存再少也要安装的字体-已整理打包
下一篇 » 10-14