Работа с пакетным менеджером YUM

Работа с пакетным менеджером YUM

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Заметки по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других).

Команды

Отображение команд и опций:

1
yum help

Список названий пакетов из репозиторий:

1
yum list

Список всех доступных пакетов:

1
yum list available

Список всех установленных пакетов:

1
yum list installed

Установлен ли указанный пакет:

1
yum list installed httpd

Список установленных и доступных пакетов:

1
yum list all

Список пакетов, относящихся к ядру:

1
yum list kernel

Отображение информации о пакете:

1
yum info httpd

Список зависимостей и необходимых пакетов:

1
yum deplist httpd

Найти пакет, который содержит файл:

1
yum provides "*bin/top"

Поиск пакета по имени и описанию:

1
yum search httpd

Получить информацию о доступных обновлениях безопасности:

1
yum updateinfo list security

Вывести список групп:

1
yum grouplist

Вывести описание и содержимое группы:

1
yum groupinfo "Development tools"

Установка группы пакетов «Development tools»:

1
yum groupinstall "Development tools"

Удаление группы:

1
yum groupremove "Development tools"

Проверка на доступные обновления:

1
yum check-update

Список подключенных репозиториев:

1
yum repolist

Информация об определенном репозитории:

1
yum repoinfo epel

Информация о пакетах в указанном репозитории:

1
yum repo-pkgs epel list

Установить все пакеты из репозитория:

1
yum repo-pkgs reponame install

Удалить пакеты установленные из репозитория:

1
yum repo-pkgs reponame remove

Создать кэш:

1
yum makecache

Проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)

1
2
yum check
yum check dependencies

Просмотр yum истории (вывод списка транзакций):

1
yum history list

Просмотр информации определенной транзакции (установленные пакеты, установленные зависимости):

1
yum history info 9

Отмена транзакции:

1
yum history undo 9

Повторить:

1
yum history redo 9

Дополнительно можно просмотреть лог:

1
cat /var/log/yum.log

Удалить пакеты сохраненные в кэше:

1
yum clean packages

Удалить все пакеты и метаданные:

1
yum clean all

Установить пакет:

1
yum install httpd

Удаление пакета:

1
yum remove httpd

Обновить пакет:

1
yum update httpd

Обновить все пакеты:

1
yum update

Обновить до определенной версии:

1
yum update-to

Установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)

1
yum localinstall httpd.rpm

или

1
yum install httpd.rpm

Установить с http:

1
yum localinstall http://server/repo/httpd.rpm

Откатиться к предыдущей версии пакета:

1
yum downgrade

Переустановка пакета (восстановление удаленных файлов):

1
yum reinstall httpd

Удаление ненужных более пакетов:

1
yum autoremove

Создание локальных репозиториев (createrepo ставится отдельно):

1
createrepo

Установка обновлений по расписанию (yum-cron устанавливается отдельно)

1
yum-cron

Опции

Ответить «yes» при запросе:

1
-y

Ответить «no» при запросе:

1
--assumeno

Использовать Yum без плагинов:

1
--noplugins

или отключить определенный плагин:

1
--disableplugin=fastestmirror

Включить плагины, которые установлены, но отключены:

1
yum --enableplugin=ps

Включить отключенный репозиторий:

1
yum update -y --enablerepo=epel

Отключить репозиторий:

1
yum update -y --disablerepo=epel

Скачать пакеты, но не устанавливать:
(на Centos 7 x86_64 будут скачаны в ‘/var/cache/yum/x86_64/7/base/packages/‘)

1
yum install httpd --downloadonly

Команды доступные после установки пакета yum-utils

Найти из какого репозитория установлен пакет:

1
find-repos-of-install httpd

Найти процессы, пакеты которых обновлены и требуют рестарта:

1
#needs-restarting

Запрос к репозиторию, узнать зависимости пакета, не устанавливая его:

1
repoquery  --requires --resolve httpd

Синхронизировать yum репозиторий updates в локальную директорию repo1

1
reposync -p repo1 --repoid=updates

Проверить локальный репозиторий на целостность:

1
verifytree URL

Завершить транзакции:

1
yum-complete-transaction

Установить необходимые зависимости для сборки RPM пакета:

1
yum-builddep

Управление конфигурационными опциями и репозиториями yum:

1
yum-config-manager

Запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)

1
yumdb info httpd

Скачать rpm пакеты из репозитория:

1
yumdownloader

Скачать src.rpm пакет из репозитория:
(должен быть подключен соответствующий репозиторий, например в /etc/yum.repos.d/CentOS-Sources.repo в CentOS)

1
yumdownloader --source php

Конфигурационные файлы Yum и их расположение

Основной конфигурационный файл:

1
/etc/yum.conf

Директория, с конфигурациями (например, yum плагины):

1
/etc/yum/

Директория, содержащая информацию о репозиториях:

1
/etc/yum.repos.d/

Некоторые опции yum.conf

Директория, где yum хранит кэш и файлы базы (по умолчанию /var/cache/yum):

1
cachedir=/var/cache/yum/$basearch/$releasever

Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)

1
keepcache=1

Уровень вывода отладочных сообщений. Значения: 1-10 (по умолчанию 2)

1
debuglevel=2

Лог файл (по умолчанию /var/log/yum.log)

1
logfile=/var/log/yum.log

Обновлять устаревшие пакеты:

1
obsoletes=1

Проверка подписи пакетов. Значения: 0 или 1 (по умолчанию 1)

1
gpgcheck=1

Включение плагинов. Значения: 0 или 1 (по умолчанию 1)

1
plugins=1

Некоторые полезные плагины

Добавляет опцию командной строки для просмотра ченжлога перед/после обновлениями:

1
yum-plugin-changelog

Выбирает более быстрые репозитории из списка зеркал:

1
yum-plugin-fastestmirror

Добавляет команды keys, keys-info, keys-data, keys-remove, которые позволяют работать с ключами:

1
yum-plugin-keys

Блокировать указанные пакеты от обновления, команда yum versionlock:

1
yum-plugin-versionlock

Добавление команд yum verify-all, verify-multilib, verify-rpm для проверки контрольных сумм пакетов:

1
yum-plugin-verify

Работа Yum через прокси сервер

Для всех пользователей добавить в секцию [main] в /etc/yum.conf

1
proxy="http://server:3128"

При необходимости указать пароль, добавить:

1
2
proxy_proxy_username=user
proxy_password=pass

Указать прокси для отдельного пользователя:

1
export http_proxy="http://server:3128"