Работа с пакетным менеджером YUM
Заметки по работе с пакетным менеджером 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 | yum check |
Просмотр 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 | proxy_proxy_username=user |
Указать прокси для отдельного пользователя:
1 | export http_proxy="http://server:3128" |