Problem z appstreamcli podczas uruchamiania apt update

11

Miałem dzisiaj problem z testowaniem Debiana, kiedy uruchomiłem apt apt z następującym zwrotem:

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
źródło
2
Witam i witam w U&L. Prawdopodobnie powinieneś przeformułować to zarówno na pytanie, jak i odpowiedź osobno. Przenieś rozwiązanie do odpowiedzi poniżej i oznacz jako zaakceptowane.
DopeGhoti

Odpowiedzi:

14

Po Googlingu znalazłem kilka osób mówiących, że usunięcie pakietu appstream rozwiąże problem.

To rozwiązanie będzie działać, ale w wielu przypadkach takie podejście spowoduje usunięcie pakietów, których nie chcesz usuwać.

Alternatywnym rozwiązaniem jest skomentowanie trzech ostatnich wierszy w /etc/apt/apt.conf.d/50appstreampliku w następujący sposób:

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

a następnie zapisz plik i uruchom apt-get updateponownie.

Po uruchomieniu aktualizacji systemu istnieje szansa, że ​​pakiet appstream będzie miał aktualizację, która może naprawić ten błąd i może pojawić się taki komunikat:

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

Powinieneś powiedzieć Y, aby zaktualizować zmodyfikowany plik.

Wysyłam to, aby pomóc innym, którzy mogą szukać tego błędu.

JonLord
źródło
2
apt-get clean

Opróżnianie apt cache wydaje się też rozwiązać ten problem. Wtedy mógłbym biec

apt-get update

bez żadnego problemu lub ostrzeżenia.

Edycja: Może byłem za szybki. Po wyczyszczeniu pamięci podręcznej błąd zniknął, ale później wystąpił ponownie.

Darkrain
źródło
1
Jestem zmieszany; czy musiałeś uruchomić pierwsze dwie komendy, czy wystarczające było opróżnienie pamięci podręcznej apt?
Jeff Schaller