O que pode causar erros “Cabeçalho ausente: cabeçalho, Problema com MergeList, A lista de pacotes ou o arquivo de status não pôde ser analisado ou aberto”?

6

Eu escrevo testes para o aplicativo da minha empresa. Um desses testes tenta atualizar o aplicativo de uma versão anterior para uma nova versão para garantir que nada quebre. Quando estou instalando uma versão antiga do aplicativo, algumas coisas estranhas começam a acontecer.

Às vezes tudo vai bem, e nada está errado, outras vezes ao tentar instalar recebo essa mensagem (nome do aplicativo da empresa censurado):

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.

Usando as soluções fornecidas nas perguntas semelhantes a esta (como isso ). Não ajude, e o problema continua se repetindo assim que acontece da primeira vez.

Isso me levou a acreditar que algo está errado no servidor apt onde o pacote está sendo criado, mas a pesquisa desses erros não fornece nenhuma informação além da "correção" sugerida na pergunta que eu vinculei, a única outra fonte de informação Eu poderia encontrar também não ajudou ( aqui ):

Por isso estou pedindo informações;

Editar: Graças a esta excelente resposta por Fiese de Florença Consegui resolver o meu problema. Ao rastrear o motivo de ser uma malformação real no pacote, comecei a tentar descobrir por que ele estava malformado. A razão foi que, como parte de nossos testes vigorosos, eu estava fazendo muitas operações simultâneas, e parece que o arquivo estava sendo gravado em duas vezes , o que estava causando algumas vezes seções ruins.

    
por Inbar Rose 29.10.2013 / 16:18

1 resposta

4

O arquivo /var/lib/apt/lists/XXX-amd64_Packages contém seções diferentes separadas por linhas em branco. Cada seção consiste em vários campos que se parecem com

 KEY: VALUE

Se VALUE contiver mais de uma linha, cada linha deve começar com um caractere de espaço em branco.

Por exemplo (eu removi algumas linhas aqui):

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

Cada seção descreve um pacote e precisa ter um campo Package: que contenha o nome do pacote.

Você recebe este erro porque uma dessas seções não possui um campo Package: .

Encontre esta seção inválida e tente descobrir por que o campo está ausente:

  • Verifique o arquivo Packages.gz ou Packages.bz2 correspondente no seu servidor
  • Verifique o arquivo debian/control no pacote .deb correspondente e sua origem

Meu primeiro palpite seria um campo Description: em debian/control contendo uma linha em branco.

    
por Florian Diesch 29.10.2013 / 17:06