Subscribe on YouTube

Работа с пакетным менеджером 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"
Поделиться Комментарии