В рамках обновления системы вам может потребоваться исключить несколько пакетов из-за зависимости приложения в системе на основе Red Hat.
Если да, то как это исключить и какие есть способы сделать это?
Это можно сделать тремя способами, и мы рассмотрим все эти методы в этой статье.
Менеджер пакетов – это набор инструментов, которые позволяют пользователям легко управлять пакетами в системе Linux.
Он позволяет пользователям устанавливать, обновлять, удалять, запрашивать, переустанавливать и искать пакеты в системе Linux.
В системаъ Red Hat и ее клонах мы используем yum и rpm для управления пакетами.
Что такое yum?
yum расшифровывается как «Yellow Dog Updater, Modified».
Yum – это программа автоматического обновления и установки / удаления пакетов для rpm-систем.
Он автоматически разрешает зависимости при установке пакета.
Что такое rpm?
rpm означает «Red Hat Package Manager» и является мощным инструментом управления пакетами для системы Red Hat.
Название RPM относится к формату файла .rpm, который содержит скомпилированное программное обеспечение и необходимые библиотеки для пакета.
Возможно, вам будет интересно прочитать следующие статьи, связанные с этой темой.
- 🐧 Как перечислить пакеты в определенном репозитории yum
- 📦 Как отключить и включить репозиторий yum
- 🐧 Как использовать yum без загрузки или обновления метаданных
- 🐧 Как понизить версию пакета Linux, используя yum
- 🐧 Как создать yum репозиторий в CentOS / RHEL
Способ 1: исключить пакеты с помощью команды yum вручную или временно
Мы можем использовать ключ –exclude или -x с командой yum, чтобы исключить обновление определенных пакетов с помощью команды yum.
Это временный метод или метод по требованию.
Если вы хотите исключить конкретный пакет только один раз, тогда мы можем использовать этот метод.
Команда, показанная ниже обновит все пакеты, кроме ядра.
Для исключения одного пакета.
# yum update --exclude=kernel или # yum update -x 'kernel'
# yum update --exclude=kernel* --exclude=php* или # yum update --exclude httpd,php
Способ 2: исключить пакеты с помощью команды yum навсегда
Если вы часто выполняете обновление, вы можете использовать этот постоянный метод.
Для этого добавьте необходимые пакеты в /etc/yum.conf, чтобы навсегда отключить обновления пакетов.
После добавления записи вам не нужно указывать этот пакет при каждом запуске команды yum update.
Кроме того, это предотвращает случайное обновление пакетов.
# vi /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=3 exclude=kernel* php*
Способ 3: Исключить пакеты с помощью плагина Yum versionlock
Это также постоянный метод, аналогичный описанному выше.
Плагин yum versionlock позволяет пользователям блокировать обновления указанных пакетов с помощью команды yum.
Для этого выполните следующую команду.
Приведенная ниже команда исключит пакет freetype из обновления yum.
Вы также можете добавить запись пакета непосредственно в файл «/etc/yum/pluginconf.d/versionlock.list».
# yum versionlock add freetype Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock Adding versionlock on: 0:freetype-2.8-12.el7 versionlock added: 1
Используйте приведенную ниже команду, чтобы проверить список пакетов, заблокированных плагином versionlock.
# yum versionlock list Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock 0:freetype-2.8-12.el7.* versionlock list done
Выполните следующую команду, чтобы удалить список.
# yum versionlock clear