Алексей Федорчук - Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013
- Название:Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Алексей Федорчук - Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 краткое содержание
Колонки и статьи Алексея Федорчука, печатавшиеся в журнале LinuxFormat на протяжении 2006-2013 годов, собранные в хронологическом порядке. Они посвящёны UNIX, Linux и другим UNIX-подобным системам, их приложениям, а также идеологическим вопросам Свободного и Открытого Программного Обеспечения (FOSS). Публикуются в авторской редакции.
Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Все субкоманды yum можно разделить на две группы. Первая связана с поиском пакетов и получением информации о них, вторая – с манипуляциями пакетами и группами. В составы первой группы наиболее употребимы:
•
search [string] – поиск пакета по имени или его фрагменту;
•
list – вывод списка пакетов, всех (all или без указания фильтра), установленных (installed) или доступных (available);
•
info pkgname – вывод полной информации о пакете.
Все субкоманды первой группы могут исполняться от лица обычного пользователя. Во второй группе субкоманд наиболее важны:
•
install pkgname1 ... pkgname# – установка из репозиториев единичного пакета или нескольких пакетов, имена которых даны (в краткой форме) в качестве аргумента, вместе со всеми их зависимостями;
•
localinstall path2/fullname.rpm – установка пакета из локально хранящегося файла; зависимости его извлекаются из репозиториев, если таковые доступны;
•
update [pkgname] – обновление пакета, указанного в качестве аргумента; в отсутствие аргумента выполняется тотальное обновление системы, аналогично сумме apt-get update и apt-get upgrade;
•
erase pkgname – удаление пакета вместе со всем, что от него зависит; пакеты, от которых зависит удаляемый, остаются в неприкосновенности, даже если они никем не используются.
Все субкоманды второй группы для своего исполнения требуют прав администратора. Отдельно надо сказать о субкоманде shell – она запускает собственную интерактивную командную оболочку yum’а, в сеансе которой можно оперировать уже просто его субкомандами, аргументами и опциями, пуская главную команду yum.
Рис. 1. Yum с его интерактивной оболочкой
Исполнение любой субкоманды начинается с синхронизации локальной базы пакетов с базами репозиториев. Затем происходит проверка зависимостей – и по её результатам выводится итог: сколько пакетов, включая зависимости, должно быть установлено, обновлено или удалено, их имена, подлежащий скачиванию объем информации. И запрашивается подтверждением на выполнение операции. Опции yum довольно многочисленны, привязаны как к главной команде, так и к отдельным субкомандам. Исчерпывающую справку о них можно получить через
$ man (8) yum
В состав пакета yum-utils входит серия утилит, запускаемых как самостоятельные команды, со своими опциями. Полный их список можно получить из
$ man yum-utils
Важнейшей из этих команд является package-cleanup, предназначенная для получения сведений о непорядках в локальной базе данных пакетов и их устранения. Она имеет несколько опций. Например,
$ package-cleanup —problems
выведет список нарушенных зависимостей, а с помощью команды
$ package-cleanup —leaves
можно вывести список пакетов, от которых не зависят никакие другие компоненты.
Плагины, в отличие от утилит, не запускаются как самостоятельные команды, а встраиваются по умолчанию в команду yum, добавляя ей новые функции. По умолчанию в RFRemix устанавливаются следующие плагины:
•
fastestmirror – проверка скорости доступа к зеркалам репозитория и выбор самого быстрого из них, выполняется при каждом запуске команды yum;
•
presto – при обновлении пакетов скачивает из репозиториев только дельты изменений (deltarpms), минимизируя таким образом трафик;
•
refresh-packagekit – обеспечивает обновление системы PackageKit, о которой будет говориться в следующей заметке.
Эффективное использование yum требует некоторых мероприятий по настройке, включающих:
•
настройку собственно yum;
•
подключение и настройку плагинов;
•
подключение дополнительных репозиториев.
За настройки собственно yum отвечает файл /etc/yum.conf – он содержит общие параметры для этой утилиты в формате:
название=значение
Значение может быть булевым (0 – запрещено, 1 – разрешено), численным – от 1 и до... разумного предела (значение 0 равносильно отключению) или символьным – например, путь к каталогу или список пакетов; в последнем случае значения разделяются пробелами. По умолчанию yum.conf выглядит так:
•
cachedir=/var/cache/yum – каталог для кэширования метаданных репозиториев и пакетов, скачиваемых в ходе установки ;
•
keepcache=0 – определяет, сохранять ли скачанные пакеты в локальном кэше или удалять их после успешной установки;
•
debuglevel=2 – уровень отладочных сообщений;
•
logfile=/var/log/yum.log – каталог для файлов протоколирования действий yum;
•
exactarch=1 – значение по умолчанию предписывает устанавливать пакеты, точно соответствующие архитектуре;
•
obsoletes=1 – определяет логику замены «устаревших» пакетов при тотальном обновлении;
•
gpgcheck=1 – включение этой опции обязывает к проверке подписей при установке;
•
plugins=1 – использовать или нет плагины к yum’у;
•
installonly_limit=3 – максимальное количество пакетов, запрещённых к обновлению (можно только устанавливать параллельно более новую версию).
Кроме перечисленных, существует ещё немало параметров настройки yum. Так, очевидно, что опция installonly_limit имеет смысл только при наличии списка запрещённых к обновлению пакетов. Он задаётся параметром
installonlypkgs=pkgname1 pkgname2 ... pkgname#
Есть возможность и задать список пакетов, для которых запрещено как обновление, так и инсталляция, что иногда требуется при использовании проприетарных пакетов:
exclude=pkgname1 pkgname2 ... pkgname#
Полезной может оказаться параметр skip_broken – он заставляет пропускать установку пакетов с нарушенными зависимостями.
Параметр recent нужен для субкоманды list с одноимённой опцией: он устанавливает срок, в течении которого добавленные в репозиторий пакеты считать новыми.
Что очень раздражает в yum – это синхронизация метаданных о репозиториях, происходящая каждый раз при его запуске с любой субкомандой – даже от лица пользователя, когда реально кэш метаданных обновлён быть не может. Такая ситуация изменяется параметром metadata_expire, которому можно дать то значение, которое покажется разумным. Или вписать строку
metadata_expire=never
И тогда обновление кэша метаданных будет производиться только по запросу.
Обратимся к плагинам. Они устанавливаются точно так же, как и любые другие пакеты. Соответствующие каждому из установленных плагинов конфигурационные файлы располагаются в каталоге /etc/yum/pluginconf.d и имеют имена, по которым легко догадаться, к какому из плагинов относится любой конфиг.
Большинство плагинных конфигов предельно просто и содержит единственную строку, разрешающую его подключение:
enabled=1
В конфиге плагина presto можно запретить локальное кэширование дельт, раскомментировав параметр
keepdeltas = false
А можно определить, что же считать дельтой. Например, параметр
minimum_percentage = 95
указывает, что если изменённая часть пакета составляет 95% или менее от цельного, то будет скачиваться она, если же больше – загрузится пакет целиком.
Читать дальшеИнтервал:
Закладка: