什么原因导致“缺少包:标题、MergeList 有问题、无法解析或打开包列表或状态文件”错误?

什么原因导致“缺少包:标题、MergeList 有问题、无法解析或打开包列表或状态文件”错误?

我为公司的应用程序编写测试。其中一个测试尝试将应用程序从旧版本升级到新版本,以确保不会出现任何问题。当我安装旧版本的应用程序时,一些奇怪的事情开始发生。

有时一切顺利,没有任何问题,其他时候,当我尝试安装时,我收到此消息(公司应用程序名称被审查):

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

使用与此类似的问题中提供的解决方案(例如)。没有帮助,问题在第一次发生后会不断重复发生。

这让我相信创建软件包的 apt 服务器上出了问题,但搜索这些错误没有找到任何信息,除了我在链接的问题中建议的“修复”之外,我能找到的唯一其他信息来源也没有帮助(这里):

所以我在询问信息;

编辑:谢谢这个很好的答案经过弗洛里安·迪施我终于解决了问题。通过追溯原因,发现包裹确实存在畸形,我开始尝试找出为什么格式不正确。原因是,作为我们严格测试的一部分,我同时执行了许多操作,似乎文件正在被写入两次这导致它有时会出现不好的部分。

答案1

该文件/var/lib/apt/lists/XXX-amd64_Packages包含由空行分隔的不同部分。每个部分由多个字段组成,如下所示

 KEY: VALUE

如果VALUE包含多行,则每行必须以空格字符开头。

例如(我在这里删除了一些行):

Package: rapid-photo-downloader
Priority: optional
Section: graphics
Description: Photo and video importer from cameras, memory cards and other devices
 Rapid Photo Downloader is written by a photographer for professional and
 amateur photographers. It can  download photos and videos from multiple
 cameras, memory cards and Portable Storage Devices simultaneously. It
 provides many flexible, user-defined options for subfolder creation,
 photo and video renaming, and backup.
Python-Version: 2.7

每个部分描述一个包,并且需要有一个Package:包含包名称的字段。

您收到此错误是因为其中一个部分没有字段Package:

找到此无效部分并尝试找出缺少该字段的原因:

  • 检查服务器上相应的Packages.gz或文件Packages.bz2
  • 检查debian/control相应.deb包中的文件及其来源

我的第一个猜测是包含一个空白行的Description:字段debian/control

相关内容