Проблема з appstreamcli під час запуску apt оновлення


11

У мене виникла проблема з тестуванням debian сьогодні, коли я запускав влучне оновлення із наступним поверненням:

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

2
Привіт, ласкаво просимо до U&L. Ймовірно, ви повинні переформулювати це як у запитання, так і у відповідь окремо. Перемістіть рішення у відповіді нижче та позначте його як прийняте.
DopeGhoti

Відповіді:


14

Після Googling я виявив, що деякі люди говорять про те, що видалення пакета програм усуне проблему.

Це рішення спрацює, але у багатьох випадках такий підхід видалить пакунки, які ви, можливо, не захочете видаляти.

Альтернативним рішенням є коментування трьох останніх рядків у /etc/apt/apt.conf.d/50appstreamфайлі таким чином:

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

а потім збережіть файл і запустіть apt-get updateзнову.

Після запуску оновлення системи є ймовірність того, що в додатку пакета буде оновлено оновлення, яке може виправити цю помилку, і може з’явитися таке повідомлення:

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

Ви повинні сказати Y, щоб оновити файл, який ви змінили.

Я публікую це, щоб допомогти іншим, хто може шукати цю помилку.


2
apt-get clean

Спустошення влучного кешу, здається, вирішило і це для мене. Тоді я міг бігати

apt-get update

без жодних проблем чи попереджень.

Редагувати: Можливо, я був надто швидким. Після очищення кеша помилки не було, але пізніше вона повторилася знову.


1
Я збентежений; чи потрібно було запустити перші дві команди чи достатньо було виповнити підходящий кеш?
Jeff Schaller
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.