Вопрос или проблема
Я добавил плохой PPA в свою систему, и теперь мне нужно вручную удалять или понижать пакеты.
Проблема в том, что какое-то время назад я включил apt-get autoremove
, и удаление пакета с целью замены или понижения версии грозит удалить идеально работающие приложения из моей системы.
Я нашел решение, как отключить apt-get autoremove, но почему-то не уверен, что оно применимо к моей конфигурации (trusty), так как мой файл /etc/apt/apt.conf.d/01autoremove
выглядит очень по-другому по сравнению с примером:
APT::Get::AutomaticRemove "0";
APT::Get::HideAutoRemove "1";
Вот как выглядит мой 01autoremove:
APT
{
NeverAutoRemove
{
"^firmware-linux.*";
"^linux-firmware$";
};
VersionedKernelPackages
{
# linux kernels
"linux-image";
"linux-headers";
<snip>
Мне действительно нужно отключить функцию autoremove, чтобы я мог начать исправлять версии пакетов с ясной головой и без опасения, что какой-то связанный пакет или приложение будет удален.
“/etc/apt/apt.conf файл все еще читается, если он существует. Конфигурация apt, предоставляемая пакетами, устанавливается в виде отдельных файлов в /etc/apt/apt.conf.d/ таким образом, чтобы ее можно было добавлять и обновлять независимо от любых локальных изменений, которые вы делаете в основном конфигурационном файле.
Так что если у вас есть локальные изменения конфигурации, просто создайте файл.”
Следовательно, если вы добавите указанные вами строки в /etc/apt/apt.conf
, все должно сработать. У меня это сработало.
Ответ или решение
Чтобы отключить автоматическое удаление пакетов через apt-get autoremove
и избежать нежелательных удалений работающих приложений на вашей системе, следует внести изменения в конфигурационные файлы APT. Разберём процесс подробно.
Проблема автозапуска apt-get autoremove
Вы столкнулись с проблемой, что включенная автоудаление приводит к удалению нужных пакетов при удалении и замене проблемных пакетов из неподходящего PPA. Для более гибкого управления пакетами и предотвращения ненужных удалений следует отключить эту функцию.
Решение
-
Создание конфигурационного файла:
Начните с создания или редактирования файла конфигурации
/etc/apt/apt.conf
, если он еще не существует:sudo nano /etc/apt/apt.conf
-
Добавление необходимых настроек:
В файл
/etc/apt/apt.conf
добавьте следующие строки:APT::Get::AutomaticRemove "0"; APT::Get::HideAutoRemove "1";
Эти команды устанавливают поведение APT:
AutomaticRemove
отключается, что предотвращает автоматическое удаление пакетов, аHideAutoRemove
, по сути, скрывает пакеты от автоматического удаления. -
Проверка других конфигурационных файлов:
Убедитесь, что в директории
/etc/apt/apt.conf.d/
нет других конфликтующих настроек, например в файлах01autoremove
или подобных. Если настройки создают противоречия, возможно, потребуется их корректировка. -
Применение изменений:
После редактирования конфигурационного файла сохраните изменения и выполните обновление APT:
sudo apt-get update
Предостережения
Обратите внимание, что отключение apt-get autoremove
может привести к накоплению ненужных зависимостей в системе. Регулярно проверяйте и очищайте систему от ненужных пакетов вручную, чтобы избежать загромождения и поддерживать её в чистоте.
Заключение
Следуя вышеописанным шагам, вы сможете отключить функцию автоматического удаления пакетов в APT, что позволит вам с большей уверенностью выполнять замену или откат пакетов, не опасаясь потери важного софта. Надеюсь, данное руководство окажется полезным и поможет в решении возникшей задачи. При возникновении дополнительных вопросов или заминок, всегда можно обратиться к сообществу Ubuntu или другим ресурсам для получения поддержки.