Алексей Федорчук
Из цикла Поуправляем пакетами?
2009-08-19
Как было сказано в предыдущей заметке, посвященной базовым средствам yum, система эта, помимо главного пакета, включает комплекс сопутствующих утилит и плагинов. Из них на стадии инсталляции по умолчанию устанавливается пакет yum-utils, а в RFRemix 11 — ешё и несколько очень важных плагинов. Рассмотрим их назначение.
В пакет yum-utils входит серия утилит, запускаемых как самостоятельные команды. Полный их список можно получить из
$ man yum-utils
а ознакомиться с их описанием (на русском языке) — на этой странице.
До сих пор мне потребовалась только одна утилита из этого комплекта — package-cleanup, предназначенная для получения сведений о непорядках в локальной базе данных пакетов и их ликвидации. Она имеет несколько опций. Например,
$ package-cleanup --problems
выведет список нарушенных зависимостей; желательно, чтобы он выглядел следующим образом:
Reading local RPM database Processing all local requires No problems found
С помощью команды
package-cleanup --leaves
можно вывести список пакетов, от которых не зависят никакие другие компоненты. А команда
package-cleanup --orphans
установит те пакеты из числа установленных в системе, которые более не имеются в репозиториях, то есть, скорее всего, заменённые более новыми их версиями или аналогами.
Есть ещё команда
package-cleanup --oldkernels --count #
которая удалит из каталога старые ядра (файлы вида vmlinuz-2.6.*), начиная с ядра #, считая от текущего, вместе со всеми сопуствующими файлами — System.map-2.6.*, initrd-2.6.*, config-2.6.*, а также соответствующую запись в конфиге загрузчика — /boot/grub/menu.list; однако подкаталог с модулями — /lib/modules/2.6.*, — останется в неприкосновенности.
По умолчанию # = 2, то есть будет удалено ядро третье от текущего и более старые, но можно задать любое разумное значение. Например, команда
package-cleanup --oldkernels --count 1
удалит ядра, начиная с предпоследнего. Однако перед этим запрашивается подтверждение:
I will remove the following 1 kernel related packages: kernel-2.6.29.5-191.fc11.x86_64 Is this ok [y/N]:
От чего можно избавиться, добавив к приведённой выше команде опцию -y (то есть - я на всё согласная).
Плагины, в отличие от утилит, не запускаются как самостоятельные команыд, а встраиваются по умолчанию в команду yum, добавляя ей новые функции. Впрочем, их можно и отключить, задав при запуске последней опцию --noplugins.
По умолчанию в RFRemix устанавливаются следующие плагины:
fastestmirror — проверка скорости доступа к зеркалам репозитория и выбор самого быстрого из них, выполняется при каждом запуске команды yum;presto — при обновлении пакетов скачивает из репозиториев только дельты изменений (deltarpms), минимизируя таким образом трафик;refresh-packagekit — как можно догадаться по названию, обеспечивает обновление системы PackageKit, никаких более ясных указаний я на этот счёт не нашёл.Более-менее полный список плагинов можно получить с помощью команд вроде
$ yum search yum-plugin
Мы будем знакомиться с ними по мере возникновения потребности в дополнительных функциях.