Памятка по управлению пакетами в CentOS, Fedora и RHEL

19 февраля 2016

Вот некоторые «специалисты» авторитетно заявляют, что самая большая проблема в Linux — это большое количество дистрибутивов, которые прям так сильно отличаются пакетными менеджерами, путями до конфигов и прочим. На самом деле, в 99% случаев используется либо что-то на базе Debian, либо на базе RedHat. Всякие Arch и Gentoo, конечно, тоже существуют, но в основном они существуют на десктопах энтузиастов, а не в продакшене. И сегодня мы с вами убедимся, что отличий CentOS от Debian, с которым мы уже неплохо знакомы, не так уж много. По крайней мере, в вопросах, касающихся управления пакетами.

В RHEL, CentOS и Fedora используется менеджер пакетов Yum. Yum имеет ряд инетересных отличий от Apt, используемого в Debian и Ubuntu. Например, есть поддержка плагинов и групп пакетов. Кроме того, можно делать undo/redo изменений с пакетами. Мне лично интерфейс Yum кажется намного более продуманным. Все действия выполняются при помощи утилиты yum, а не так, что часть через apt-get, часть через apt-cache и еще часть через dpkg. Из-за этого часто бывает трудно вспомнить, man по какой команде хочется сейчас открыть, через что делается upgrade, а через что madison, и так далее.

Далее предполагается, что все команды выполняются под пользователем root. Если вы сидете под обычным пользователем, перед некоторыми командами может потребоваться написать sudo. Обычно и так понятно, перед какими. Например, для получения информации о пакетах права рута не нужны. Для установки, обновления и удаления пакетов — нужны.

Итак, начнем. Для начала, часто имеет смысл подключить EPEL:

yum install epel-release

Установка пакетов производится так:

yum install gcc

Получение информации о пакете:

yum info git

Получение списка зависимостей пакета:

yum deplist git

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

yum check-update

Обновление всех установленных пакетов:

yum update

Обновление конкрутного пакета:

yum update yum

Откатываем пакет к предыдущей версии:

yum downgrade git

Переустанавливаем пакет:

yum reinstall git

Удаление пакета:

yum remove git

Список всех доступных пакетов:

yum list available | less

Спискок всех установленных пакетов:

yum list installed | less

Спискок вообще всех пакетов:

yum list all | less

Проверить, установлен ли пакет:

yum list mutt
yum list mysql*

Поиск по пакетам:

yum search mutt

История установки/обновления/удаления пакетов:

yum history

Посмотреть детали о записи в истории:

yum history info 42

Откатить изменение из истории (вы же за это любите NixOS?):

yum history undo 42

Повторить изменения из истории:

yum history redo 42

Определение, к какому пакету относится файл:

yum provides /usr/bin/pstree

А так можно посмотреть все файлы, которые входят в конкретный пакет:

yum install yum-utils
repoquery -l psmisc

Также в пакет yum-utils входит команда для установки отладочных символов, необходимых, если вы иногда запускаете gdb:

debuginfo-install glibc

Часто нужной debuginfo нет в обычных репозиториях, но ее можно найти на filewatcher.com. Например, если ищем отладочные символы для:

nspr-4.10.6-1.el6_6.x86_64

… то вводим в поиске:

nspr-debuginfo-4.10.6-1.el6_6.x86_64

Список репозиториев:

yum repolist

Список групп пакетов:

yum grouplist

Получение информации о группе:

yum groupinfo "Web Server"

Установка группы пакетов:

yum groupinstall "Web Server"

Удаление группы пакетов:

yum groupremove "Web Server"

Установка скаченного RPM-файла:

yum install path/to/some.rpm

… или:

rmp -i path/to/some.rpm

Много разных RPM можно найти на сайте rpmfind.net.

По большому счету, это все, что нужно знать об управлении пакетами в Linux’ах, использующих Yum. Больше информации, как обычно, в манах.

Возвращаясь к вопросу про большое количество «таких разных» дистрибутовов Linux, хотелось бы сказать следующее. Как-то раз мне потребовалось быстро разобраться во всем написанном выше. На тот момент у меня было много опыта использования Debian и Ubuntu, и никакого опыта использования CentOS. Так вот, чтобы во всем разобраться, мне потребовалось минут 15, и проблем с тех пор не возникало. В самом деле, какая разница — yum install или apt-get install?

А какой пакетный менеджер вы предпочитаете в это время суток?

Метки: .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.