Производство стеллажей консольные стеллажи для склада "здесь".

Настройка yum

Настройка yum включает несколько аспектов, как то:

  • настройку собственно yum;
  • подключение и настройку плагинов;
  • подключение дополнительных репозиториев и настройку доступа к ним.

Начнём, разумеется, с собственно настройки yum. О плагинах и репозиториях поговорим на страницах следующих.

За поведение yum отвечает файл /etc/yum.conf. Ныне он сождержит только общие параметры для этой утилиты, объединённые в секцию [main]. Настройки отдельных репозиториев, имевшие место быть в нём в прежних версиях, ныне выделены в отдельные файлы в каталоге /etc/repos.d/, чему мы ещё вернёмся.

Параметры yum.conf задаются в таком формате:

название=значение

Значение может быть булевым (0 -- запрещено, 1 -- разрешено), численным -- от 1 и до,,, разумного предела (значение 0 опять-таки равносильно отключению) или символьным -- например, путь к каталогу или список пакетов; в последнем случае значения разделяются пробелами.

Многие из конфигурационных параметров дублируются опциями командной строки, о которых говорилось на странице о базовых средствах.

По умолчанию главная и единственная секция yum.conf выглядит так:

[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

Смысл этих параметров следующий:

  • cachedir -- каталог для кэширования метаданных репозиториев и пакетов, скачиваемых в ходе установки; резона менять значение по умолчанию я не вижу;
  • keepcache -- определяет, сохранять ли скачанные пакеты в локальном кэше (значение 1) или удалять их после успешной установки (значение 0)
  • debuglevel -- уровень отладочных сообщений, оставляю без изменений;
  • logfile -- каталог для файлов протоколирования действий yum, аналогично;
  • exactarch -- значение по умолчаннию предписывает устанавливать пакеты, точно соответствующие архитектуре; ИМХО, резонно сохранить, для предотвращения обновления сборки под i686 пакетом абстрактного назначения i386;
  • obsoletes -- определяет логику замены "устаревших" пакетов при тольном обновлении, сопряжённом со сменой версий при операции yum upgrade;
  • gpgcheck -- включение этой опции (значение 1) обязывает к проверке подписей при установке как из репозиториев, так и локально (посредством yum localinstall);
  • plugins -- использовать или нет плагины к yum'у; умолчальное разрешение, полагаю, смысла не имеет -- иначе зачем бы их было устанавливать; в редких случаях, когда какой-либо плагин оказывается лишним, проще отключить его использование в командной строке;
  • installonly_limit -- максимальное количество пакетов, запрещённых к обновлению (можно только устанавливать параллельно более новую версию).

Кроме перечисленных, существует ещё немало параметров настройки yum -- с полным списком, как обычно, можно ознакомиться посредством тёти Мани: man yum.conf. Остановлюсь на некоторых из них.

Так, очевидно, что опция installonly_limit имеет смысл только при наличии списка запрещённых к обновлению пакетов. Он задаётся параметром

installonlypkgs=pkgname1 pkgname2 ... pkgname#

Правда, по умолчанию, вне этого списка, запрещается обновление ядер.

Есть возможность и задать список пакетов, для которых запрещено как обновление, так и инсталляция:

exclude=pkgname1 pkgname2 ... pkgname#

Необходимость этого может возникнуть при использовании проприетарных пакетов типа Opera: давеча вот столкнулся с тем, что свежеустановленная Opera-Unite была тут же "обновлена" до просто Opera. После чего и вписал в свой yum.conf строку

exclude=opera

Полезной может оказаться параметр skip_broken -- он заставляет пропускать установку пакетов с нарушенными зависимостями, аналогично одноименной опции командной строки (см. соответствующую страницу).

Параметр recent нужен для субкоманды list с одноименной опцией (см. здесь): он устанавливает срок, в течении которого добавленные в репозиторий пакеты считать новыми. По умолчанию он равен семи дням, но его можно подкорректировать в соответствие с собственными представлениями о новизне.

Что очень раздражает в yum -- это синхронизация локально кэшированных метаданных о репозиториях с таковыми источников, происходящая каждый раз при его запуске с любой субкомандой -- даже от лица пользователя, когда реально кэш метаданных обновлён быть не может. Побочным следствием этого может появиться значёк Обновление программ, да ещё такое, которое требует перезагрузки. Разумеется, оба требования -- и обновления, и перезагрузки, можно проигнорировать -- но значок глаза-то мозолит...

Такую ситуацию можно изменить в корне -- на то существует параметр metadata_expire, значением которого является время "выдыхания" метаданных в секундах. Документация уверяет нас, что по умолчанию это самое "выдыхание" составляет полтора часа -- но не верьте ей, дыхалка у локального кэша гораздо короче. Так что тут можно поставить своё значение, которое покажется разумным. А можно вписать строку

metadata_expire=never

И тогда обновление кэша метаданных будет производиться только по специальному запросу типа yum update.

Интересен параметр tolerant -- её включение прощает пользователю некоторые ошибки, впрочем, не очень существенные. Так, если дать команду yum install со списком пакетов, один из которых уже установлен, то она инсталлирует все недостающие пакеты без жалобы на ошибку.

Как я уже говорил, полный список параметров, вместе с их умолчальными значениями, можно найти в man yum.conf. В большинстве случаев значения по умолчанию приемлемы, что избавляет от необходимости детального их рассмотрения.


Теги: , ,