|
1.
Использование собственного дерева Portage
Исключение пакета/категории
Вы можете выборочно обновлять определенные категории/пакеты, игнорируя
обновление других категорий/пакетов. Это достигается путем исключения таких
категорий/пакетов программой rsync на этапе выполнения emerge
--sync.
Вам потребуется определить имя файла, содержащего шаблоны исключаемых пакетов,
в переменной RSYNC_EXCLUDEFROM в своем файле /etc/make.conf.
Листинг 1.1: Указание файла исключаемых пакетов в /etc/make.conf |
RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
|
Листинг 1.1: Исключение всех игр в файле /etc/portage/rsync_excludes |
games-*/*
|
Заметьте, однако, что это может привести к проблемам с зависимостями, так как
новые разрешенные пакеты могут зависеть от других новых, но исключенных из
обновления пакетов.
1.
Добавление неофициального сборочного файла ebuild
Определение оверлейного каталога портежей
Вы можете указать Portage использовать сборочные файлы, не входящие в
официальное дерево Portage. Создайте новый каталог (к примеру,
/usr/local/portage), в котором будут находиться файлы ebuild
сторонних разработчиков. Используйте в точности такую же структуру каталогов,
как и в официальном дереве портежей!
Затем определите переменную PORTDIR_OVERLAY в /etc/make.conf,
чтобы она указывала на ранее созданный каталог. Теперь при использовании
Portage, эти сборочные файлы будут рассматриваться как часть системы, и не
будут удаляться/перезаписываться при последующих запусках emerge --sync.
Работа с несколькими оверлейными каталогами
Для продвинутых пользователей, ведущих разработку в нескольких оверлейных
каталогах, тестирующих пакеты перед включением в основное дерево портежей или
просто желающих использовать неофициальные сборочные файлы ebuild из разных
источников, в пакете app-portage/gentoolkit-dev есть утилита
gensync, которая поможет поддерживать ваши оверлейные репозитории в
актуальном состоянии.
Используя gensync, вы можете обновить сразу все репозитории или выбрать
для обновления только некоторые из них. В каждом репозитории в каталоге
/etc/gensync/ должен находиться файл .syncsource, в
котором содержится информация о местоположении репозитория, его имени,
идентификаторе и т.д.
Предположим, что у вас есть два дополнительных репозитория с названиями
java (для сборочных файлов разработок, ведущихся на java) и
entapps (для внутренних приложений, разработанных на вашем предприятии).
Вы можете обновить эти репозитории следующей командой:
Листинг 1.1: Запуск gensync для обновления нескольких репозиториев |
# gensync java entapps
|
1.
Программы, поддерживаемые не Portage
Использование Portage с пакетами самостоятельной сборки
Иногда вам может потребоваться сконфигурировать, установить и поддерживать
программное обеспечение самостоятельно, без автоматизации со стороны Portage,
не смотря на то, что оно поддерживается Portage. Наиболее известные случаи
— это исходные коды ядра и драйверы от nVidia. Вы можете настроить
Portage так, чтобы системе стало известно, что определенные пакеты установлены
вручную. Этот процесс называется внедрение, и поддерживается Portage
посредством файла /etc/portage/profile/package.provided.
Например, если вы захотите сообщить Portage, что пакет
vanilla-sources-2.6.11.6 установлен вручную, нужно добавить следующую
строку в /etc/portage/profile/package.provided:
Листинг 1.1: Пример строки из файла package.provided |
sys-kernel/vanilla-sources-2.6.11.6
|
|