Базовые средства yum
Система 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
-- вывод списка зависимостей указанного пакета;grouplist
-- вывод списка групп, разелённого на установленные и доступные;groupinfo "Group name"
-- вывод списка пкаетов, входящих в указанную группу, имя которой даётся в соответствие с выводом субкомандыgrouplist
и экранируется кавычками;check-update
-- вывод списка пакетов, для которых в данный момент доступны обновления.
Все субкоманды первой группы могут исполняться от лица обычного пользователя. Если же дать их от имени администратора, исполнение начнётся с синхронизации локальной базы пакетов с таковыми подключённых репозиториев, что может занять значительное время.
В группу субкоманд, связанных с манипуляцией пакетами, входят:
install pkgname1 ... pkgname#
-- установка из репозиториев единичного пакета или нескольких пакетов, имена которых даны (в краткой форме) в качестве аргумента, вместе со всеми их зависимостями;localinstall path2/fullname.rpm
-- установка пакета из локально хранящегося файла; зависимости его извлекаются из репозиториев, если таковые доступны;update [pkgname]
-- обновление пакета, указанного в качестве аргумента; в отсутствие аргумента выполняется тотальное обновление системы, аналогично суммеapt-get update
иapt-get upgrade
;upgrade
-- тотальное обновление системы при смене версии дистрибутива, подобноapt-get distupgrade
;reinstall
-- переустановка ранее инсталлированного пакета, например, безнадёжно испорченного;groupinstall "Group name"
-- установка группы пакетов, аргумент указывается аналогично субкомандеgroupinfo
;downgrade pkgname
-- "откат" пакета, заданного в качестве аргумента, на предыдущую версию из числа сохраняющихся в репозитории;erase pkgname
-- удаление пакета вместе со всем, что от него зависит; пакеты, от которых зависит удаляемый, остаются в неприкосновенности, даже если они никем не используются;- groupremove "Group name" -- удаление группы пакетов, аргумент указывается аналогично субкоманде
groupinfo
; makecache
-- запись метаданных репозиториев в локальный кэш;clean
-- очистка локального кэша.
Все субкоманды второй группы для своего исполнения требуют прав администратора. И начинается их исполнение с синхронизации локальной базы пакетов с базами репозиториев. Затем происходит проверка зависимостей -- и по её результатам выводится итог: сколько пакетов, включая зависимости, должно быть установлено, обновлено или удалено, их имена, подлежащий скачиванию объем информации. И запрашивается подтверждение на выполнение операции. Так что при ошибке вполне можно отказаться от её выполнения -- это особенно актуально при удалении программ и особенно групп, когда удаление поддержки, скажем, зулусского языка может снести весь OpenOffice.org и изрядную часть шрифтов.
Опции yum
довольно многочисленны, привязаны как к главной команде, так и к отдельным субкомандам. И мы их будем рассматривать по ходу дела, когда перейдём к примерам практического использования нашего менеджера пакетов.
Пока же упомяну только одну из опций, --skip-broken
-- она может понадобиться при первом же обновлении системы, не важно, через yum или PackageKit, о котором говорится на соответствующих страницах. Поскольку, как показывает практика, вероятность ошибки при обновлении очень не равна нулю, особенно если не ограничиваться рекомендуемыми gpk-update-viewer
обновлениями безопасности. И ошибка эта, скорее всего, окажется связанной с нарушениями зависимостей обновляемых пакетов.
И в этом случае команда
# yum update --skip-broken
спасёт всех родственников русской демократии, пропустив обновление пакетов с нарушенными зависимостями.
Отдельно надо сказать о субкоманде shell
-- она запускает собственную интерактивную командную оболочку yum'а, в сеансе которой можно оперировать уже просто его субкомандами, аргументами и опциями. Опуская главную команду yum. Впрочем, с учётом того, что в yum shell не работают автодополнения, выигрыш от этого сомнителен.
Сказанного, думаю, достаточно, чтобы начать практическую работу с yum. Чем м ы и займёмся на следующих страницах.
- Система управления пакетами yum
- Введение в yum
- Базовые средства yum
- Использование yum: субкоманда list
- Дополнительные компоненты: yum-utils
- Плагины для yum
- Плагин yum-plugin-list-data
- Настройка yum
- Настройка плагинов в yum
- Yum: настройка доступа к репозиториям
Теги: fedora, rpm, yum