Шпаргалка по работе с пакетным менеджером 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 search yum

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

#yum updateinfo list security

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

#yum grouplist

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

#yum groupinfo "Basic Web Server"

Установка группы пакетов «Basic Web Server»

#yum groupinstall "Basic Web Server"

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

#yum groupremove "Basic Web Server"

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

#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

Опции Yum

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

-y
#yum update -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

Cледующие команды доступны после установки пакета 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"

Источник: https://habr.com/ru/post/301292/