Заметки по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других).
Команды
Отображение команд и опций:
yum help |
Список названий пакетов из репозиторий:
yum list |
Список всех доступных пакетов:
yum list available |
Список всех установленных пакетов:
yum list installed |
Установлен ли указанный пакет:
yum list installed httpd |
Список установленных и доступных пакетов:
yum list all |
Список пакетов, относящихся к ядру:
yum list kernel |
Отображение информации о пакете:
yum info httpd |
Список зависимостей и необходимых пакетов:
yum deplist httpd |
Найти пакет, который содержит файл:
yum provides "*bin/top" |
Поиск пакета по имени и описанию:
yum search httpd |
Получить информацию о доступных обновлениях безопасности:
yum updateinfo list security |
Вывести список групп:
yum grouplist |
Вывести описание и содержимое группы:
yum groupinfo "Development tools" |
Установка группы пакетов «Development tools»:
yum groupinstall "Development tools" |
Удаление группы:
yum groupremove "Development tools" |
Проверка на доступные обновления:
yum check-update |
Список подключенных репозиториев:
yum repolist |
Информация об определенном репозитории:
yum repoinfo epel |
Информация о пакетах в указанном репозитории:
yum repo-pkgs epel list |
Установить все пакеты из репозитория:
yum repo-pkgs reponame install |
Удалить пакеты установленные из репозитория:
yum repo-pkgs reponame remove |
Создать кэш:
yum makecache |
Проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)
yum check |
Просмотр yum истории (вывод списка транзакций):
yum history list |
Просмотр информации определенной транзакции (установленные пакеты, установленные зависимости):
yum history info 9 |
Отмена транзакции:
yum history undo 9 |
Повторить:
yum history redo 9 |
Дополнительно можно просмотреть лог:
cat /var/log/yum.log |
Удалить пакеты сохраненные в кэше:
yum clean packages |
Удалить все пакеты и метаданные:
yum clean all |
Установить пакет:
yum install httpd |
Удаление пакета:
yum remove httpd |
Обновить пакет:
yum update httpd |
Обновить все пакеты:
yum update |
Обновить до определенной версии:
yum update-to |
Установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)
yum localinstall httpd.rpm |
или
yum install httpd.rpm |
Установить с http:
yum localinstall http://server/repo/httpd.rpm |
Откатиться к предыдущей версии пакета:
yum downgrade |
Переустановка пакета (восстановление удаленных файлов):
yum reinstall httpd |
Удаление ненужных более пакетов:
yum autoremove |
Создание локальных репозиториев (createrepo ставится отдельно):
createrepo |
Установка обновлений по расписанию (*yum-cron устанавливается отдельно*)
yum-cron |
Опции
Ответить «yes» при запросе:
-y |
Ответить «no» при запросе:
--assumeno |
Использовать Yum без плагинов:
--noplugins |
или отключить определенный плагин:
--disableplugin=fastestmirror |
Включить плагины, которые установлены, но отключены:
yum --enableplugin=ps |
Включить отключенный репозиторий:
yum update -y --enablerepo=epel |
Отключить репозиторий:
yum update -y --disablerepo=epel |
Скачать пакеты, но не устанавливать:
(на Centos 7 x86_64 будут скачаны в ‘/var/cache/yum/x86_64/7/base/packages/‘)
yum install httpd --downloadonly |
Команды доступные после установки пакета yum-utils
Найти из какого репозитория установлен пакет:
find-repos-of-install httpd |
Найти процессы, пакеты которых обновлены и требуют рестарта:
#needs-restarting |
Запрос к репозиторию, узнать зависимости пакета, не устанавливая его:
repoquery --requires --resolve httpd |
Синхронизировать yum репозиторий updates в локальную директорию repo1
reposync -p repo1 --repoid=updates |
Проверить локальный репозиторий на целостность:
verifytree URL |
Завершить транзакции:
yum-complete-transaction |
Установить необходимые зависимости для сборки RPM пакета:
yum-builddep |
Управление конфигурационными опциями и репозиториями yum:
yum-config-manager |
Запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)
yumdb info httpd |
Скачать rpm пакеты из репозитория:
yumdownloader |
Скачать src.rpm
пакет из репозитория:
(должен быть подключен соответствующий репозиторий, например в /etc/yum.repos.d/CentOS-Sources.repo
в CentOS)
yumdownloader --source php |
Конфигурационные файлы Yum и их расположение
Основной конфигурационный файл:
/etc/yum.conf |
Директория, с конфигурациями (например, yum плагины):
/etc/yum/ |
Директория, содержащая информацию о репозиториях:
/etc/yum.repos.d/ |
Некоторые опции yum.conf
Директория, где yum хранит кэш и файлы базы (по умолчанию /var/cache/yum
):
cachedir=/var/cache/yum/$basearch/$releasever |
Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)
keepcache=1 |
Уровень вывода отладочных сообщений. Значения: 1-10 (по умолчанию 2)
debuglevel=2 |
Лог файл (по умолчанию /var/log/yum.log
)
logfile=/var/log/yum.log |
Обновлять устаревшие пакеты:
obsoletes=1 |
Проверка подписи пакетов. Значения: 0 или 1 (по умолчанию 1)
gpgcheck=1 |
Включение плагинов. Значения: 0 или 1 (по умолчанию 1)
plugins=1 |
Некоторые полезные плагины
Добавляет опцию командной строки для просмотра ченжлога перед/после обновлениями:
yum-plugin-changelog |
Выбирает более быстрые репозитории из списка зеркал:
yum-plugin-fastestmirror |
Добавляет команды keys, keys-info, keys-data, keys-remove, которые позволяют работать с ключами:
yum-plugin-keys |
Блокировать указанные пакеты от обновления, команда yum versionlock:
yum-plugin-versionlock |
Добавление команд yum verify-all, verify-multilib, verify-rpm для проверки контрольных сумм пакетов:
yum-plugin-verify |
Работа Yum через прокси сервер
Для всех пользователей добавить в секцию [main] в /etc/yum.conf
proxy="http://server:3128" |
При необходимости указать пароль, добавить:
proxy_proxy_username=user |
Указать прокси для отдельного пользователя:
export http_proxy="http://server:3128" |