- •Расширенные возможности Portage
- •А. Установка Gentoo
- •1. Об установке Gentoo Linux
- •1.А. Введение.
- •2. Выбор правильного источника установки.
- •2.А. Требования к железу
- •2.B. Установочные cd Gentoo
- •2.С. Скачайте, запишите, и загрузитесь с установочного cd Gentoo
- •3. Конфигурация сети
- •3.A. Автоматическое определение сети
- •3.B. Автоматическая конфигурация сети
- •3.С. Ручная настройка сети
- •4. Подготовка дисков
- •4.A. Введение в блочные устройства
- •4.B. Разрабатываем схему разделов
- •4.C. Использование fdisk для разбивки вашего диска
- •4.D. Использование parted для разбивки вашего диска
- •4.E. Создаем файловые системы
- •4.F. Монтирование
- •5. Установка файлов Gentoo
- •5.A. Устанавливаем tar-архив Stage3
- •5.B. По умолчанию: Используем Stage3 из Интернета
- •5.C. Устанавливаем Portage
- •5.D. Настройка опций компиляции
- •6. Установка базовой системы Gentoo
- •6.A. Чрутинг
- •6.B. Конфигурируем Portage
- •7. Конфигурация ядра
- •7.A. Временная зона
- •7.B. Устанавливаем исходники
- •7.C. По умолчанию: Ручная конфигурация
- •7.D. Альтернатива: Используем genkernel
- •7.E. Модули ядра
- •8. Конфигурация системы
- •8.A. Информация о файловой системе
- •8.B. Информация о сети
- •8.C. Системная информация
- •9. Установка необходимых системных приложений
- •9.A. Системный логгер
- •9.B. Опционально: Демон Cron
- •9.C. Опционально: Индексация файлов
- •9.D. Опционально: Удаленный Доступ
- •9.E. Программы работы с файловой системой
- •9.F. Программы работы с сетью
- •10. Конфигурация загрузчика
- •10.A. Делаем выбор
- •10.B. По умолчанию: Используем grub
- •10.C. Альтернатива: Используем lilo
- •10.D. Перезагружаем систему
- •11. Окончание установки Gentoo
- •11.A. Работа с пользователями
- •11.B. Очистка диска
- •12. Куда идти дальше?
- •12.A. Документация
- •12.B. Gentoo в сети
- •B. Работа с Gentoo
- •1. Введение в Portage
- •1.A. Добро пожаловать в Portage
- •1.B. Дерево Portage
- •1.C. Поддержка приложений
- •1.D. Лицензии
- •1.E. Когда Portage ругается...
- •2.A. Что такое use-флаги?
- •2.B. Использование use-флагов
- •3. Возможности Portage
- •3.A. Возможности Portage
- •3.B. Распределенная компиляция
- •3.C. Кеширование компиляции
- •3.D. Поддержка бинарных пакетов
- •3.E. Скачивание файлов
- •3.F. Загрузка проверенных образов дерева Portage
- •4. Инициализационные скрипты
- •4.A. Уровни запуска
- •4.B. Работаем с rc-update
- •4.C. Конфигурирование сервисов
- •4.D. Пишем инициализационные скрипты
- •4.E. Изменение поведения уровня запуска
- •5. Переменные окружения
- •5.A. Переменные окружения?
- •5.B. Определение переменных глобально
- •5.C. Определение переменных локально
- •C. Работа с Portage
- •1. Файлы и каталоги
- •1.A. Файлы Portage
- •1.B. Сохраненные файлы
- •1.C. Компиляция приложений
- •1.D. Возможности логгинга
- •2. Конфигурирование через переменные
- •2.A. Конфигурация Portage
- •2.B. Опции, специфичные для компиляции
- •2.C. Защита файлов конфигурации
- •2.D. Опции скачивания
- •2.E. Конфигурация Gentoo
- •2.F. Поведение Portage
- •3. Смешение веток приложений
- •3.A. Использование одной ветви
- •3.B. Смешиваем стабильную ветку и ветку для тестирования
- •3.C. Используем замаскированные пакеты
- •4. Дополнительные программы для Portage
- •5. Отход от официального дерева
- •5.A. Использование поднабора дерева Portage
- •5.B. Добавляем неофициальные ебилды
- •5.C. Приложения, не обрабатываемые Portage
- •6. Расширенные возможности Portage
- •6.A. Введение
- •6.B. Переменные окружения для каждого пакета
- •6.C. Вмешиваемся в процесс установки
- •6.D. Выполняем задачи после --sync
- •6.E. Изменяем настройки профиля
- •6.F. Применение нестандартных патчей
- •D. Конфигурация сети Gentoo
- •1. Начинаем
- •1.A. Начинаем
- •2. Расширенная конфигурация
- •2.A. Расширенная конфигурация
- •2.B. Сетевые зависимости
- •2.C. Имена и значения переменных
- •3. Модульная сеть
- •3.A. Сетевые модули
- •3.B. Обработчики интерфейсов
- •3.F. Связывание
- •3.G. Мосты (Поддержка 802.1d)
- •3.I. Туннелирование
- •3.J. Vlan (Поддержка 802.1q)
- •4. Беспроводные сети
- •4.A. Введение
- •4.D. Определение конфигурации сети на каждый essid
- •5. Добавление функциональности
- •5.A. Хуки стандартных функций
- •5.B. Хуки функций Wireless Tools
- •6. Обслуживание сети
- •6.A. Обслуживание сети
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.