24.03.2020

Шпаргалка по 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 [номер_ операции]