Eu tive um problema com o teste do debian hoje quando estava executando uma atualização do apt com o seguinte retorno:
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi'
E: Sub-process returned an error code
Depois de pesquisar no Google, encontrei algumas pessoas dizendo que remover o pacote appstream resolverá o problema.
Essa solução funcionará, mas em muitos casos essa abordagem removerá pacotes que talvez você não queira remover.
Uma solução alternativa é comentar as três últimas linhas do
/etc/apt/apt.conf.d/50appstream
arquivo assim:e, em seguida, salve o arquivo e execute
apt-get update
novamente.Depois de executar uma atualização do sistema, há uma chance de que o pacote appstream tenha uma atualização que possa corrigir esse erro e uma mensagem como esta pode aparecer:
Você deve dizer Y para atualizar o arquivo que você modificou.
Estou postando isso para ajudar outras pessoas que possam pesquisar esse erro.
Esvaziar o cache do apt parece ter resolvido isso para mim também. Então eu poderia correr
sem nenhum problema ou aviso.
Edit: Talvez eu tenha sido muito rápido. Após a limpeza do cache, o erro desapareceu, mas depois ocorreu novamente.
Eu tive esse mesmo problema ao me recuperar de uma atualização com falha para o Ubuntu 20.04. Com base em respostas em outros lugares, tirei o appstreamcli do caminho:
Depois disso,
funcionou sem problemas.
eu então fiz
e finalmente
Isso resolveu o impasse. Eu então tinha vários pacotes "retidos" para lidar manualmente, mas isso era simples (embora um pouco tedioso).
Use estes comandos para a solução:
em seguida, coloque no comentário as últimas 3 linhas do arquivo, assim:
então novamente faça:
e nisso
Dê Y e pressione Enter para o novo arquivo atualizado.