Problema com appstreamcli ao executar o apt update

11

Hoje tive um problema com o teste debian 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
JonLord
fonte
2
Olá, e bem-vindo à U&L. Você provavelmente deve reformular isso em uma pergunta e uma resposta separadamente. Mova a solução para uma resposta abaixo e marque-a como aceita.
DopeGhoti

Respostas:

14

Após pesquisar no Google, encontrei algumas pessoas dizendo que a remoção do pacote appstream resolverá o problema.

Essa solução funcionará, mas em muitos casos essa abordagem removerá pacotes que você não deseja remover.

Uma solução alternativa é comentar as três últimas linhas do /etc/apt/apt.conf.d/50appstreamarquivo, assim:

...
#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 | true; fi";
#};

e salve o arquivo e execute apt-get updatenovamente.

Depois de executar uma atualização do sistema, é possível que o pacote appstream tenha uma atualização que possa corrigir esse erro e uma mensagem como esta possa aparecer:

Configuration file '/etc/apt/apt.conf.d/50appstream'
  ==> Modified (by yourself or by a script) since the installation.
  ==> The package distributor has released an updated version.
    What do you want to do? Your options are:
     Y or I: install the version of the maintainer package
     N or O: keep the currently installed version
       D: Show differences between versions
       Z: start a shell to examine the situation

Você deve dizer Y para atualizar o arquivo que você modificou.

Estou postando isso para ajudar outras pessoas que podem procurar esse erro.

JonLord
fonte
2
apt-get clean

Esvaziar o cache do apt parece ter resolvido isso para mim também. Então eu poderia correr

apt-get update

sem nenhum problema ou aviso.

Edit: Talvez eu tenha sido rápido demais. Depois de limpar o cache, o erro desapareceu, mas mais tarde ocorreu novamente.

darkrain
fonte
1
Estou confuso; você precisou executar os dois primeiros comandos ou estava esvaziando o cache do apt suficiente?
Jeff Schaller