Handbook:Parts/Portage/Variables/ru

Настройка Portage
Как говорилось ранее, Portage настраивается с помощью множества переменных, которые могут быть определены в или в некоторых подкаталогах. Пожалуйста, ознакомьтесь с 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. Некоторые полезные параметры,  ,   и так далее.

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

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

Чтобы узнать текущие настройки CONFIG_PROTECT, проверьте вывод команды :

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

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

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


 * GENTOO_MIRRORS : определяет список серверов, которые содержат исходный код (distfiles).
 * PORTAGE_BINHOST : определяет расположение конкретного сервера, который содержит бинарные пакеты.

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


 * sync-type : определяет тип сервера, по умолчанию.
 * sync-uri : определяет конкретный сервер, который Portage использует чтобы загрузить дерево Portage.

Переменные GENTOO_MIRRORS, sync-type и sync-uri могут быть установлены автоматически с помощью приложения. Конечно, прежде чем им воспользоваться, необходимо сперва установить пакет. Больше информации можно посмотреть в 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 для обновления дерева Portage, но можно установить некоторые переменные для команды rsync:


 * PORTAGE_RSYNC_OPTS : Определяет ряд значений по умолчанию, которые используются в процессе синхронизации (sync), каждая из которых разделена пробелом. Не стоит менять эту переменную, пока вы точно не будете знать что делаете. Обратите внимание, что некоторые необходимые параметры всегда будут использоваться, даже если переменная PORTAGE_RSYNC_OPTS будет пуста.


 * PORTAGE_RSYNC_EXTRA_OPTS : Used to set additional options when syncing. Each option should be space separated:
 * : This defines the number of seconds an rsync connection can idle before rsync sees the connection as timed-out. This variable defaults to  but dialup users or individuals with slow computers might want to set this to   or higher.
 * : This points to a file listing the packages and/or categories rsync should ignore during the update process. In this case, it points to.
 * : Reduces output to the screen.
 * : Prints a complete filelist.
 * : Displays a progress meter for each file.


 * PORTAGE_RSYNC_RETRIES : определяет, сколько раз rsync должен пытаться соединиться с зеркалом, на который указывает переменная SYNC, прежде чем сообщить об ошибке. По умолчанию, значение этой переменной.

Более подробную информацию о этих и других опциях читайте в rsync man-странице.

Выбор ветвь
It is possible to change the default branch with the ACCEPT_KEYWORDS variable. It defaults to the architecture's stable branch. More information on Gentoo's branches can be found in the next chapter.

Возможности Portage
It is possible to activate certain portage features through the FEATURES variable. The Portage features have been discussed in previous chapters.

Resource management
With the PORTAGE_NICENESS variable users can augment or reduce the nice value portage runs with. The PORTAGE_NICENESS value is added to the current nice value.

Более подробную информацию о значениях nice смотрите в man-странице nice:

Output behavior
The NOCOLOR variable, which defaults to, defines if Portage should disable the use of colored output.