В каталоге /etc/portage/ есть файлы с именем package, различающиеся расширением (.keywords .mask .unmask .use). Если такого каталога у вас в системе нет - не удивляйтесь. Это каталог для настроек пользователя, его и не должно быть покуда не создадите:
Расмотрим конфиги (их тоже надо создавать, если нету) поближе:
package.mask - запрещающий; то что ты внёс в этот файл - ты запретил. Можно запретить установку пакета, указав его без версии, или пользуясь операторами "<" (меньше), ">" (больше), "=" (равно), ">="(больше или равно), "<=" (меньше или равно) пресечь несанкционированный тобой апгрейд/даунгрейд пакета.
package.keywords - разрешающий. Можно разрешить установку нестабильного пакета , указав для него ~arch
package.unmask - отменяющий запреты. Даёт возможность установить замаскированный в профиле пакет. Пользоваться этим файлом надо без фанатизма, вдумчиво, ибо пакеты не маскируют без причины. Размаскировывать рекомендую конкретную версию пакета, т.к. глобальная размаскировка может помешать в разрешении зависимостей при следующем обновлении системы.
package.use - предписывающий. Можно для отдельного пакета указать набор USE-флагов. Этот набор будет отрабатывать при всех пересборках и/или обновлениях пакета.
В этих конфигах можно использовать комметарии, предварив комментарий символом # - от него и до конца строки всё будет "несчитово" для системы. Закомментировав всю строку, или ненужную её часть, можно отключить запрет/разрешение для системы portage, сохранив для себя текст (вдруг позже пригодится?))
Примеры использования:
/etc/portage/package.mask
Code
>=sys-libs/glibc-2.6.2 # glibc версии 2.6.2 или бОльшей устанавливаться не будет media-sound/audacious # это программа устанавливаться не будет (никакая вообще версия) <dev-lang/python-2.5 # питон версии меньшей чем 2.5 устанавливаться не будет
/etc/portage/package.unmask
Code
=sys-apps/portage-2.2_rc33 # отменяю маскировку этой версии portage
/etc/portage/package.use
Code
media-libs/win32codecs -real # кодеки будут собраны без поддержки real video media-sound/xmms 3dnow alsa arts flac mikmod mp3 nls oss rcc vorbis -directfb -esd -jack -lirc -mmx -sndfile # медиаплеер xmms будет собираться с таким набором USE-флагов
/etc/portage/package.keywords (здесь приведена архитектура моих компьютеров, у меня x86, у вас быть может другая!).
Code
sys-devel/gcc ~x86 # будет устанавливаться компилятор изнестабильной ветки x86 net-im/qutim ** # будет устанавливаться живой (live) qutim, в таких ебуилдах обычно архитектура вообще не указавается
Каждый из этих файлов, можно заменить одноимённым каталогом, внутри которого уже разместить текстовые файлы с удобными, осмысленными именами (например kde - для списка пракетов kde). Конфиги ведь иногда становятся "длинными" =)
Файлов в одном таком каталоге может быть несколько, синтаксис такой же как и в обычных конфигах. Для portage всё содержимое каталога будет аналогично обычному конфигу.
Я этой фишкой не пользуюсь потому, что привык изменения в этих конфигах делать с командной строки, при помощи sed или перенаправляя вывод echo. Для меня оказалось неудобным несколько раз нажимать клавишу Tab дополняя путь к конфигу. Кроме того, пакет может оказаться одновременно в нескольких конфигах, что затруднит администрирование системы.
По достоинству оценить плюсы таких каталогов-конфигов наверное можно используя какую-нибудь программу с графическим интерфейсом, например app-portage/gpytage (другие программы я просто не пробовал, но эта вполне вменяема. разве что поиска в ней не хватает).
Советы:
Заглядывайте в эти файлы перед обновлением системы: возможно что-то пора изменить.
Фиксируйте в этих конфигах те значения переменных USE, ACCEPT_KEYWORDS , которые устанавливали с коммандной строки экспериментально - и получилось; иначе при пересборке снова будет "затык"
Ну и написал бы вопрос здесь. Возможно я ответ знаю, а необходимость написать для меня не очевидна.. Вопросы помогли бы мне улучшить статью, я был бы признанателен за интересный вопрос.
Планирую добавить ещё секцию сюда - про /etc/portage/package.{mask,keywords,use,unmask} обустроенных как каталоги со вложенными файлами. Опыт заимел, а вот записать всё некогда..