Смешение ветвей программного обеспечения

Updated 4 July 2019

Использование одной ветви

Стабильная ветвь

Переменная ACCEPT_KEYWORDS определяет, какую из ветвей использовать в вашей системе. По умолчанию используется стабильная ветвь для вашей архитектуры, например x86.

Тестовая ветвь

Если вы желаете использовать наиболее свежее ПО, подумайте над использованием тестовой ветви. Чтобы Portage начала использовать тестовую ветвь, добавьте ~ перед названием вашей архитектуры.

Тестовая ветвь полностью соответствует своему названию: для тестирования. Если пакет находится в стадии тестирования, это означает, что разработчики считают, что пакет работоспособен, но тщательно он не протестирован. Вы можете оказаться первым, кто столкнется с какой-либо ошибкой. В этом случае вы можете создать отчет об ошибке, чтобы разработчики узнали о ней.

Однако будьте готовы к тому, что могут возникнуть проблемы со стабильностью, неудовлетворительной поддержкой пакетов (например неправильные/отсутствующие зависимости), слишком частыми обновлениями (а в результате - частыми сборками) или невозможностью собрать пакет. Если вы не знаете, как работает система и как разрешать возникающие проблемы, мы рекомендуем не отходить от стабильной и оттестированной ветви.

К примеру, для выбора тестовой ветви на архитектуре x86, отредактируйте make_conf и укажите в нем:

/etc/portage/make.conf/custom

ACCEPT_KEYWORDS="~x86"

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

Одновременное использование стабильной и тестовой ветвей

Местоположение package.keywords

Вы можете указать, чтобы Portage использовала тестовую ветвь только для определенных пакетов, а для остальной системы - стабильную ветвь. Для этого добавьте категорию и имя пакета, для которого вы желаете использовать тестовую ветвь. Создайте файл с любым именем в директории /etc/portage/package.keywords/ или отредактируйте /etc/portage/package.keywords/custom. Например, для использования тестовой ветви для gnumeric:

/etc/portage/package.keywords/custom

app-office/gnumeric ~x86

Тестирование определенных версий

Если вы желаете использовать конкретную версию ПО из тестовой ветви, но не хотите, чтобы Portage использовала тестовую ветвь для последующих версий этого ПО, можно указать в местоположении package.keywords номер необходимой версии. В этом случае вы обязаны использовать оператор =. Также можно указать диапазон версий, используя операторы <=, <, > или >=.

В любом случае, добавляя информацию о версии, вы должны использовать один из этих операторов. Если вы не указываете версию, эти операторы использовать нельзя.

В следующем примере мы просим Portage разрешить установку gnumeric-1.2.13:

/etc/portage/package.keywords/custom

=app-office/gnumeric-1.2.13 ~x86

Использование заблокированных пакетов

Расположение package.unmask

Если использование пакета было заблокировано, но вы желаете его использовать несмотря на причины блокировки, добавьте для него точно такую же строку, создав файл внутри каталога /etc/portage/package.unmask.

Например, если =net-mail/hotwayd-0.8 заблокирован, то разблокировать его можно, прописав в package.unmask точно такую же строчку:

/etc/portage/package.unmask/custom

=net-mail/hotwayd-0.8

Местоположение package.mask

Если вы не хотите, чтобы Portage использовала какое-то конкретное ПО или конкретные версии ПО, вы можете его самостоятельно заблокировать, добавив соответствующую запись, создав файл внутри каталога /etc/portage/package.mask.

Если, к примеру, вы не хотите, чтобы Portage устанавливала исходные коды ядра новее, чем calculate-sources-2.6.36.3, добавьте такую строку в местоположение package.mask:

/etc/portage/package.mask/custom

>sys-kernel/calculate-sources-2.6.36.3