Вопрос или проблема
После обновления до Debian 12 с KDE менеджеры пакетов Apper и Discover показывают, что пакет “orphan-sysvinit-scripts” должен быть обновлён.
Но у меня нет установленного этого пакета, так почему его нужно обновлять?
Кроме того, sudo apt-get upgrade
не показывает, что пакет должен быть установлен (он только показывает Следующие пакеты были удержаны: sysv-rc-conf
, что вероятно заставляет некоторых пользователей устанавливать его вручную, случайно удаляя сотни необходимых пакетов, которые он хочет удалить).
Он хочет установить версию 0.14 из +auto:debian-stable-main. Я думал, что он использует только apt-get и должен показывать только те пакеты, которые также показывает команда apt-get upgrade. Он также не показывает размер файла для пакета (ничего в столбце “Размер” Apper).
Отчёт об ошибке здесь.
Это исчезло после удаления sudo apt-get remove sysv-rc-conf
, который не нужен, если вы не используете sysvinit. См. связанный вопрос.
Ответ или решение
Почему KDE Discover и Apper показывают необходимость обновления пакета orphan-sysvinit-scripts, а apt-get upgrade не предлагает установить его?
После обновления до Debian 12 с KDE вы столкнулись с интересной ситуацией: менеджеры пакетов Apper и Discover сообщают о том, что пакет "orphan-sysvinit-scripts" должен быть обновлен, в то время как команда sudo apt-get upgrade
не отображает этот пакет, и, более того, вы даже не имеете его установленным. Давайте детально разберемся в этом вопросе.
Объяснение поведения менеджеров пакетов
-
Различия между менеджерами пакетов: Apper и Discover – это графические интерфейсы для управления пакетами, которые могут использовать различные источники и методы для отображения информации о пакетах. Они могут отображать пакеты, которые находятся в репозитории, но не установлены в системе, если эти пакеты находятся в состоянии, когда требуется обновление или имеются изменения в метаданных.
-
Пакет orphan-sysvinit-scripts: Этот пакет, как правило, представляет собой дополнительные скрипты и конфигурации, связанные с системой инициализации sysvinit. Даже если вы его не устанавливали, версии графических менеджеров могут иногда отображать его как пакет, требующий обновления, поскольку метаданные репозитория могут индицировать наличие новых версий для пакетов, которые могли быть установлены ранее для других пользователей системы.
-
Использование apt-get: Когда вы выполняете команду
sudo apt-get upgrade
, система проверяет только те пакеты, которые установлены в вашей системе. Если orphan-sysvinit-scripts не установлен, этот пакет просто игнорируется, и вы не видите его в списке на обновление. Таким образом, если вас это беспокоит, можно считать, что apt-get является более надежным инструментом для понимания текущего состояния установленных пакетов.
Проблема с удерживаемыми пакетами
Вы упомянули, что apt-get upgrade
показывает «Пакеты, которые были удержаны: sysv-rc-conf». Это может быть связано с тем, что этот пакет имеет зависимости, которые конфликтуют с другими установленными пакетами, и apt не может обновить его без удаления необходимых компонентов. Установка sysv-rc-conf может вызвать нежелательные изменения в системе, даже удаление критически важных пакетов.
Как устранить проблему?
-
Удаление sysv-rc-conf: Если вы не используете sysvinit, вы можете убедиться, что sysv-rc-conf не установлен, что уже было сделано в вашем случае с помощью команды
sudo apt-get remove sysv-rc-conf
. Это должно устранить упоминание о связанном пакете orphan-sysvinit-scripts. -
Обновление списка пакетов: После удаления проблемного пакета стоит также выполнить команду
sudo apt-get update
, чтобы обновить кэш репозиториев и убедиться, что данные о пакетах актуализированы. -
Мониторинг состояния пакетов: Регулярно проверяйте состояние ваших пакетов с помощью команд
apt list --upgradable
иdpkg --get-selections | grep hold
, чтобы удостовериться, что никаких «задержанных» или неподходящих пакетов не осталось.
Заключение
Таким образом, несоответствие между пакетами, предлагаемые графическими менеджерами и командной строкой, может быть объяснено различиями в их методах и источниках данных. Ваша ситуация – наглядный пример того, как важно учитывать контекст и ограничения каждого инструмента при управлении пакетами в Linux. Обязательно проводите регулярные проверки состояния установленных пакетов и избегайте установки пакетов, которые могут вызвать конфликт в вашей системе.