6. Настройка с помощью переменных¶
- Настройка с помощью переменных
- Настройка Portage
- Параметры сборки
- Параметры конфигурирования и компиляции
- Параметры установки
- Защита конфигурационных файлов
- Места, защищаемые Portage
- Исключение каталогов
- Параметры скачивания
- Расположение сервера
- Команды для извлечения
- Настройки rsync
- Настройка Gentoo
- Выбор ветви
- Возможности Portage
- Поведение Portage
- Распределение ресурсов
- Настройки вывода
Настройка Portage¶
Как отмечалось ранее, Portage настраивается с помощью множества переменных, которые задаются в файле /etc/make.conf.
Параметры сборки¶
Параметры конфигурирования и компиляции¶
Когда Portage собирает приложения, компилятору и сценарию конфигурации передаются значения следующих переменных:
CFLAGS
иCXXFLAGS
определяют желаемые флаги компилятора для C и C++CHOST
определяет информацию об используемой платформе для сценария конфигурации приложенияMAKEOPTS
передается команде make и обычно применяется для установки степени распараллеливания компиляции. Более подробная информация о параметрах команды make находится на странице справки по make.
Переменная USE также используется при конфигурировании и компиляции, но о ней уже много и подробно говорилось в предыдущих главах.
Параметры установки¶
Когда Portage устанавливает (merge) новую версию программного продукта, файлы более старых версий удаляются из системы. Portage дает пользователю 5-ти секундную задержку перед стиранием старых версий. Эти 5 секунд задаются переменной CLEAN_DELAY
.
Защита конфигурационных файлов¶
Места, защищаемые Portage¶
Portage записывает файлы, предоставляемые новой версией программы, поверх старых, если только эти файлы не расположены в защищенном месте. Защищенные каталоги определяются переменной CONFIG_PROTECT
. Обычно, это места расположения файлов конфигурации. Каталоги в списке разделяются пробелами.
Файл, который должен быть записан в такой защищенный каталог, переименовывается, а пользователь получает предупреждение о наличии новой версии (обычно) файла конфигурации.
Узнать текущее значение CONFIG_PROTECT
можно из сообщений emerge --info:
emerge --info | grep 'CONFIG_PROTECT='
Более подробная информация о защите конфигурационных файлов, осуществляемой системой Portage, доступна по команде emerge:
emerge --help config
Исключение каталогов¶
Чтобы снять защиту с определенных подкаталогов защищенного каталога, можно использовать переменную CONFIG_PROTECT_MASK
.
Параметры скачивания¶
Расположение сервера¶
Если запрошенная информация или данные отсутствуют в вашей системе, Portage обращается за ними в интернет. Расположение серверов для различных каналов получения информации задается следующими переменными:
GENTOO_MIRRORS
определяет список адресов серверов, содержащих исходный код (distfiles)PORTAGE_BINHOST
указывает расположение определенного сервера, содержащего двоичные пакеты (prebuilt packages) для вашей системы
Третья переменная содержит расположение сервера rsync, который используется при обновлении вашего дерева портежей:
SYNC
указывает сервер, с которого 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 использует для обновления дерева портежей, но можно установить несколько переменных, определяющих ее поведение:
RSYNC_EXCLUDEFROM
указывает на файл, где перечислены пакеты и/или категории, которые rsync должна игнорировать во время обновления.RSYNC_RETRIES
определяет, сколько раз rsync должна пытаться соединиться с зеркалом, на которое указывает переменнаяSYNC
. По умолчанию равна 3.RSYNC_TIMEOUT
определяет количество секунд, в течение которого rsync соединение может бездействовать, перед тем как rsync сочтет его превысившим время ожидания. По умолчанию равна 180, но если вы используете соединение по модему или у вас медленный компьютер, возможно, следует установить значение этой переменной равным 300 или большим.
Настройка Gentoo¶
Выбор ветви¶
Используемую ветвь можно изменить переменной ACCEPT_KEYWORDS
. По умолчанию используется стабильная ветвь для вашей архитектуры. Дополнительная информация о ветвях Gento находится в следующей главе.
Возможности Portage¶
Вы можете включить отдельные функции Portage с помощью переменной FEATURES
. Возможности Portage рассматривались в предыдущих главах, например Возможности Portage.
Поведение Portage¶
Распределение ресурсов¶
С помощью переменной PORTAGE_NICENESS
можно увеличивать или уменьшать значение nice, с которым выполняется Portage. Значение PORTAGE_NICENESS
прибавляется к текущему значению nice.
Более подробно о значениях nice написано в странице справки:
man nice
Настройки вывода¶
Переменная NOCOLOR
(по умолчанию "false") определяет, следует ли Portage отключить цветовую раскраску своих сообщений.