Handbook:SPARC/Portage/Branches
Использование одной ветви
Стабильная ветвь
Переменная ACCEPT_KEYWORDS определяет ветвь для ПО системы. Эта переменная задаётся в /etc/portage/make.conf и по умолчанию выставлена на стабильную ветвь. В нашем случае значением по умолчанию является sparc.
# Следующее значение уже стоит по умолчанию, поэтому его _не_ нужно задавать явно.
ACCEPT_KEYWORDS="sparc"
Для более спокойной работы и снижения риска сбоев и других проблем Руководство рекомендует оставаться на стабильной ветке. Поскольку для Portage эта ветвь выставлена по умолчанию, никаких изменений не требуется. Системным администраторам, которые не боятся этого или хотят устанавливать (по возможности) новейшие обновления рекомендуется прочесть раздел Тестовая ветвь.
Тестовая ветвь
Осторожно, дикие земли! Hic sunt dracones! Использование программного обеспечения с тестовой ветки может вызвать проблемы со стабильностью, пакеты могут быть настроены не самым лучшим образом (напр. неправильные или отсутствующие зависимости), ebuild-файлы могут постоянно пересматриваться (вызывая постоянную компиляцию)... к тому же пакеты могут сломаться и каким-то другим, неожиданном образом. Системным администраторам, которые не очень хорошо разбираются в устройстве Gentoo или Linux-а в целом, следует избегать тестовой ветви. Как было отмечено ранее, в Руководстве рекомендуется оставаться на стабильной, более проверенной ветви.
Если системный администратор хочет запускать новейшее, но менее протестированное ПО, можно выбрать тестовую ветвь. Чтобы переключиться на неё, выставьте значение ACCEPT_KEYWORDS на ~sparc.
# Инструктируем Portage использовать тестовую ветвь (~) для архитектуры sparc.
ACCEPT_KEYWORDS="~sparc"
У любой архитектуры, поддерживаемой проектом Gentoo, есть тестовая ветвь, на которую можно переключиться, добавив префикс ~
(символ тильды) к значению ACCEPT_KEYWORDS для этой архитектуры.
Тестовая ветвь является нестабильной, что и следовало ожидать из названия. Если пакет находится в тестовой ветке, это означает, что разработчики верят в работоспособность пакета, но он недостаточно протестирован. Системы, использующие тестовую ветвь могут в числе первых столкнуться с ошибками в пакете. В этом случае, пожалуйста, отправьте отчёт об ошибке, чтобы сообщить об этом разработчикам.
При переходе со стабильной ветви на тестовую и выполнении обновления набора @world можно ожидать закономерного обновления множества (иногда сотен) пакетов до новейших доступных версий. В тестовой ветви, они примерно соответствуют последним выпускам от upstream-разработчиков (авторов самих программ). Помните, что после перехода на тестовую ветвь, как правило, путь назад, к стабильной ветви, довольно сложен и это обоснованно самой природой обновлений.
Одновременное использование стабильной и тестовой ветвей
package.accept_keywords
Можно указать, чтобы Portage использовал тестовую ветвь только для определенных пакетов, а для остальной системы- стабильную ветвь. Для этого добавьте категорию и имя пакета, для которого вы желаете использовать тестовую ветвь, в файл /etc/portage/package.accept_keywords. Вместо этого можно создать каталог (с таким же именем) и указывать пакеты в файлах, находящихся внутри этого каталога.
Например, для использования тестовой ветви для gnumeric:
app-office/gnumeric
Тестирование определенных версий
Чтобы использовать конкретную версию ПО из тестовой ветви, но не хотите, чтобы Portage использовал тестовую ветвь для последующих версий этого ПО, можно указать в местоположении package.accept_keywords номер необходимой версии. В этом случае используйте оператор =. Также можно указать диапазон версий, используя операторы <=, <, > или >=.
В любом случае, добавляя информацию о версии, вы должны использовать один из этих операторов. Если вы не указываете версию, эти операторы использовать нельзя.
В следующем примере мы просим Portage разрешить установку gnumeric-1.2.13, даже если он находится в тестовой ветви:
=app-office/gnumeric-1.2.13
Замаскированные пакеты
package.unmask
Разработчики Gentoo не поддерживают использование размаскированных пакетов. Пожалуйста, используйте их на свой страх и риск. Просьбы о помощи, связанные с использованием package.unmask и/или package.mask могут остаться без ответа.
Если пакет был замаскирован разработчиками Gentoo, но вы желаете его использовать несмотря на причины блокировки, указанные в файле package.mask (по умолчанию он находится в /var/db/repos/gentoo/profiles/), добавьте желаемую версию (обычно вы получите точно такую же строку, как в файле package.mask в профиле) в файл /etc/portage/package.unmask (или в файл в этом каталоге, если это каталог).
To do so, the system administrator would add the target package version (usually this will be the exact same line from the package.mask file in the profile) to the /etc/portage/package.unmask location.
Например, если =mail-client/mutt-2.2.9
замаскирован (бедняга!), то размаскировать его можно, прописав в package.unmask точно такую же строчку:
=mail-client/mutt-2.2.9
Если запись в /var/db/repos/gentoo/profiles/package.mask содержит диапазон версий пакета, вам следует разблокировать только те версии, которые вам на самом деле необходимы. Прочитайте предыдущий раздел, чтобы узнать, как определять версии с помощью операторов сравнения.
package.mask
Возможно указать Portage, чтобы он не использовал какое-то конкретное ПО или конкретные версии ПО. Чтобы это сделать, замаскируйте пакет, добавив соответствующую запись в /etc/portage/package.mask (либо в такой файл, либо в файл внутри такого каталога).
Если, к примеру, чтобы Portage не устанавливал исходные коды ядра новее, чем gentoo-sources-6.6.21, добавьте такую строку в package.mask:
>sys-kernel/gentoo-sources-6.6.21