Я пишу тесты для приложения моей компании. Один из этих тестов пытается обновить приложение с предыдущей версии до новой версии, чтобы ничего не сломалось. Когда я устанавливаю старую версию приложения, начинаются странные вещи.
Иногда все идет хорошо, и ничего плохого, иногда при попытке установить я получаю это сообщение (название приложения компании подвергнуто цензуре):
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, где создается пакет, но поиск этих ошибок не дает информации ни о чем, кроме «исправления», предложенного в связанном вопросе, единственного другого источника информации Я мог бы также найти, что не помогло ( здесь ):
Итак, я прошу информацию;
Редактировать: Благодаря этому замечательному ответу Флориана Диша я смог решить свою проблему. Прослеживая причину того, что это фактический порок в упаковке, я затем начал пытаться выяснить , почему он был деформирован. Причина была в том, что в рамках нашего энергичного тестирования я выполнял много одновременных операций, и, похоже, файл записывался в дважды , что иногда приводило к неправильным разделам.
Файл /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
, содержащее пустую строку.