This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

Handbook:X86/Portage/CustomTree

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Portage/CustomTree and the translation is 100% complete.
X86 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


Использование подмножества Gentoo репозитория

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

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

Определите имя файла, содержащего шаблоны исключаемых пакетов, в переменной PORTAGE_RSYNC_EXTRA_OPTS в файле /etc/portage/make.conf:

Файл /etc/portage/make.confОпределение файла с исключенными пакетами
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
Файл /etc/portage/rsync_excludesИсключение всех игр
games-*/*

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

Добавление неофициальных файлов ebuild

Определение пользовательского репозитория

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

root #mkdir -p /usr/local/portage/{metadata,profiles}
root #chown -R portage:portage /usr/local/portage

Затем выберите подходящее имя для репозитория. Следующий пример использует в качестве имени "localrepo":

root #echo 'localrepo' > /usr/local/portage/profiles/repo_name

Сообщим Portage, что главный (master) репозиторий это основной Gentoo репозиторий, и что репозиторий не должен автоматически синхронизироваться (так как это не поддерживается сервером rsync, зеркалом git или другими хранилищами исходного кода):

Файл /usr/local/portage/metadata/layout.conf
masters = gentoo
auto-sync = false

Наконец, включите репозиторий в локальную систему, создав файл конфигурации для репозитория в /etc/portage/repos.conf, что сообщит Portage, где можно найти локальный репозиторий:

Файл /etc/portage/repos.conf/localrepo.conf
[localrepo]
location = /usr/local/portage

Работа с несколькими оверлеями

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

Иначе установите app-eselect/eselect-repository для использования встроенной синхронизации в in Portage. Смотрите также Eselect/Repository

eselect-repository

Добавление дополнительных репозиториев становится простым занятием с этой утилитой.

Например, чтобы включить оверлей hardened-development:

root #eselect repository enable hardened-development

Обновление оверлеев, добавленных таким способом, происходит обычным способом с помощью:

root #emerge --sync

Layman

Сначала установите и сконфигурируйте layman, как показано в Overlays User Guide, и добавьте необходимые репозитории с помощью команды layman -a.

Например, чтобы включить оверлей hardened-development:

root #layman -a hardened-development

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

root #layman -S

Для более детальной информации по работе с оверлеями, прочитайте man layman и ранее упомянутое руководство пользователя по оверлеям.

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

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

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

Например, чтобы сообщить Portage о том, что пакет gentoo-sources-4.9.16 был установлен вручную, нужно добавить следующую строку в /etc/portage/profile/package.provided:

Файл /etc/portage/profile/package.providedПомечаем gentoo-sources-4.9.16 как установленный вручную
sys-kernel/gentoo-sources-4.9.16
Заметка
Это файл, который использует версии без = оператора.