Настройка с помощью переменных
Обновлено 25 сентября 2019
Настройка Portage
Как отмечалось ранее, Portage настраивается с помощью множества переменных, которые задаются в файле /etc/portage/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 отключить цветовую раскраску своих сообщений.