Portage можно полностью настроить с помощью различных переменных, которые можно установить в файле конфигурации, либо как переменные окружения. 3 2012-07-24
Настройка Portage

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

$ man make.conf
Параметры сборки Параметры конфигурирования и компиляции

Когда Portage собирает приложения, компилятору и сценарию конфигурации передаются значения следующих переменных:

  • CFLAGS и CXXFLAGS определяют желаемые флаги компилятора для C и C++
  • CHOST определяет информацию об используемой платформе для сценариев конфигурации приложений
  • MAKEOPTS передается команде make и обычно применяется для установки степени распараллеливания компиляции. Более подробная информация о параметрах команды make находится на странице справки по make.

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

Параметры установки

Когда Portage устанавливает (merge) новую версию программного продукта, файлы более старых версий удаляются из системы. Portage дает пользователю 5-ти секундную задержку перед стиранием старых версий. Эти 5 секунд задаются переменной CLEAN_DELAY.

Вы можете сказать emerge использовать некоторые опции каждый раз, когда вы ее запускаете, установив EMERGE_DEFAULT_OPTS. Из полезных опций можно выделить --ask, --verbose, --tree, и так далее.

Защита конфигурационных файлов Места, защищаемые Portage

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

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

Узнать текущее значение CONFIG_PROTECT можно из сообщений emerge --info:

$ emerge --info | grep 'CONFIG_PROTECT='

Более подробная информацию о защите конфигурационных файлов Portage находится в разделе CONFIGURATION FILES man-страницы emerge:

$ man emerge
Исключение каталогов

Чтобы снять защиту с определенных подкаталогов защищенного каталога, можно использовать переменную CONFIG_PROTECT_MASK.

Параметры скачивания Расположение сервера

Если запрошенная информация или данные отсутствуют в вашей системе, Portage обращается за ними в интернет. Расположение серверов для различных каналов получения информации задается следующими переменными:

  • GENTOO_MIRRORS определяет список адресов серверов, содержащих исходный код (distfiles)
  • PORTAGE_BINHOST указывает расположение определенного сервера, содержащего двоичные пакеты (prebuilt packages) для вашей системы

Третья переменная содержит расположение сервера rsync, который используется при обновлении вашего дерева Portage:

  • SYNC указывает сервер, с которого Portage извлекает дерево Portage

Переменные GENTOO_MIRRORS и SYNC можно установить автоматически программой mirrorselect. Перед тем, как использовать, ее нужно установить, выполнив emerge mirrorselect. За дополнительной информацией обращайтесь к оперативной справке mirrorselect:

# mirrorselect --help

Если вы вынуждены использовать прокси-сервер, для его указания можно использовать переменные http_proxy, ftp_proxy и RSYNC_PROXY.

Команды для извлечения

Когда Portage требуется извлечь исходный код, по умолчанию используется wget. Вы можете это изменить с помощью переменной FETCHCOMMAND.

Portage может возобновлять скачивание частично загруженного исходного кода. По умолчанию используется wget, но это можно переопределить переменной RESUMECOMMAND.

Удостоверьтесь, что ваши команды FETCHCOMMAND и RESUMECOMMAND сохраняют исходный код в нужном месте. Внутри этих переменных следует использовать \${URI} и \${DISTDIR}, для указания расположения исходных кодов и distfiles, соответственно.

Также существует возможность определить индивидуальные настройки для различных протоколов, используя FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP, и т.п.

Настройки rsync

Вы не можете заменить команду rsync, которую Portage использует для обновления дерева Portage, но можно установить несколько переменных, определяющих ее поведение:

  • PORTAGE_RSYNC_OPTS задает несколько опций по умолчанию, используемых в течение синхронизации, разделенных пробелами. Они не должны изменяться, если только вы не знаете точно, что вы делаете. Заметьте, что некоторые точно нужные опции всегда будут использоваться, даже если PORTAGE_RSYNC_OPTS пуста.
  • PORTAGE_RSYNC_EXTRA_OPTS может использоваться для настройки дополнительных опций в процессе синхронизации. Опции должны отделяться пробелом.
    • --timeout=<число>: Это определяет число секунд, в течении которых соединение rsync может ждать, прежде чем rsync будет считать, что соединение окончилось по таймауту. По умолчанию, эта переменная имеет значение 180, но диалап-пользователи, или пользователи с медленными компьютерами могут установить эту переменную в 300 или еще выше.
    • --exclude-from=/etc/portage/rsync_excludes: Это указывает на файл, в котором находится список пакетов и/или категорий, которые rsync должен игнорировать в процессе обновления. В данном случае, переменная указывает на /etc/portage/rsync_excludes. Прочитайте Использование собственного дерева Portage для синтаксиса данного файла.
    • --quiet: Уменьшает вывод на экран
    • --verbose: Выводит полный список файлов
    • --progress: Показывает прогресс для каждого файла
  • PORTAGE_RSYNC_RETRIES определяет, сколько раз rsync должен пытаться соединиться с зеркалом, на который указывает переменная SYNC, прежде чем сообщить об ошибке. По умолчанию, значение этой переменной 3.

Для более детальной информации об этих и других опциях, прочитайте man rsync.

Настройка Gentoo Выбор ветви

Используемую ветвь можно изменить переменной ACCEPT_KEYWORDS. По умолчанию используется стабильная ветвь для вашей архитектуры. Дополнительная информация о ветвях Gento находится в следующей главе.

Возможности Portage

Вы можете включить отдельные функции Portage с помощью переменной FEATURES. Возможности Portage рассматривались в предыдущих главах, например, Возможности Portage.

Поведение Portage Распределение ресурсов

С помощью переменной PORTAGE_NICENESS можно увеличивать или уменьшать значение nice, с которым выполняется Portage. Значение PORTAGE_NICENESS прибавляется к текущему значению nice.

Более подробно о значениях nice написано в странице справки:

$ man nice
Настройки вывода

Переменная NOCOLOR (по умолчанию «false») определяет, следует ли Portage отключить цветовую раскраску своих сообщений.