Отступление от официального дерева
Обновлено 13 августа 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