HOWTO Настройка Portage

Материал из Википедии - свободной энциклопедии.

Вернутся в раздел руководства


Содержание

Portage Setup Howto

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

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

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

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

Профили 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/

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

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

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

  • use-флаги использующиеся по умолчанию
  • системные пакеты, то есть такие пакеты, которые устанавливаются при

emerge system

  • Маскированые пакеты.
  • Настройки сборки пакетов по умолчанию. (CFLAGS, CHOST и другие)
  • Какие пакеты надо устанавливать при наличии альтернативных

(например, 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/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'ы в этом каталоге, пример был показан в предыдущем разделе.

Источники

man portage
gentoo-user Mailing List
gentoo-dev Mailing List
Gentoo Handbook
Личные инструменты
advertisement