Шпаргалка по Yum CentOS
Установка дополнительных программных пакетов в ОС семейства Linux может быть достаточно нетривиальной задачей, так как зачастую в одном пакете нет всех модулей и библиотек, необходимых для работы. Отслеживать зависимости между пакетами и их версиями задача пакетного менеджера. В операционных системах CentOS/RedHat эту роль исполняет yum. Yum предоставляет широчайшие возможности управления пакетами и репозиториями – установка, обновление, удаление, инвентаризация и т.д.
Как и все команды ОС Linux, пакетный менеджер обладает подробной встроенной справкой — запустив в консоли команду yum без параметров можно увидеть подсказку по синтаксису, список поддерживаемых функций с кратким описанием, а также перечень дополнительных опций:
Одна из самых полезных функций в списке команд – help. Можно запустить yum help с указанием какой-либо другой команды из обширного арсенала пакетного менеджера и получить в ответ дополнительную информацию о допустимых параметрах:
В данном примере можем увидеть, что команда list выводит список пакетов или их групп. В качестве допустимых параметров можно указать конкретное имя пакета, либо ключевые слова. Например:
- вывести список всех пакетов:
yum list all
- вывести список доступных для установки пакетов:
yum list available
- вывести список установленных пакетов:
yum list installed
- вывести список пакетов, добавленных в репозитории за последние 7 дней:
yum list recent
- вывести список пакетов, для которых есть обновления:
yum list updates
Если нужна более подробная информация о каком-либо пакете, можно воспользоваться функцией info — она поддерживает те же ключевые слова, что и list.
Так по выводу команды yum info samba мы увидим, что пакет находится в категории Available Packages (значит он не установлен в системе, но доступен для установки), узнаем версию, архитектуру, репозиторий и назначение пакета (в полях Summary и Description):
Если точное название нужного пакета неизвестно, может помочь функция search — она выведет список пакетов, в названии или описании которых присутствуют заданные ключевые слова. Поищем инструменты для работы с сетью — yum search network tools:
Получив информацию об установленных и доступных пакетах, можно переходить к командам действия:
- скачать и установить пакет из репозитория:
yum install [имя_пакета]
- переустановка пакета:
yum reinstall [имя_пакета]
- обновление указанного пакета:
yum update [имя_пакета]
- обновление всех установленных пакетов:
yum update
- откат обновления указанного пакета:
yum downgrade [имя_пакета]
- удаление установленного пакета из операционной системы:
yum erase [имя_пакета]
Все пакеты, с которыми может взаимодействовать yum, располагаются в так называемых репозиториях — это специальным образом организованнын хранилища пакетов с метаданными, содержащими информацию о доступных версиях и взаимосвязях. Информация и данные для подключения к репозиториям хранятся в операционной системе в каталоге /etc/yum.repos.d.
Для работы с репозиториями используются следующие команды:
- список подключенных репозиториев:
yum repolist
- информация о репозитории:
yum repoinfo [имя_репозитория]
- обновить информацию о пакетах в репозитории (скачать метаданные из репозитория в локальное хранилище):
yum check-updates
Кроме основных команд пакетный менеджер поддерживает дополнительные опции, расширяющие функциональность, например:
- -v #вывод дополнительной информации о результатах выполнения команды;
- -q # тихий режим без вывода информации;
- -y #ответить «yes», если требуется подтверждение действия;
- --assumeno # ответить «no», если требуется подтверждение действия;
- --disablerepo=[имя_репозитория] #отключить репозиторий;
- --enablerepo=[имя_репозитория] #включить репозиторий.
И в завершение еще несколько полезных команд из арсенала пакетного менеджера yum:
- список зависимостей указанного пакета:
yum deplist [имя_пакета]
- в каком пакете содержится указанный файл:
yum provides [имя_файла]
- установка пакета из локального rpm-файла (зависимые пакеты, при необходимости будут загружены из подключенных репозиториев):
yum localinstall [путь_к_rpm]
- история операций, совершенных пакетным менеджером:
yum history list
- детальная информация об операции:
yum history info [номер_операции]
- отменить действия, совершенные в рамках определенной операции:
yum history undo [номер_ операции]
- повторить действия, совершенные операцией:
yum history redo [номер_ операции]