我为我公司的应用程序编写测试。其中一项测试尝试将应用程序从以前的版本升级到新版本,以确保没有任何问题。当我安装旧版本的应用程序时,一些奇怪的事情开始发生。
有时一切正常,没有任何问题,有时在尝试安装时我收到此消息(公司应用程序名称已审查):
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.
Run Code Online (Sandbox Code Playgroud)
使用与此类似的问题中提供的解决方案(像这样)。没有帮助,一旦第一次发生,问题就会不断重复。
这让我相信在创建包的 apt 服务器上出现了问题,但是搜索这些错误不会产生关于我链接的问题中建议的“修复”之外的任何信息,这是我能找到的唯一其他信息来源也没有帮助(这里):
所以我要求提供信息;
编辑:多亏了Florian Diesch 的精彩回答,我才能够解决我的问题。通过的原因追溯是在包装的实际畸形,我便开始试图找出为什么它的格式不正确。原因是作为我们严格测试的一部分,我同时进行了许多操作,而且文件似乎被写入了两次,这导致它有时会出现错误的部分。
该文件/var/lib/apt/lists/XXX-amd64_Packages包含由空行分隔的不同部分。每个部分由多个字段组成,看起来像
KEY: VALUE
Run Code Online (Sandbox Code Playgroud)
如果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
Run Code Online (Sandbox Code Playgroud)
每个部分描述一个包,并且需要有一个Package:包含包名称的字段。
您收到此错误是因为其中一个部分没有字段Package:。
找到这个无效部分并尝试找出该字段缺失的原因:
Packages.gz或者文件Packages.bz2debian/control对应.deb包中的文件及其来源我的第一个猜测是包含空行的Description:字段debian/control。
| 归档时间: |
|
| 查看次数: |
1698 次 |
| 最近记录: |