Handbook:AMD64/Portage/Variables
Настройка Portage
Как говорилось ранее, Portage настраивается с помощью множества переменных, которые могут быть определены в /etc/portage/make.conf или в некоторых подкаталогах /etc/portage/. Пожалуйста, ознакомьтесь с man-страницами make.conf и portage для получения дополнительной информации.
user $
man make.conf
user $
man portage
Параметры работающие во время сборки
Параметры для configure и компилятора
Когда Portage компилирует приложения, он передает компилятору и скрипту configure содержимое следующих переменных:
- CFLAGS и CXXFLAGS
- определяет желаемые флаги компилятора для компиляции кода на C и C++
- CHOST
- определяет информацию о хосте, на котором производиться компиляция (build host), которая передается скрипту configure в приложении
- MAKEOPTS
- передается команде make и в основном используется для определения степени распараллеливания во время компиляции. Больше информации о всех параметрах команды make можно найти в man-странице make.
Также переменная USE используется во время конфигурации и компиляции, но об этом было рассказано в предыдущих главах.
Параметры установки
Когда Portage устанавливает (merged) более новую версию программного обеспечения, он удалит устаревшие файлы старой версии ПО из системы. Portage дает пользователю задержку в 5 секунд перед удалением старых версий. Эти 5 секунд определены в переменной CLEAN_DELAY.
Можно сказать emerge использовать определенные параметры при каждом запуске, настроив их в переменой EMERGE_DEFAULT_OPTS. Некоторые полезные параметры --ask
, --verbose
, --tree
и так далее.
Защита конфигурационных файлов
Каталоги, защищаемые Portage
Portage не перезаписывает старые файлы новыми, из новой устанавливаемой версии, если они хранятся в защищенном месте. Эти защищенные каталоги определяются в переменной CONFIG_PROTECT и, как правило, там перечислены каталоги хранения конфигурационных файлов. Каталоги в списке разделяются пробелами.
Файл, который должен быть записан в такой защищенный каталог, переименовывается, а пользователь получает предупреждение о наличии новой версии (обычно) конфигурационного файла.
Чтобы узнать текущие настройки CONFIG_PROTECT, проверьте вывод команды emerge --info:
user $
emerge --info | grep 'CONFIG_PROTECT='
Больше информации о том, как работает защита конфигурационных файлов в Portage можно найти в разделе CONFIGURATION FILES man-страницы emerge:
user $
man emerge
Исключение каталогов
Чтобы убрать 'защиту' с определенных субкаталогах в защищенных каталогах, можно воспользоваться переменной CONFIG_PROTECT_MASK.
Параметры загрузки
Расположение серверов
Когда запрашиваемая информация или данные не доступны в системе, Portage будет загружать ее из интернета. Расположение серверов с различной информацией и данными определяется в следующих переменных:
- GENTOO_MIRRORS
- определяет список серверов, которые содержат исходный код (distfiles).
- PORTAGE_BINHOST
- определяет расположение конкретного сервера, который содержит бинарные пакеты.
Третий параметр содержит расположение сервера rsync, который используется при обновлении локального Gentoo репозитория. Он определяется в файле /etc/portage/repos.conf (либо в файле внутри данного каталога, если это каталог):
- sync-type
- определяет тип сервера, по умолчанию
rsync
. - sync-uri
- определяет конкретный сервер, который Portage использует чтобы загрузить Gentoo репозиторий.
Переменные GENTOO_MIRRORS, sync-type и sync-uri могут быть установлены автоматически с помощью приложения mirrorselect. Конечно, прежде чем им воспользоваться, необходимо сперва установить пакет app-portage/mirrorselect. Больше информации можно посмотреть в mirrorselect help:
root #
mirrorselect --help
Если требуется использовать прокси-сервер, то можно настроить переменные http_proxy, ftp_proxy и RSYNC_PROXY.
Команды загрузки
Когда Portage необходимо загрузить исходный код, по умолчанию он использует wget. Такое поведение можно изменить с помощью переменной FETCHCOMMAND.
Portage может продолжить загрузку частично загруженного исходного кода. Для этого по умолчанию используется wget, но это можно изменить с помощью переменной RESUMECOMMAND.
Убедитесь, что переменные FETCHCOMMAND и RESUMECOMMAND сохраняют исходный код в правильный каталог. Внутри этих переменных можно воспользоваться переменными \${URI} и \${DISTDIR}, чтобы указать ссылку на исходный код и место для его сохранения соответственно.
Можно определить обработчики для каждого протокола с помощью переменных FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP и так далее.
Настройка rsync
Нельзя изменить команду rsync, которую использует Portage для обновления Gentoo репозитория, но можно установить некоторые переменные для команды rsync:
- PORTAGE_RSYNC_OPTS
- Определяет ряд значений по умолчанию, которые используются в процессе синхронизации (sync), каждая из которых разделена пробелом. Не стоит менять эту переменную, пока вы точно не будете знать что делаете. Обратите внимание, что некоторые необходимые параметры всегда будут использоваться, даже если переменная PORTAGE_RSYNC_OPTS будет пуста.
- PORTAGE_RSYNC_EXTRA_OPTS
- используется для определения дополнительных параметров во время синхронизации. Каждый параметр должен быть разделен пробелом:
--timeout=<number>
- определяет сколько секунд rsync будет ожидать подключения, прежде чем подключение будет считаться истекшим по временем ожидания. По умолчанию эта переменная установлена в
180
, но пользователи с диалап (dialup) или медленным компьютером могут попробовать установить300
или выше. --exclude-from=/etc/portage/rsync_excludes
- указывает файл, содержащий список пакетов и/или категорий, который rsync должен игнорировать в процессе синхронизации. В этом случае он указывает на /etc/portage/rsync_excludes.
--quiet
- уменьшит вывод на экран.
--verbose
- выводит полный список файлов.
--progress
- отображает процесс загрузки для каждого файла.
- PORTAGE_RSYNC_RETRIES
- определяет, сколько раз rsync должен пытаться соединиться с зеркалом, на который указывает переменная SYNC, прежде чем сообщить об ошибке. По умолчанию, значение этой переменной
3
.
Более подробную информацию о этих и других опциях читайте в rsync man-странице.
Конфигурация Gentoo
Выбор ветви
Можно изменить используемую по умолчанию ветвь с помощью переменной ACCEPT_KEYWORDS. По умолчанию используется стабильная ветвь архитектуры. Больше информации о ветвях Gentoo можно найти в следующей главе.
Возможности Portage
Можно активировать определенные возможности Portage с помощью переменной FEATURES. Возможности Portage уже были рассмотрены в предыдущих главах.
Поведение Portage
Управление ресурсами
С помощью переменной PORTAGE_NICENESS пользователи могут увеличить или уменьшить значение nice, которое будет использовать Portage в своей работе. Значение PORTAGE_NICENESS добавляется к текущему значению nice в Portage.
Более подробную информацию о значениях nice смотрите в Portage niceness и man-странице nice:
user $
man nice
Управление выводом
Переменная NOCOLOR (по умолчанию она установлена в false
) определяет, должен ли Portage отключить использование цветного вывода.