YUM

Yum (Yellowdog Updater, Modified)

- пакетный менеджер. Используется в RedHat, CentOS, Fedora Linux и др. Представляет собой оболочку для rpm обеспечивающую работу с репозиториями.
Выполняет следующие задачи:

  • Поиск пакетов в репозитариях
  • Установка пакетов из репозиториев
  • Установка пакетов из .rpm файлов, с разрешением зависимостей с помощью репозитариев
  • Обновление системы
  • Удаление не нужных пакетов

Информация о настроенных репозиториях.
yum repolist

Поиск пакетов.
yum search пакетблабла Ищет в названии пакета и его описании указанную строку
yum list пакет Команда list просматривает названия пакетов и их версии в поисках совпадений.
yum provides файл Ищет пакеты содержащие указанный файл.
yum provides /etc/httpd\* Поиск пакетов, содержащих файлы в директории /etc/httpd.
yum list ast\* Поиск пакетов начинающихся на ast.
yum provides \*/mc Поиск определённых программ.

Установка пакетов
yum install mc

yum install пакет.rpm Установка пакетов из .rpm файлов. Может возникнуть проблема в отсутствии или неизвестной GPG подписи у RPM пакета, результатом чего будет отказ в установке и как следствие следующая ошибка Публичный ключ для пакет.rpm не установлен. Тогда нужно выключить проверку GPG ключей, добавив в конце команды параметр --nogpgcheck.

Обновление системы.
yum update обновит систему.
yum update пакет обновит только указанный пакет.

Удаление пакетов
yum remove пакет
Чтобы удалить пакет вместе с зависимостями в файле /etc/yum.conf можно добавить строчку clean_requirements_on_remove=1

Удаление ненужных зависимостей
yum install пакет
package-cleanup --leaves
 выдаст список пакетов, от которых не зависят никакие пакеты в системе. Если в списке нет нужных пакетов, можно удалить все пакеты из списка.

Использование Yum с прокси
В файле /etc/yum.conf указать proxy=http://proxy:8080/
Если есть аутентификация proxy=http://username:password@proxy:8080/
Можно использовать переменные export http_proxy=http://proxy:8080/
Можно использовать настройки wget - в /etc/wgetrc http_proxy = http://proxy:8080/

Исключить из обновления yum определенные пакеты
В /etc/yum.conf прописываем параметр exclude= и в нем указываем через запятую пакеты
exclude=xmms-a52dec,xmms-cdread,xmms-lirc, xmms-mad, xmms-wma, xmms, xmms-devel

Показать зависимости пакета yum deplist пакет

Скачать пакет, не устанавливая его yumdownloader httpd

При ошибках в работе пакетного менеджера можно почистить кэш yum clean all. Создать кэш заново yum makecache.

Установить все патчи за исключением патчей ядра в CentOS и RHEL:
Параметр '–exclude=kernel*' команды yum позволяет установить все патчи кроме предназначенных для ядра. Например так:
# yum update –exclude=kernel*
Если добавить следующую строку в файл '/etc/yum.conf' мы предотвратим любые обновления ядра навсегда:
exclude=kernel*