CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
26.05.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: Fedora

Приложения :: Управление пакетами

Yum: настройка

http://alv.me/

Как известно, любая фундаментальная монография по сексологии начинается с Введения. А использование любой программы — с настройки. Не будет исключением и 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. В большинстве случаев значения по умолчанию приемлемы, что избавляет от необходимости детального их рассмотрения. Однако к некоторым параметрам нам придётся вернуться, когда мы доберёмся до операций с группами.

А пока обратимся к плагинам. Они устанавливаются точно так же, как и любые другие пакеты. Например, команда

# yum install yum-plugin-list-data

установит весьма полезный одноименный плагин, дополняющий субкоманду list множеством дополнительных фильтров (он заслуживает отдельного разговора).

Соответствующие каждому из установленных плагинов конфигурационные файлы располагаются в каталоге /etc/yum/pluginconf.d и имеют легко узнаваемые имена. Например, вывод команды

$ ls yum/pluginconf.d/
blacklist.conf      list-data.conf  refresh-packagekit.conf
fastestmirror.conf  presto.conf     whiteout.conf

позволит без труда догадаться, к какому из плагинов относится любой конфиг (кроме файлов blacklist.conf и whiteout.conf).

Некоторые конфиги предельно просты. Например, в list-data.conf есть одна-единственная строка, разрешающее его подключение:

enabled=1

В конфиге плагина presto (того самого, который при обновлении обеспечивает скачивание дельты вместо цельного пакета) простора больше, хотя тоже не очень много. Во-первых, можно запретить локальное кэширование этих самых дельт, раскомментировав параметр

# keepdeltas = false

А во-вторых, можно определить, что же считать дельтой. Например, параметр

minimum_percentage = 95

определяет, что если изменённая часть пакета составляет 95% или менее от цельного, то будет скачиваться она, если же больше — загрузится пакет целиком.

Что касается файлов blacklist.conf и whiteout.conf, то по умолчанию они пусты, содержа только запрещающую строку:

enabled=0

Можно предположить, что по включении их можно заполнить “черными” и “белыми” списками зеркал.




Комментарии

аноним, Sat Oct 31 15:59:16 2009:
поддерживаю анонима
аноним, Mon Oct 12 17:33:41 2009:
Ничего не сказано про управление репозитариями

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
Серверы hp proliant - статьи, обзоры.
24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds