Отступление от официального дерева

Updated 4 July 2019

Использование собственного дерева Portage

Исключение пакета/категории

Вы можете выборочно обновлять определенные категории/пакеты, игнорируя обновление других категорий/пакетов. Это достигается путем исключения таких категорий/пакетов программой rsync на этапе выполнения emerge --sync.

Вам потребуется определить имя файла, содержащего шаблоны исключаемых пакетов, в переменной RSYNC_EXCLUDEFROM:

/etc/portage/make.conf/custom

RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes

Для примера исключим все игры:

/etc/portage/rsync_excludes

exec "games-*/*

Заметьте, однако, что это может привести к проблемам с зависимостями, так как новые разрешенные пакеты могут зависеть от других новых, но исключенных из обновления пакетов.

Добавление неофициального сборочного файла ebuild

Определение оверлейного каталога портежей

Вы можете указать Portage использовать сборочные файлы, не входящие в официальное дерево Portage. Создайте новый каталог (к примеру, /usr/local/portage), в котором будут находиться файлы ebuild сторонних разработчиков. Используйте в точности такую же структуру каталогов, как и в официальном дереве портежей!

Затем определите переменную PORTDIR_OVERLAY в /etc/portage/make.conf/custom, чтобы она указывала на ранее созданный каталог. Теперь при использовании Portage, эти сборочные файлы будут рассматриваться как часть системы, и не будут удаляться/перезаписываться при последующих запусках emerge --sync.

Работа с несколькими оверлейными каталогами

Для продвинутых пользователей, ведущих разработку в нескольких оверлейных каталогах, тестирующих пакеты перед включением в основное дерево портежей или просто желающих использовать неофициальные сборочные файлы ebuild из разных источников, в пакете app-portage/layman есть утилита layman, которая поможет поддерживать ваши оверлейные репозитории в актуальном состоянии.

Настройте layman, а затем добавьте интересующие вас оверлеи командой:

layman -a название_оверлея

Предположим, что у вас есть два дополнительных репозитория с названиями java (для сборочных файлов разработок, ведущихся на java) и entapps (для внутренних приложений, разработанных на вашем предприятии). Вы можете обновить эти репозитории следующей командой:

layman -S

Программы, поддерживаемые не Portage

Использование Portage с пакетами самостоятельной сборки

Иногда вам может потребоваться сконфигурировать, установить и поддерживать программное обеспечение самостоятельно, без автоматизации со стороны Portage, не смотря на то, что оно поддерживается Portage. Наиболее известные случаи — это исходные коды ядра и драйверы от nVidia. Вы можете настроить Portage так, чтобы системе стало известно, что определенные пакеты установлены вручную. Этот процесс называется внедрение, и поддерживается Portage посредством файла /etc/portage/profile/package.provided.

Например, если вы захотите сообщить Portage, что пакет vanilla-sources-2.6.37.2 установлен вручную, нужно добавить следующую строку:

/etc/portage/profile/package.provided

sys-kernel/vanilla-sources-2.6.37.2