====== Работа с пакетным менеджером 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" |