Проблема с appstreamcli при запуске apt update

11

У меня была проблема с тестированием Debian сегодня, когда я запускал apt-обновление со следующим return:

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
источник
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, чтобы обновить файл, который вы изменили.

Я публикую это, чтобы помочь другим, которые могут искать эту ошибку.

JonLord
источник
2
apt-get clean

Очистка apt-кэша, похоже, решила и меня тоже. Тогда я мог бы бежать

apt-get update

без каких-либо проблем или предупреждений.

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

darkrain
источник
1
Я смущен; Вам нужно было выполнить первые две команды или достаточно было очистить кэш apt?
Джефф Шаллер