Вопрос или проблема
Если я выполню sudo yum autoremove
, он показывает, что будет удалено, для подтверждения. Однако некоторые из пакетов, которые он удаляет, это вещи, которые я хочу оставить, но они не являются зависимостями других пакетов…
Что вызывает это и можно ли это предотвратить?
Если вы не хотите, чтобы пакеты были удалены, так как они были установлены как зависимости ранее, вы должны пометить их как установленные:
yum install #пакет
Теперь он будет говорить что-то вроде “уже установлено, помечено как установлено вручную”.
Другой вариант – yumdb set reason user PACKAGE
Если команда yumdb
не найдена, сначала выполните yum install yum-utils
.
Ответ или решение
Почему yum autoremove
Удаляет Независимые Пакеты и Как Это Избежать
Когда вы запускаете команду sudo yum autoremove
, система сообщает, какие пакеты будут удалены. Однако, если среди них находятся пакеты, которые вы хотите оставить, даже если они не являются зависимостями других программ, это может вызывать недоумение. Давайте разберем причины этого явления и способы его предотвращения.
Причины Удаления Пакетов
Команда yum autoremove
предназначена для автоматического удаления пакетов, которые были установлены как зависимости, но в настоящее время не требуются ни одной установленной программе. Это делается для оптимизации системы и освобождения дискового пространства. Однако, если некоторые из этих пакетов были установлены вручную или вы хотите их сохранить, они могут быть удалены при выполнении этой команды.
-
Установка Пакетов как Зависимости: Когда вы устанавливаете пакет, он может автоматически установить множество зависимостей. Если в какой-то момент он больше не требуется, команды
yum
не смогут определить, что эти зависимости были установлены вручную, и они могут быть отмечены для удаления. -
Изменение Статуса Пакетов: Yum использует внутренние метаданные, чтобы определить, были ли пакеты установлены вручную или автоматически. Если пакет не был явно установлен как ручной, он может быть автоматически помечен для удаления.
Как Предотвратить Удаление Пакетов
Чтобы избежать нежелательного удаления ваших необходимых пакетов, вы можете предпринять следующие шаги:
-
Явная Установка Пакетов: Если вы хотите сохранить пакет, вы должны явно установить его, используя следующую команду:
sudo yum install #пакет
Эта команда пометит пакет как установленный вручную, и в будущем он не будет удаляться командами
autoremove
. -
Использование yumdb для Изменения Статуса: Если вы хотите изменить статус уже установленного пакета без его повторной установки, вы можете воспользоваться командой
yumdb
. Для этого выполните следующие шаги:-
Убедитесь, что
yum-utils
установлен, если командаyumdb
недоступна:sudo yum install yum-utils
-
После установки воспользуйтесь следующей командой, чтобы пометить пакет:
yumdb set reason user PACKAGE
Замените
PACKAGE
на имя нужного вам пакета. Эта команда изменяет причину установки пакета на «пользовательскую», что предотвращает его автоматическое удаление. -
Заключение
Команда yum autoremove
может быть полезным инструментом для поддержания системы в чистоте и оптимизации. Однако важно помнить, что она может удалить пакеты, которые вы хотите оставить, если они не были правильно помечены. Используйте предложенные методы для отображения желаемых пакетов и избежать их случайного удаления. Обращайтесь к документации Yum для получения дополнительной информации и следите за состоянием установленного программного обеспечения в вашей системе.