Утилита yum: базовые средства

Yum -- система управления rpm-пакетами и их репозиториями, предлагающая автоматическую установку, обновление и удаление пакетов и пакетных групп с автоматическим контролем зависимостей.

Система yum включает в себя собственно одноимённую утилиту, набор дополнительных утилит (yum-utils) и многочисленные плагины, образующие самостоятельные пакеты и расширяющие функциональность главной программы.

Запускается yum одноимённой командой, требующей указания субкоманды (возможно, с опциями последней), и, в ряде случаев, аргументов в виде имени пакета или группы пакетов, что в общей форме выглядит так:

$ yum subcommand [arguments] --[options]

Команда yum без указания субкоманды выведёт краткую справку касаемо последних и их опций. Аналогичный результат будет получен посредством субкоманды

$ yum help
Loaded plugins: fastestmirror, presto, refresh-packagekit
Usage: yum [options] COMMAND

List of Commands:

check-update   Check for available package updates
...
Options:
  -h, --help            show this help message and exit
  ...
    Plugin Options:
  ...

А указание имени субкоманды в качестве аргумента в этой строке выведет краткие сведения о её назначении, например:

$ yum help install
Loaded plugins: fastestmirror, presto, refresh-packagekit
install PACKAGE...

Install a package or packages on your system

Субкоманды yum'а определяют одно из действий, которое команда должна выполнить -- установку или удаление пакета, вывод информации о нём, поиск пакетов и так далее. Обычно назначение субкоманды легко угадывается из её названия и (или) краткой характеристики в выводе help'а.

Все субкоманды yum можно разделить на две группы. Первая связана с поиском пакетов и получением информации о них, вторая -- с манипулированием пакетами.

Основные субкоманды первой группы таковы:

  • search [string] -- поиск пакета по имени или его фрагменту;
  • list -- вывод списка пакетов, всех (all или без указания фильтра), установленных (installed) или доступных (available);
  • repolist -- вывод списка подключённых репозиториев;
  • resolvedep [shortname] -- вывод полного имени пакета, с указанием номера версии, сборки и т.д., по его краткому имени;
  • provides filename -- поиск пакета, содержащего указанный файл;
  • info pkgname -- вывод полной информации о пакете;
  • deplist pkgname -- вывод списка зависимостей указанного пакета;
  • check-update -- вывод списка пакетов, для которых в данный момент доступны обновления.

Все субкоманды первой группы могут исполняться от лица обычного пользователя.

В группу субкоманд, связанных с манипулированием пакетами, входят:

  • install pkgname1 ... pkgname# -- установка из репозиториев единичного пакета или нескольких пакетов, имена которых даны (в краткой форме) в качестве аргумента, вместе со всеми их зависимостями;
  • localinstall path2/fullname.rpm -- установка пакета из локально хранящегося файла; зависимости его извлекаются из репозиториев, если таковые доступны;
  • update [pkgname] -- обновление пакета, указанного в качестве аргумента; в отсутствие аргумента выполняется тотальное обновление системы;
  • upgrade -- тотальное обновление системы для смены версии дистрибутива;
  • downgrade pkgname -- "откат" пакета, заданного в качестве аргумента, на предыдущую версию из числа сохраняющихся в репозитории;
  • reinstall -- переустановка ранее инсталлированного пакета, например, безнадёжно испорченного;
  • erase pkgname -- удаление пакета вместе со всем, что от него зависит; пакеты, от которых зависит удаляемый, остаются в неприкосновенности, даже если они никем не используются;
  • makecache -- запись метаданных репозиториев в локальный кэш;
  • clean -- очистка локального кэша.

Все субкоманды второй группы для своего исполнения требуют прав администратора. И начинается их исполнение с синхронизации локальной базы пакетов с базами репозиториев. Затем происходит проверка зависимостей -- и по её результатам выводится итог: сколько пакетов, включая зависимости, должно быть установлено, обновлено или удалено, их имена, подлежащий скачиванию объем информации. И запрашивается подтверждение на выполнение операции. Так что при ошибке вполне можно отказаться от её выполнения -- это особенно актуально при удалении программ.

Опции yum довольно многочисленны, привязаны как к главной команде, так и к отдельным субкомандам, о чём прекрасно расскажет тётя Маня. Мы же упомянём только одну --skip-broken. Она может понадобиться при первом же обновлении системы, поскольку, как показывает практика, вероятность нарушения зависимостей в самом репозитории не равна нулю (хотя ныне такие ошибки редки и исправляются в считанные часы). И в этом случае команда

# yum update --skip-broken

обновит всё, что можно, пропустив обновление пакетов с нарушенными зависимостями.


Главная
Содержание

. .