Вопрос или проблема
При выполнении sudo apt-get upgrade
я получаю следующую ошибку:
/bin/sh: 1: /usr/bin/apt-listchanges: не найден
E: Подпроцесс /usr/bin/apt-listchanges --apt || test $? -lt 10 вернул код ошибки (1)
E: Ошибка при выполнении скрипта /usr/bin/apt-listchanges --apt || test $? -lt 10
То же самое происходит при использовании приложения Discover для обновления пакетов. Большинство приложений можно обновить, но программное обеспечение системы — нет. Это особенно проблематично, так как обновления безопасности не могут быть установлены / загружены.
Что я использую:
OS: Debian GNU/Linux 12 (bookworm) x86_64
Хост: Intel Z690
Ядро: 6.1.0-26-amd64
Пакеты: 2520 (dpkg), 35 (flatpak), 8 (snap)
Оболочка: bash 5.2.15
DE: Plasma 5.27.5
ЦП: 12-е поколение Intel i3-12100F (8) @ 5.500GHz
ГП: NVIDIA GeForce RTX 3060 Lite Hash Rate
Я предполагаю, что apt-listchanges
был установлен ранее, но в настоящее время отсутствует, и его конфигурационные файлы все еще присутствуют. Чтобы исправить это, удалите пакет, не используя apt
:
sudo dpkg --purge apt-listchanges
В частности, это должно удалить /etc/apt/apt.conf.d/20listchanges
, который является виновником в данном случае.
Ответ или решение
Ошибка при выполнении команды apt-get upgrade
на Debian
При выполнении команды sudo apt-get upgrade
у вас возникает следующая ошибка:
/bin/sh: 1: /usr/bin/apt-listchanges: not found
E: Sub-process /usr/bin/apt-listchanges --apt || test $? -lt 10 returned an error code (1)
E: Failure running script /usr/bin/apt-listchanges --apt || test $? -lt 10
Эта ошибка может возникнуть, если пакет apt-listchanges
, который предназначен для отображения изменений при обновлении пакетов, был удален, но конфигурационные файлы все еще присутствуют в системе. Отсутствие этого скрипта вызывает сбой в процессе обновления, что затрудняет установку критически важных системных обновлений, включая обновления безопасности.
Решение проблемы
Чтобы исправить данную ситуацию, выполните следующие шаги:
-
Удаление конфигурационных файлов:
Для начала, необходимо удалить пакетapt-listchanges
, чтобы избавиться от конфликта. Это можно сделать с помощью командыdpkg
. Вводите следующую команду в терминале:sudo dpkg --purge apt-listchanges
Эта команда должна удалить пакет и его конфигурационные файлы, включая
/etc/apt/apt.conf.d/20listchanges
, который является источником проблемы. -
Переустановка пакета (при необходимости):
Если вы хотите продолжать использоватьapt-listchanges
, вы можете переустановить его после его удаления. Это можно сделать с помощью команды:sudo apt-get install apt-listchanges
После установки пути к
apt-listchanges
будут корректными, и проблема должна быть устранена. -
Обновление индекса пакетов:
Рекомендуется обновить индекс пакетов после удаления и (при необходимости) переустановки:sudo apt-get update
-
Запуск обновления:
Теперь можно попытаться снова выполнить команду обновления:sudo apt-get upgrade
Если всё было выполнено правильно, предыдущая ошибка не должна возникать, и обновление системы должно пройти успешно.
Заключение
Данная инструкция призвана помочь вам в устранении ошибки, связанной с отсутствием apt-listchanges
. Следуя этим шагам, вы сможете наладить процесс обновления пакетов в вашей системе. Не забывайте следить за состоянием обновлений, чтобы обеспечить безопасность и исправность системы.
Если у вас возникнут дальнейшие вопросы или проблемы, рекомендуется обратиться к документации Debian или на специализированные форумы для получения дополнительной помощи.