
- •Расширенные возможности 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. Обслуживание сети
5.B. Определение переменных глобально
Каталог /etc/env.d
Чтобы определять эти переменные в одном месте, Gentoo ввел каталог /etc/env.d. Внутри данного каталога вы найдете множество файлов, таких как 00basic, 05gcc, и т. д., которые содержат переменные, необходимые приложению, отраженному в названии.
Например, когда вы установите gcc, ебилдом будет создан файл 05gcc, который будет содержать определения следующих переменных:
Код 2.1: /etc/env.d/05gcc |
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man" INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info" CC="gcc" CXX="g++" LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3" |
Другие дистрибутивы говорят, что вы можете изменять или добавлять такие определения переменых окружения в /etc/profile или других месторасположениях. С другой стороны, Gentoo делает легким для вас (и для Portage) поддерживать переменные окружения без необходимости обозревать множество файлов, которые могут содержать переменные окружения.
Например, когда обновляется gcc, файл /etc/env.d/05gcc также обновляется, без необходимости какого-то взаимодействия с пользователем.
Это не только полезно для Portage, но и для вас, как пользователя. Иногда может быть, что вам нужно установить некоторую переменную окружения на уровне системы. Например, мы возьмем переменную http_proxy. Вместо того, чтобы писать ее в /etc/profile, вы можете теперь просто создать файл (/etc/env.d/99local) и ввести свои определения туда:
Код 2.2: /etc/env.d/99local |
http_proxy="proxy.server.com:8080" |
Используя один и тот же файл для всех ваших переменных, вы можете быстро просмотреть переменные, которые вы сами определили.
Скрипт env-update
Несколько файлов в /etc/env.d определяют переменную PATH. Это не ошибка: когда вы запустите env-update, она склеит несколько определений, прежде чем обновит переменные окружения, так что для пакетов (и пользователей) будет просто добавить свои собственные настройки переменных окружения без пересечения с уже существующими значениями.
Скрипт env-update добавит значения в алфавитном порядке файлов /etc/env.d. Имена файлов должны начинаться с двух десятичных цифр.
Код 2.3: Порядок обновления, используемый env-update |
00basic 99kde-env 99local +-------------+----------------+-------------+ PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin" |
Соединение переменных происходит не всегда, а только со следующими переменными: KDEDIRS, PATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH и PRELINK_PATH_MASK. Для всех остальных переменных используется последнее определенное значение (в алфавитном порядке файлов /etc/env.d)
Когда вы запускаете env-update, скрипт создаст все переменные окружения, и поместит их в /etc/profile.env (который используется /etc/profile). Он также возьмет информацию из переменной LDPATH и использует ее для создания /etc/ld.so.conf. После этого он запустит ldconfig чтобы пересоздать файл /etc/ld.so.cache, используемый динамическим линкером.
Если вы хотите посмотреть эффект, оказанный env-update сразу же после ее запуска, выполните следующую команду для обновления вашего окружения. Пользователи, которые сами устанавливали Gentoo, наверное, вспомнят эту команду из инструкций по установке:
Код 2.4: Обновление окружения |
# env-update && source /etc/profile |
Заметка: Вышеприведенная команда обновляет переменные только в вашем текущем терминале, новых консолях, а также их детям. Поэтому, если вы работаете в X11, вам нужно либо ввести source /etc/profile в каждом новом терминале, который вы откроете, либо перестартовать X, чтобы все терминалы начила работать с новыми переменными. Если вы используете менеджер логина, станьте root, и наберите /etc/init.d/xdm restart. Если не используете, вам нужно сделать логаут, и затем снова залогиниться, чтобы X создал новых детей с новыми занчениями переменных. |
Важно: Вы не можете использовать переменные окружения при определении новых переменных. Это означает, что вещи, вроде FOO="$BAR" (где $BAR это другая переменная) запрещены. |