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