В начало → Настройка Portage
Gentoo-doc HOME В начало

Настройка Portage


1. Portage Setup Howto

1. Portage Setup Howto

1.1. Целевая аудитория

Это руководство создается для людей, которые хотят использовать все возможности системы Portage.

1.2. Зачем нужно это howto?

Portage — это система управления пакетами Gentoo Linux. Ее возможности довольно велики — сборка пакетов из исходников, включая конфигурирование пакета на основе пользовательских USE-флагов; начальная настройка приложений; установка предкомпилированных пакетов; удаление програм; автоматическое обновление, и т. д. Однако, как показывает опыт, несмотря на отличную документацию, большинство пользователей не знают всех возможностей этой замечательной системы, поэтому очень часто Gentoo Linux подвергается незаслуженной критике. Данный документ — это попытка восполнить этот пробел.

1.3. Профили Portage (Portage profiles)

Gentoo — многоплатформенная система, при этом количество поддерживаемых архитектур постоянно увеличивается. Поэтому возникает необходимость в так называемых профилях сборки. Профиль — это набор настроек по умолчанию для определенной архитектуры, или определенного класса задач (например, для систем с повышенной безопасностью существуют профили hardened и selinux). Наличие профилей, которые легко создавать, позволяет называть Gentoo не дистрибутивом, а метадистрибутивом, то есть дистрибутивом для создания других дистрибутивов ;). Но не об этом сейчас разговор.

Итак, для того, чтобы иметь работающую Gentoo-систему, необходимо выбрать себе нужный профиль. Профили по умолчанию находятся в каталоге /usr/portage/profiles. По названию профиля легко определить тот, который нужен вам. Например, 'default-x86-2004.2' — это стандартный профиль для архитектуры x86 версии 2004.2. Если в каталоге с профилем есть файл deprecated, то это означает, что данный профиль больше не поддерживается и выбирать его не следует.

После того как вы определились с выбранным профилем необходимо создать симлинк /etc/make.profile на каталог с выбранным профилем. Например, ln -s /usr/portage/profiles/default-x86-2004.2 /etc/make.profile Когда выйдет новая версия Gentoo, вам не надо бежать в магазин, покупать новые диски. Достаточно просто поменять симлинк /etc/make.profile на симлинк, указывающий на каталог с новым профилем.

Примечание: Сейчас идет переход на новый вид профилей — Cascading

Profiles. Такие профили имеют вид:

default-linux/x86/2004.2/

То есть настройки, общие для нескольких профилей не надо записывать по несколько раз. Пока что это экспериментальная фича, но если вы хотите помочь ее протестировать, то используйте на здоровье ;).

Примечание: Вообще-то переход на cascading profiles уже произошел, посему надо обновить то, что написано выше в этой секции "Portage profiles"

1.4. Настройки профилей

В профилях содержится следующая информация:

  1. use-флаги использующиеся по умолчанию;

  2. системные пакеты, то есть такие пакеты, которые устанавливаются при   emerge system;

  3. маскированные пакеты;

  4. Настройки сборки пакетов по умолчанию. (CFLAGS, CHOST и другие);

  5. Какие пакеты надо устанавливать при наличии альтернативных. (например, xorg или xfree)

Конфигурацию профилей напрямую менять не следует, так как ваши настройки будут удалены после следующей синхронизации с rsync-сервером. О том как правильно настраивать portage будет рассказано в следующем разделе.

/etc/portage и /etc/make.conf

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

/etc/portage/package.mask

Синтаксис: в каждой строке содержится DEPEND ATOM, то есть один из знаков >, <, >=, <=, =, категорию, название и версию пакета. Логические знаки обязательны если указана версия пакета.

Например: >=net-www/mozilla-1.7

Неправильные примеры:

net-www/mozilla-1.7 (нет логической операции)

>=mozilla-1.7 (нет категории)

Предназначение: Маскирует пакеты. Может использоваться для того, чтоб Portage не обновлял нужный вам пакет. Например, если вы хотите использовать apache-1.3 вместо apache-2.0

/etc/portage/package.unmask

Синтаксис: такой же, как и у package.mask

Предназначение: Демаскирует пакеты, которые маскированы в профиле. Используется для установки нестабильных пакетов. Рекомендуется использовать только тем, кто хочет протестировать какой-то нестабильный пакет.

/etc/portage/profile/package.provided

Синтаксис: В каждой строчке содержится полное имя пакета, то есть category/name-version

Например: dev-lang/ghc-6.2.1-r1

Предназначение: Замена 'emerge --inject'. При наличии пакета в package.provided Portage будет считать, что этот пакет уже установлен в системе.

Примечание: Иногда этого бывает недостаточно и пакет приходится вносить в /etc/make.profile/package.provided (который удаляется после каждого emerge sync)

/etc/portage/mirrors

Синтаксис: Такой же как и у файла /usr/portage/profiles/thirdpartymirrors. Предназначение: Список зеркал, которые будут использоватся в первую очередь. Можно также указать зеркала sourceforge или gnu, которые будут использоватся в первую очередь.

Например:  sourceforge http://keihanna.dl.sourceforge.net/sourceforge

Так же можно использовать тип миррора 'local'. Такое зеркало будет проверятся, даже если в ebuild'е пакета есть RESTRICT="NOMIRROR". Например:

local ftp://gentoo.linux.kiev.ua/pub/Linux/Gentoo/distfiles/

/etc/portage/package.use

Синтаксис: DEPEND ATOM USE-флаги

Например: x11-libs/gtk+ doc

Предназначение: Установка индивидуальных USE-флагов для отдельных пакетов

/etc/portage/package.keywords

Синтаксис: DEPEND ATOM KEYWORD KEYWORD — это идентификатор, который показывает, насколько стабилен пакет на данной архитектуре. Всего есть 4 вида KEYWORDS:

  arch — пакет стабилен на архитектуре arch

~arch — пакет стабилен на архитекруре arch, но еще не прошло время тестирования

 -arch — у пакета наблюдаются проблемы на архитектуре arch.

      -* — пакет нестабилен на всех архитектурах

Например: >=app-editors/emacs-cvs-21.3 ~x86

Предназначение: Установка индивидуальных KEYWORDS для отдельных пакетов. Используйте если хотите, чтоб в вашей стабильной системе были отдельные нестабильные пакеты или наоборот :)

/etc/portage/categories

Синтаксис: В каждой строке содержится название категории. Предназначение: Используется для создание новых категорий для Portage.

Например: app-vasia

Теперь вы можете создать ebuild для пакетов категории app-vasia. emacs ${PORTDIR_OVERLAY}/app-vasia/pupkin/pupkin-0.0.1.ebuild

/etc/make.conf

Файл /etc/make.conf служит для настройки самого процесса сборки пакетов. Никаких сложных опций там нет, читайте внимательно комментарии в /etc/make.conf.example.

$PORTDIR_OVERLAY

Представьте себе такую ситуацию: вы хотите установить пакет, ebuild'а которого нет в официальном дереве, но кто-то уже его написал. Или вы собираетесь самостоятельно научится писать ebuild'ы, и вы хотите, чтоб Portage мог устанавливать нужные вам программы. Если вы запишете свой ebuild в /usr/portage, то он сотрется при следующей синхронизации с rsync-сервером. Для того, чтобы third-party ebuild'ы сохранялись, необходимо создать каталог для их хранения (например, /usr/local/portage) и записать его имя в переменную $PORTDIR_OVERLAY в файле /etc/make.conf. Теперь вы можете размещать свои ebuild'ы в этом каталоге, пример был показан в предыдущем разделе.

В начало
В начало → Настройка Portage