Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gentoo_x86_Handbook.doc
Скачиваний:
25
Добавлен:
19.09.2019
Размер:
924.16 Кб
Скачать

2. Конфигурирование через переменные

2.A. Конфигурация Portage

Как уже упоминалось выше, Portage можно сконфигурировать с помощью многихпеременных, которые вы должны определить в /etc/make.conf. Прочитайте man-страницу make.conf для более полной информации:

Код 1.1: Читаем man-страницу make.conf

$ man make.conf

2.B. Опции, специфичные для компиляции

Опции для конфигурирования и компиляции

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

  • CFLAGS & CXXFLAGS определяют нужные флаги компилятора для компиляции C и C++

  • CHOST определяет информацию о хосте для скрипта configure приложения

  • MAKEOPTS передается команде make и обычно настраивается, чтобы указать количество параллелизма, используемое в течение компиляции. Более подробная информация об опциях make может быть найдена на man-странице make.

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

Опции замены

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

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

2.C. Защита файлов конфигурации

Защищенные места Portage

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

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

Вы можете определить текущее значение переменной CONFIG_PROTECT с помощью команды emerge --info.

Код 3.1: Получаем значение CONFIG_PROTECT

$ emerge --info | grep 'CONFIG_PROTECT='

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

Код 3.2: Более подробная информация о защите конфигурационных файлов

$ man emerge

Убираем каталоги

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

2.D. Опции скачивания

Положение серверов

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

  • GENTOO_MIRRORS определяет список положений серверов, которые содержат исходный код (distfiles)

  • PORTAGE_BINHOST определяет положение сервера, который содержит заранее собранные пакеты для вашей системы.

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

  • SYNC определяет конкретный сервер, который использует Portage, чтобы загрузить дерепо Portage.

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

Код 4.1: Более подробная информация о 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, но вы можете настроить некоторые переменные, касающиеся команды rsync:

  • 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]