The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

portage ()
  • >> portage (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • Ключ portage обнаружен в базе ключевых слов.
  • PORTAGE

    НАЗВАНИЕ

    portage - главный инструмент Gentoo

    ОПИСАНИЕ

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

    Все файлы в каталоге make.profile могут быть тонко сконфигурированы при использовании каскадных профилей с помощью родительских профилей. Подробнее см. здесь: http://www.gentoo.org/proj/en/releng/docs/cascading-profiles.xml

    Примечание:

    Данное руководство не содержит информации о том, как установить ту или иную программу; если вам нужна именно она, обратитесь к справке по emerge(1).

    ПАРАМЕТРЫ

    /etc/

    make.conf (5) 
    

    /etc/make.profile/ или /etc/portage/make.profile/

    значения для отдельных адресов помещаются в /etc/portage/profile/

    deprecated 
    eapi 
    make.defaults 
    packages 
    packages.build 
    package.accept_keywords 
    package.keywords 
    package.mask 
    package.provided 
    package.unmask 
    package.use 
    package.use.force 
    package.use.mask 
    parent 
    profile.bashrc 
    use.force 
    use.mask 
    virtuals 
    

    /etc/portage/

    bashrc 
    categories 
    color.map 
    license_groups 
    make.conf 
    mirrors 
    modules 
    package.accept_keywords 
    package.env 
    package.keywords 
    package.license 
    package.mask 
    package.properties 
    package.unmask 
    package.use 
    repos.conf 
    

    /etc/portage/env/

    файлы конфигурации интерпретатора, bashrc, для отдельных пакетов

    /etc/portage/profile/

    переопределение /etc/make.profile/ для отдельных адресов

    /usr/portage/metadata/

    layout.conf 
    

    /usr/portage/profiles/

    arch.list 
    categories 
    info_pkgs 
    info_vars 
    license_groups 
    make.defaults 
    package.mask 
    package.unmask 
    package.use 
    package.use.force 
    package.use.mask 
    profiles.desc 
    repo_name 
    thirdpartymirrors 
    use.desc 
    use.force 
    use.local.desc 
    use.mask 
    

    /usr/share/portage/config/

    make.globals 
    

    /var/cache/edb/

    различные файлы внутреннего кэша

    /var/db/pkg/

    база данных для отслеживания установленных пакетов

    /var/lib/portage/

    config 
    world 
    world_sets 
    

    ГЛОССАРИЙ

    В данном руководстве вы можете столкнуться с терминами, которые вам незнакомы или специфичны для Portage. Обращайтесь к указанным ниже man-страницам для более развернутой информации.

    Атом зависимости

    Атом имеет синтаксис следующего вида: либо категория/пакет, либо _оператор категория/пакет-версия. В качестве суффикса атом может иметь обозначение слота.
    Подробнее см. ebuild(5).

    Синтаксис расширенного атома
    Следующие расширения синтаксиса атома поддерживаются только в пользовательских файлах конфигурации и в аргументах таких консольных команд как emerge(1):

    Ограничения репозитария

    Атомы с такими ограничениями содержат в конце, через разделитель '::', имя репозитария. Каждое имя репозитаря должно соответствовать значению записи repo_name одного из репозитариев, сконфигурированных с помощью переменной PORTDIR или PORTDIR_OVERLAY (см. make.conf(5)).

    Примеры:

    # пакет sed из репозитария 'gentoo' 
    sys-apps/sed::gentoo 
    # пакет kdelibs из репозитария 'kde-testing' 
    kde-base/kdelibs::kde-testing 
    # пакет empathy из репозитария 'gnome' 
    net-im/empathy::gnome 
    

    Шаблоны с подстановочными знаками

    Атомы, содержащие подстановочные знаки, имеют синтаксис вида категория/пакет, где подстановочный знак '*' заменяет произвольное число из ряда допустимых. Разрешается использование нескольких символов '*', но они не должны стоять рядом друг с другом.

    Примеры:

    # любой пакет из категории 'sys-apps' 
    sys-apps/* 
    # любой пакет с именем 'zlib' из любой категории
    */zlib 
    # любой пакет из категории, начинающейся с 'net-' 
    net-*/* 
    # любой пакет из любой категории
    */* 
    # любой пакет из репозитария 'gentoo' 
    */*::gentoo 
    

    KEYWORD

    Каждая архитектура имеет свое ключевое слово (KEYWORD).
    Подробнее см. ebuild(5)

    virtual

    Атом зависимости, который принадлежит категории виртуальных пакетов. Используются в том случае, когда разрешить необходимую зависимость могут сразу несколько пакетов, но требуется лишь один.
    Подробнее см. ebuild(5)

    НЕКОТОРЫЕ ВАЖНЫЕ ФАЙЛЫ

    /etc/

    make.conf

    Глобальные редактируемые настройки, передаваемые Portage. См. make.conf(5).

    /etc/make.profile/ или /etc/portage/make.profile/

    Как правило, это лишь символическая ссылка на правильный профиль, хранящийся в каталоге /usr/portage/profiles/. Поскольку этот файл является частью дерева портежей, его можно легко обновить или сгенерировать заново, запустив `emerge --sync`. Он определяет профиль (обычно речь идет о параметрах, специфичных для данной архитектуры). Если вы хотите использовать свой особый профиль, вам необходимо создать свой собственный каталог /etc/make.profile/ и заполнить его. Однако, если вы намерены ограничиться переопределением некоторых настроек, используйте путь /etc/portage/profile/ (он поддерживает те же типы файлов, что и /etc/make.profile/, за исключением родительских записей). НЕ РЕДАКТИРУЙТЕ настройки в /etc/make.profile/, поскольку после очередного `emerge --sync` они будут ПОТЕРЯНЫ. Если существуют два пути - и /etc/make.profile/, и /etc/portage/make.profile/, будет предпочтен /etc/make.profile/.

    Любые файлы в этом каталоге, каталоги других профилей или высокоуровневые profiles-каталоги, имена которых начинаются с "package." или "use.", могут быть не только файлом, но и каталогом. Если это каталог, все файлы в нем будут отсортированы по имени в прямом алфавитном порядке и выведены вместе, как если бы они представляли собой один файл. Обратите внимание, что такое поведение поддерживается только в версиях portage выше 2.1.6.7, причем на данный момент оно не включено в PMS.

    Пример:

    ${PORTDIR}/profiles/package.mask/removals 
    ${PORTDIR}/profiles/package.mask/testing 
    

    deprecated

    Если этот файл присутствует, значит, профиль помечен как устаревший, более не поддерживаемый разработчиками Gentoo. В первой строке файла должен быть указан профиль, на который рекомендуется перейти пользователям, а ниже, возможно - инструкция, как это сделать.

    Пример:

    default-linux/x86/2005.0 
    # emerge -n '>=sys-apps/portage-2.0.51' 
    # rm -f /etc/make.profile 
    # ln -s /usr/portage/profiles/default-linux/alpha/2005.0 /etc/make.profile 
    

    eapi

    В первой строке этого файла указывается версия EAPI для всех файлов каталога. Справка по ebuild(5) предоставляет более развернутую информацию о EAPI и связанных с ним функциях.

    make.defaults

    Стандартные настройки профиля для Portage. Общий формат описан в руководстве по make.conf(5). Файл make.defaults для вашего профиля определяет несколько специфических переменных:

    ARCH

    Архитектура (x86/ppc/hppa и т.д.).

    USERLAND = GNU

    Поддержка BSD/cygwin и т.д.

    ELIBC = glibc

    Поддержка uClibc/BSD libc и т.д.

    PROFILE_ONLY_VARIABLES = ARCH

    Предотвращает изменение пользователем критических переменных в файлах make.conf или окружении.

    PROFILE_ARCH

    Позволяет различать классы машин с совпадающим значением ARCH. Так, для всех компьютеров Sparc справедливо ARCH=sparc, но данная переменная должна иметь значение 'sparc32' или 'sparc64'.

    STAGE1_USE

    Специальные USE-флаги, которые могут понадобиться при самогенерации stage2 из stage1.

    packages

    Перечь пакетов, входящих в состав сета system.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - на одной строке может быть только один атом зависимости
    - пакеты, которые должны быть добавлены в сет system, начинаются с символа * 
    - атомы без символа * выводятся только если речь идет об устаревших, но по-прежнему используемых пакетах 
    

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

    Пример:

    # Это комментарий! 
    # загрузить версию glibc ниже 2.3 
    *<sys-libs/glibc-2.3 
    # загрузить любую версию bash 
    *app-shells/bash 
    # загрузить версию readline ниже 4.2 
    *<sys-libs/readline-4.2 
    

    packages.build

    Список пакетов (по пакету на строку), которые составляют архив stage1. Его изменение имеет смысл только для разработчиков stage.

    package.provided

    Список пакетов (по пакету на строку), для которых portage предполагает, что они имеют источник данных. Имеет смысл при портировании на системы, отличные от Linux. В целом этот список заменяет emerge --inject.

    Например, если вы работаете с собственной копией ядра 2.6, вы можете указать portage, что пакет 'sys-kernel/development-sources-2.6.7' уже обслуживается со стороны, так что он должен его игнорировать.

    Portage не будет пытаться обновить пакет из данного списка, если только другой пакет явно не требует более новой его версии, чем указанная в списке. Зависимости, удовлетворяемые перечисленным в package.provided, могут вызвать удаление командой emerge --depclean установленных пакетов, удовлетворяющих соответствующие зависимости (подробнее см. в разделе ДЕЙСТВИЯ man-руководства emerge(1)).

    В package.provided не должны помещаться виртуальные пакеты (virtual/*). В зависимости от типа такого пакета, вам может понадобиться добавить его в файл virtuals и/или добавить пакет, удовлетворяющий виртуальному, в package.provided.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - на одной строке может быть только один атом зависимости
    - операторы отношений не допускаются 
    - должна быть указана версия 
    

    Пример:

    # вы занимаетесь разработкой ядра 
    sys-kernel/development-sources-2.6.7 
    
    # у вас установлена собственная копия QT 
    x11-libs/qt-3.3.0 
    
    # у вас модульная среда X, а пакетам необходима монолитная 
    x11-base/xorg-x11-6.8 
    

    package.use.force

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

    Примечание: При использовании каскадных профилей вы можете при настройке удалять в дочерних профилях USE-флаги, добавленные родительскими профилями - для этого флаг нужно указать с префиксом '-'.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - по одному атому зависимости на строку, USE-флаги разделяются пробелом 
    

    Пример:

    # принудительно установить документацию для GTK 2.x 
    =x11-libs/gtk+-2* doc 
    # принудительно убрать поддержку mysql для QT 
    x11-libs/qt -mysql 
    

    package.use.mask

    Маскировка USE-флагов для отдельных пакетов.

    Примечание: При использовании каскадных профилей вы можете при настройке удалять в дочерних профилях USE-флаги, добавленные родительскими профилями - для этого флаг нужно указать с префиксом '-'.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - по одному атому зависимости на строку, USE-флаги разделяются пробелом
    

    Пример:

    # замаскировать документацию для GTK 2.x 
    =x11-libs/gtk+-2* doc 
    # размаскировать поддержку mysql для QT 
    x11-libs/qt -mysql 
    

    parent

    Содержит путь доступа к родительскому профилю. Путь может быть как абсолютным, так и относительным. К местонахождению профиля путь будет относительным. Как правило, данный файл содержит указание на родительский каталог, '..'. Используется только в каскадных профилях.

    profile.bashrc

    При необходимости этот файл можно использовать для настройки особого окружения для ебилдов, отличного от стандартного для root. Синтаксис файла такой же, как для любого другого сценария bash.

    use.force

    В определенных обстоятельствах некоторые USE-флаги нет смысла отключать. Здесь перечисляются принудительно выставляемые флаги.

    Примечание: При использовании каскадных профилей вы можете при настройке удалять в дочерних профилях USE-флаги, добавленные родительскими профилями - для этого флаг нужно указать с префиксом '-'.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - по одному USE-флагу на строку
    

    use.mask

    Некоторые USE-флаги на отдельных архитектурах не имеют смысла (например, altivec на архитектуре, отличной от ppc, или mmx на архитектуре, отличной от x86) или не тестировались. Здесь перечисляются замаскированные флаги.

    Примечание: При использовании каскадных профилей вы можете при настройке удалять в дочерних профилях USE-флаги, добавленные родительскими профилями - для этого флаг нужно указать с префиксом '-'.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - по одному USE-флагу на строку
    

    Пример:

    # замаскировать doc 
    doc 
    # размаскировать mysql 
    -mysql 
    

    virtuals

    Определяет, какие пакеты являются источником виртуальных по умолчанию. Например, если пакет должен отправлять почту, ему понадобится virtual/mta. Если нет пакета, предоставляющего virtual/mta (например, qmail, sendmail, postfix и т.д.), portage обращается к значению virtuals. В данном случае Gentoo стандартно использует net-mail/ssmtp (как определено в файле virtuals) - это пакет, который минимально необходим для отсылки электронных писем.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - по одному виртуальному пакету и атому зависимости на строку
    

    Пример:

    # использовать net-mail/ssmtp как почтовый агент по умолчанию 
    virtual/mta           net-mail/ssmtp 
    # использовать app-dicts/aspell-en как словарь по умолчанию
    virtual/aspell-dict   app-dicts/aspell-en 
    

    /etc/portage/

    Любой элемент в этом каталоге, имя которого начинается с "package.", может быть не только файлом, но и каталогом. Если это каталог, все файлы, хранящиеся в нем, отсортированы по имени в прямом алфавитном порядке и сведены вместе, как если бы это был один файл.

    Пример:

    /etc/portage/package.accept_keywords/common 
    /etc/portage/package.accept_keywords/e17 
    /etc/portage/package.accept_keywords/kde 
    

    bashrc

    При необходимости этот файл может быть использован для настройки особого окружения ебилдов, отличного от стандартного окружения root. По синтаксису файл представляет собой обычный сценарий bash.

    В каталоге /etc/portage/env можно создавать дополнительные файлы настроек интерпретатора bashrc для отдельных пакетов.

    categories

    Простой список существующих категорий, которые могут быть использованы в /usr/portage, PORTDIR_OVERLAY и PKGDIR (см. make.conf(5)). Это позволяет создавать пользовательские категории.

    Формат:

    - по одной категории на строку
    

    Пример:

    app-hackers 
    media-other 
    

    color.map

    Содержит переменные для пользовательской настройки цветного вывода. См. color.map(5).

    make.conf

    Глобальные пользовательские настройки Portage. См. make.conf(5). Если этот файл существует, он имеет приоритет перед /etc/make.conf.

    mirrors

    Всякий раз, сталкиваясь с URI-ссылкой вида mirror://, portage обращается в поиске серверов сюда. Если mirrors не содержит перечня зеркал, portage обратится к глобальному файлу зеркал по адресу /usr/portage/profiles/thirdpartymirrors. Вы можете также указать особый тип зеркал, "local". Обращение к таким зеркалам происходит до считывания значения переменной GENTOO_MIRRORS; они используеются даже в том случае, если для пакета установлены параметры RESTRICT="mirror" или RESTRICT="fetch".

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - сначала тип зеркала, затем список серверов 
    

    Пример:

    # локальные частные зеркала моей компании
    local ftp://192.168.0.3/mirrors/gentoo http://192.168.0.4/distfiles 
    
    # если вы находитесь в Японии, предпочтительным для вас, скорее всего, будет японский сервер sourceforge
    sourceforge http://keihanna.dl.sourceforge.net/sourceforge 
    
    # если вы находитесь в Тайване, предпочтительным для вас, скорее всего, будет местный сервер gnu
    gnu ftp://ftp.nctu.edu.tw/UNIX/gnu/ 
    

    modules

    Этот файл позволяет переопределять кэш метаданных. На практике единственной используемой здесь переменной, которую имеет смысл менять пользователю, является portdbapi.auxdbmodule.

    Пример:

    portdbapi.auxdbmodule = portage.cache.sqlite.database 
    

    После переопределения значения portdbapi.auxdbmodule может быть необходимо перенести или регенерировать кэш метаданных. Если вы используете дерево rsync и в make.conf(5) включено FEATURES="metadata-transfer", выполните `emerge --metadata`. Чтобы регенерировать метаданные для репозитариев из переменной PORTDIR_OVERLAY или дерева cvs, выполните `emerge --regen` (см. emerge(1)). Если вы используете, например, модуль sqlite и хотите, чтобы все метаданные сохранялись только в этом формате (удобно для запросов), включите FEATURES="metadata-transfer" в вашем make.conf(5).

    package.accept_keywords и package.keywords

    Позволяют назначать ACCEPT_KEYWORDS для отдельных пакетов. Это имеет смысл, если вам необходимо несколько нестабильных пакетов на стабильной системе или наоборот. ACCEPT_KEYWORDS получает здесь аргументом один определенный пакет. Если в системе присутствуют и package.accept_keywords, и package.keywords, будут использованы оба, причем значения из package.accept_keywords будут иметь приоритет перед package.keywords. Файл package.accept_keywords призван заменить package.keywords, поскольку профили поддерживают другой формат package.keywords, который изменяет действующие значения KEYWORDS (а не ACCEPT_KEYWORDS).

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются)
    - в каждой строке - один атом зависимости и дополнительное ключевое слово
    - если в строке не указано ключевых слов, подразумевается, что используется нестабильная ветка
    
    Пример: 
    # всегда использовать нестабильные версии libgd 
    media-libs/libgd ~x86 
    # использовать только стабильные версии mplayer 
    media-video/mplayer -~x86 
    # всегда использовать нестабильные версии netcat
    net-analyzer/netcat 
    

    Примечание: В дополнение к стандартным значениям переменной ACCEPT_KEYWORDS package.keywords поддерживает три особых маркера:

    *  пакет отображается только в том случае, если он стабилен на любой архитектуре 
    ~* пакет отображается только в том случае, если он тестируется на всех архитектурах 
    ** пакет отображается во всех случаях (ключевые слова игнорируются) 
    

    Дополнительное примечание: Если вы видите значение -* KEYWORD, это означает, что пакет не работает ни на одной системе, кроме перечисленных в KEYWORDS. Например, для пакета, существующего лишь как бинарный и собранного под архитектуру x86, имеем следующую запись:

    games-fps/quake3-demo-1.11.ebuild:KEYWORDS="-* x86"

    Если вы всё же хотите, чтобы этот пакет был доступен, используете другое ключевое слово в package.accept_keywords, например:

    games-fps/quake3-demo x86

    package.env

    Переменные окружения для отдельных пакетов. Каждая запись соответствует файлу окружения; все эти файлы хранятся в каталоге /etc/portage/env/ и имеют тот же формат, что и make.conf(5).

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются)
    - в одной строке - один атом зависимости и соответствующий/-е ему файл(ы) окружения 
    

    Пример:

    # использовать для пакета glibc переменные окружения из файла /etc/portage/env/glibc.conf
    sys-libs/glibc glibc.conf 
    

    package.license

    Позволяет добавлять значения ACCEPT_LICENSE для отдельных пакетов.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются)
    - в одной строке - один атом зависимости с дополнительными лицензиями или группами лицензий для него
    

    package.mask

    Список маскируемых атомов пакетов. Полезно в том случае, если не все версии требуемого пакета работают в вашей системе. Например, вам необходимы драйверы Nvidia drivers, но только версии до 1.0.4496. Нет ничего проще!

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются)
    - по одному атому зависимости на строку 
    

    Пример:

    # замаскировать драйверы nvidia
    # версии 1.0.4496 и выше
    >=media-video/nvidia-kernel-1.0.4496 
    >=media-video/nvidia-glx-1.0.4496 
    

    package.properties

    Позволяет добавлять значения ACCEPT_PROPERTIES для отдельных пакетов.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются)
    - в одной строке - один атом зависимости и дополнительные свойства для него
    

    package.unmask

    Аналогично описанному выше package.mask, но здесь, наоборот, перечисляются те пакеты, которые вы хотите размаскировать. Позволяет переопределить значения глобального файла package.mask (см. выше). Обратите внимание, что это не влияет на пакеты, которые были замаскированы посредством переменной KEYWORDS.

    package.use

    USE-флаги для отдельных пакетов. Удобно для отслеживания локальных USE-флагов, а также в случаях, когда флаги необходимо включать выборочно. Например, вы - разработчик GTK, поэтому вам необходима полная документация по данному проекту, а документация по QT не нужна. Элементарно, Ватсон.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - в одной строке - один атом зависимости и его USE-флаги, через пробел 
    

    Пример:

    # подключить документацию для GTK 2.x 
    =x11-libs/gtk+-2* doc 
    # отключить поддержку mysql для QT 
    x11-libs/qt -mysql 
    

    repos.conf

    Содержит информацию о конфигурации отдельных репозитариев. Обратите внимание, что указанные здесь настройки конфигурации ни относятся к таким утилитам как repoman(1) и egencache(1), поскольку выполняемые ими операции по определению не зависят от репозитария. ВНИМАНИЕ: в общем случае не рекомендуется использовать repos.conf, поскольку это повлечет за собой изменения в наследовании еклассов (прежде всего переопределение еклассов), которые, в свою очередь, в ряде случаев могут вызвать снижение производительности (см. ошибку #124041). При переопределении еклассов, дабы обойти ошибку #276264, вы должны убедиться, что ваше дерево портежей не содержит каталога metadata/cache/. Если же этот каталог существует, вам следует полностью его удалить и прописать значение переменной PORTAGE_RSYNC_EXTRA_OPTS="--exclude=/metadata/cache" в файле make.conf, чтобы исключить metadata/cache/ из операций *emerge --sync.

    Пример:

    [DEFAULT] 
    # все репозитарии будут наследовать еклассы из java-overlay и репозитариев 
    # java-experimental, причем еклассы из java-experimental 
    # будут иметь приоритет перед еклассами из java-overlay
    eclass-overrides = java-overlay java-experimental 
    
    [gentoo] 
    # отключить переопределение еклассов для ебилдов из репозитария gentoo 
    eclass-overrides = 
    # при обработке данных metadata/layout.conf из других репозитариев, вставлять 
    # 'gentoo' вместо алиасов-ссылок на репозитарии 'foo' и 'bar', 
    # а алиас 'baz', содержащийся в файле layout.conf для gentoo, игнорировать
    aliases = foo bar -baz 
    
    [kde-testing] 
    # переопределять настройки metadata/layout.conf основной ветки репозитария kde-testing 
    masters = gentoo kde 
    
    [python] 
    # переопределять настройки metadata/layout.conf основной ветки репозитария python, 
    # чтобы эти настройки не наследовались из ветки и чтобы 
    # репозитарий не тянул оттуда зависимости (пользователю необходимо 
    # убедиться, что все необходимые зависимости, такие как еклассы, удовлетворены) 
    masters = 
    

    /etc/portage/env/

    В этом каталоге могут располагаться дополнительные файлы настройки интерпретатора, bashrc, для отдельных пакетов. Имейте в виду, что, если необходимы лишь настройки переменных окружения для этих пакетов, следует использовать не bashrc, а /etc/portage/package.env.

    Функции set_unless_changed и unset_unless_changed functions можно использовать для изменения значений данных переменных, но только в том случае, если их значения не противоречат значениям, выставленным в файле make.conf. Это удобно, когда требуется временно переопределить переменные окружения при вызове emerge. Значения переменных, которых было назначены без использования функции set_unless_changed, всегда переопределяют значения, установленные при вызове emerge.

    Синтаксис:

    set_unless_changed ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ 
    unset_unless_changed ЗНАЧЕНИЕ 
    

    Portage обрабатывает все файлы bashrc после /etc/portage/bashrc, в следующем порядке:

    1. /etc/portage/env/${CATEGORY}/${PN}
    2. /etc/portage/env/${CATEGORY}/${PN}:${SLOT}
    3. /etc/portage/env/${CATEGORY}/${P}
    4. /etc/portage/env/${CATEGORY}/${PF}

    /usr/portage/metadata/

    layout.conf

    Содержит схему репозитариев. Поддерживается атрибут masters, используемый для указания репозитариев, которые удовлетворяют зависимости еклассов и/или ебилдов. Каждому репозитарию должно соответствовать значение записи repo_name одного из репозитариев, определенного переменными PORTDIR и PORTDIR_OVERLAY (см. make.conf(5)). Репозитории справа от masters имеют большие приоритет, чем указанные слева. Поддерживается также атрибут aliases, поведение которого аналогично этому же атрибуту из файла repos.conf. Значения layout.conf можно переопределять для отдельных репозитариев в файле /etc/portage/repos.conf. Настройки, содержащиеся в repos.conf, имеют приоритет перед значениями layout.conf, однако такие утилиты как repoman(1) и egencache(1) полностью игнорируют repos.conf, поскольку выполняемые ими операции по определению не зависят от репозитария.

    Пример:

    # еклассы, предоставляемые java-overlay, имеют приоритет перед одноименными
    # еклассами, предоставляемыми gentoo 
    masters = gentoo java-overlay 
    # указать, что данный репозитарий может заменять foo-overlay 
    aliases = foo-overlay 
    # не подписывать manifest-файлы в данном репозитарии 
    sign-manifests = false 
    # использовать "легкие" manifest-файлы, содержащие только записи DIST 
    thin-manifests = true 
    # указать, что в данном репозитарии каждому пакету должен соответствовать manifest-файл, а если 
    # его нет или он некорректен, это будет рассматриваться как ошибка 
    use-manifests = strict 
    # указать, что для данного репозитария по умолчанию включена опция repoman --echangelog=y
    update-changelog = true 
    # указать, что данный репозитарий содержит файлы формата как md5-dict, так и pms -
    # их может генерировать egencache(1) 
    cache-formats = md5-dict pms 
    # указать, что данный репозитарий содержит профили, которые могут использовать
    # package.mask, package.provided, package.use, package.use.mask, 
    # package.use.force, use.mask и use.force как каталоги. 
    profile-formats = portage-1 
    

    /usr/portage/profiles/

    Глобальные настройки Gentoo, контролируемые разработчиками. Переопределить их можно, используя файлы в каталоге /etc/portage/.

    arch.list

    Список всех доступных ключевых слов KEYWORDS. Модификаторы не учитываются.

    Формат:

    - по одному ключевому слову на строку 
    

    Пример:

    x86 
    ppc 
    sparc 
    

    categories

    Простой список доступных категорий, которые могут быть использованы в /usr/portage, PORTDIR_OVERLAY и PKGDIR (см. make.conf(5)).

    Формат:

    - по одной категории на строку
    

    Пример:

    app-admin 
    dev-lang 
    games-strategy 
    sys-kernel 
    

    info_pkgs

    Список всех пакетов, которые будут выведены по команде `emerge --info`.

    info_vars

    Список всех переменных, которые будут выведены по команде `emerge --info`.

    license_groups

    Содержит группы лицензий, которые могут быть определены переменной ACCEPT_LICENSE (см. make.conf(5)). Подробнее об этом см. в GLEP 23: http://www.gentoo.org/proj/en/glep/glep-0023.html.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - в одной строке - одна группа с перечнем лицензий и вложенных групп
    - вложенные группы должны иметь префикс @ 
    

    Пример:

    # Группа лицензий FSF-APPROVED полностью включает в себя группу GPL-COMPATIBLE и не только. 
    FSF-APPROVED @GPL-COMPATIBLE Apache-1.1 BSD-4 MPL-1.0 MPL-1.1 
    # Группа лицензий GPL-COMPATIBLE включает все лицензии, совместимые с GNU GPL. 
    GPL-COMPATIBLE Apache-2.0 BSD BSD-2 GPL-2 GPL-3 LGPL-2.1 LGPL-3 X11 ZLIB 
    

    package.accept_keywords

    Значения ACCEPT_KEYWORDS, используемые профилями, для отдельных пакетов. Формат и повдение этого файла аналогичны /etc/portage/package.accept_keywords, включая возможность включения в список атомов без ключевых слов, тем самым разрешая использовать нестабильные соответствия все стабильных веток, перечисленных в ACCEPT_KEYWORDS.

    package.keywords

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

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются)
    - в одной строке - один атом с зависимости с дополнительными ключевыми словами для него
    

    Пример:

    # добавить для libgd стабильную ветку
    media-libs/libgd x86 
    # заменить для mplayer стабильную ветку нестабильной
    media-video/mplayer -x86 ~x86 
    # удалить для netcat все ключевые слова 
    net-analyzer/netcat -* 
    

    package.mask

    Содержит перечень атомов зависимости для пакетов, которые не должны устанавливаться ни в одном профиле. Имеет смысл, например, если вам необходимо добавить последние бета-версии KDE, но не допустить, чтобы кто-либо из пользователей мог до них обновиться. Удобно и для быстрой маскировки отдельных версий, если были обнаружены проблемы с безопасностью. ВСЕГДА сопровождайте записи комментарием, в котором указывались бы ПРИЧИНА, по которой пакет замаскирован, и тот, КТО его замаскировал.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - по одному атому зависимости на строку 
    

    Пример:

    # замаскировать по соображениям безопасности 
    <sys-libs/zlib-1.1.4 
    # <[email protected]> (10 Sep 2003) 
    # новые бета-версии kde 
    =kde-base/kde-3.2.0_beta1 
    =kde-base/kdeaccessibility-3.2.0_beta1 
    

    profiles.desc

    Список всех текущих профилей, предназначенных для пользователей и разработчиков. Каждый указанный здесь профиль обрабатывается утилитой repoman.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - в одной строке - один профиль, описанный в формате: _архитектура каталог состояние_, где:
    - архитектура должна фигурировать в arch.list 
    - каталог должен фигурировать в profiles.desc 
    - поддерживаются три состояния профиля: 'stable', 'dev' и 'exp' 
    

    Пример:

    alpha        default/linux/alpha/10.0    stable 
    m68k         default/linux/m68k/10.0     dev 
    x86          default/linux/x86/10.0      stable 
    x86-linux    prefix/linux/x86            exp 
    

    repo_name

    Первая строка файла должна определять уникальное имя репозитория. Это имя может содержать любые символы из набора [A-Za-z0-9_-], причем дефис не может стоять в начале имени.

    thirdpartymirrors

    Управляет обработкой URI вида mirror://, представляющих собой доступные для загрузки зеркала. Предотвращает перегрузку какого-либо одного сервера.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - в строке - тип сервера и перечень хостов 
    

    Пример:

    sourceforge http://aleron.dl.sourceforge.net/sourceforge http://unc.dl.sourceforge.net/sourceforge 
    
    gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo/distfiles 
    
    kernel http://www.kernel.org/pub http://www.us.kernel.org/pub 
    

    use.desc

    Здесь должны быть перечислены все глобальные USE-флаги с их описанием.

    Формат:

    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - синтаксис строки: USE-флаг - описание
    

    Пример:

    3dfx - Adds support for 3dfx video cards 
    acl - Adds support for Access Control Lists 
    doc - Adds extra documentation 
    

    use.local.desc

    Здесь перечисляются все локальные USE-флаги с описанием и указанием пакетов, для которых они установлены. Этот файл генерируется автоматически на основе файлов метаданных metadata.xml, включаемых во все пакеты. Подробнее см. в GLEP 56: http://www.gentoo.org/proj/en/glep/glep-0056.html.

    Формат: 
    - комментарии начинаются с символа # (внутритекстовые комментарии не допускаются) 
    - синтаксис строки: пакет:USE-флаг - описание 
    
    Пример: 
    app-editors/nano:justify - Toggles the justify option 
    dev-libs/DirectFB:fusion - Adds Multi Application support 
    games-emulation/xmess:net - Adds network support 
    

    /usr/share/portage/config/

    make.globals

    Глобальные настройки по умолчанию для Portage. Они беруется непосредственно из пакета portage. Настройки, выставленные пользователем в make.conf или package.env, переопределяют их. Формат подробно описан в make.conf(5).

    /var/cache/edb/

    Этот каталог используется для хранения файлов внутреннего кэша portage. Имена и назначение этих файлов специально не документируются, дабы сэкономить ресурсы. Если вы не ведете разработку portage, вас, скорее всего, не касается описанное ниже.

    Содержимое данного каталога может быть полностью удалено без какого-либо ущерба безопасности. Тем не менее убедительно рекомендуем не делать этого, поскольку повторное его генерирование может занять много времени.

    /var/db/pkg/

    Информация обо всех установленных пакетах хранится здесь. Portage определяет, установлен ли тот или иной пакет, путем обращения к этому каталогу.

    Его структура в целом дублирует структуру дерева портежей: для каждой категории установленных пакетов предусмотрен подкаталог, а для каждой установленной версии пакета - вложенный в него каталог.

    Каждый каталог пакета содержит различные файлы, описывающие установленные элементы пакета; здесь же хранится информация времени сборки (чтобы пакет можено было удалить, не обращаясь к дереву портежей).

    Мы не описываем здесь точное содержимое и формат файлов, поскольку они могут в любой момент изменены. Впрочем, как правило, обычно каждой значимой переменной окружения (например, CFLAGS) соответствует один файл в данном каталоге. Обычно присутствует файл CONTENTS, содержащий адреса и хэши всех объектов, установленных пакетом в вашу систему.

    /var/lib/portage/

    config

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

    world

    Всякий раз, когда вы устанавливаете какой-либо пакет, его имя вносится в этот файл. При вызове `emerge world -up` из world-файла считывается список пакетов. Обратите внимание, что пакеты, установленные как зависимости, не вносятся в world. Например, если вы введете в терминале `emerge mod_wsgi`, а apache у вас еще не установлен, в world-файл будет внесен пакет "www-apache/mod_wsgi", но не "www-servers/apache". Подробнее см. emerge(1).

    Формат:

    - по одному атому зависимости на строку 
    

    Пример:

    games-misc/fortune-mod-gentoo-dev 
    dev-libs/uclibc 
    app-cdr/cdemu 
    

    world_sets

    Аналогичен world-файлу, но вместо атомов пакетов содержит сеты пакетов (всегда начинаются с символа @).

    Пример:

    @kde 
    

    БАГТРЕКЕР

    Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/

    АВТОРЫ

    СМ. ТАКЖЕ

    emerge(1), ebuild(1), ebuild(5), make.conf(5), color.map(5)

    ПЕРЕВОД

     
     

    Октябрь 2011


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру