Debian Jessie 上的 apt-get 问题

Debian Jessie 上的 apt-get 问题

上周我们的网站主机遭受了 DDOS 攻击,随后我们的一台服务器出现了问题。

服务器运行 Debian Jessie,每次我尝试运行时apt-get update,都会出现以下错误:

Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.

sudo rm /var/lib/apt/lists/* -vf我发现的一切都表明,通常可以通过运行或预先解决此问题sudo dpkg --configure -a,但这两种方法对我来说都不起作用。我也尝试过切换到不同的镜像,但这并不能解决问题。

大家有什么建议吗?

答案1

您的错误消息只是意味着您的状态文件已损坏。

你应该先把它移除,

rm /var/lib/dpkg/status

然后重新创建它,

touch /var/lib/dpkg/status

然后进行更新和升级。

如果这不起作用,请检查状态文件及其目录树的权限和所有权,并且可能检查磁盘是否已满,您永远不知道......

答案2

您有备份吗?无论如何,现在开始备份到/root的内容/var/lib/dpkg(您可以跳过info/,以便在尝试失败时恢复实际状态。

您的磁盘是否有足够的可用空间/var?(DDOS 往往会填满/var并填满日志)。

完成以上两项检查后,尝试将-old文件复制到同一个文件,但不带后缀-old。(如果您有备份,只需从备份中复制这些文件即可)。

答案3

  1. 清除已检索到的包文件的本地存储库。打开终端并输入:

    sudo apt-get clean
    
  2. 告诉您的系统从它知道的每个档案中拉取最新的软件列表。

    sudo apt-get update
    

相关内容