如何修复Ubuntu更新错误:MergeList问题

时间:2020-01-09 10:44:59  来源:igfitidea点击:

用户遇到的最常见错误之一是MergeList问题。同时使用Ubuntu Update Manager和在终端中使用sudo apt-get更新时可能会遇到错误。

完整的错误如下所示:

E:Encountered a section with no Package: header,
E:Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise_universe_binary-i386_Packages,
E:The package lists or status file could not be parsed or opened.

在这里重要的是第二行。它告诉我们第二行中提到的文件在某种程度上已损坏,因此无法解析。

在Ubuntu中修复MergeList问题

此问题的一种解决方法是在终端(Ctrl + Alt + T)中逐个运行以下两个命令:

sudo rm -r /var/lib/apt/lists/*

我们可以使用以下命令生成一个新的:

sudo apt-get clean && sudo apt-get update

瞧!那应该解决"合并列表问题"错误。

在Debian和Raspbian OS中修复MergeList问题

如果我们使用Debian或者Raspbian OS甚至是Ubuntu,则可能会看到MergeList错误,但损坏的文件可能有所不同:

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.

这次,问题出在/ var / lib / dpkg / status。处理该错误的方法与上一个方法略有不同,并且比较复杂。

现在,我们可以但不应该直接删除它。首先进行备份:

mv /var/lib/dpkg/status /var/lib/dpkg/status.old

我们现在需要做的是获取此状态文件的备份并使用它。备份文件存储在/ var / backups目录中。我们可以列出它:

ls -l /var/backups/dpkg.status*

复制最新的备份:

cp /var/backups/dpkg.status.0 /var/lib/dpkg/status

现在尝试运行更新,看看问题是否已解决。如果没有,我们可以尝试下一个备份文件。如果文件已存档,则需要先将其解压缩。复制后,再次运行update命令并检查是否已修复。