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