- •Расширенные возможности 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. Обслуживание сети
D. Конфигурация сети Gentoo
1. Начинаем
1.A. Начинаем
Заметка: Данный документ предполагает, что вы правильно сконфигурировали ваше ядро, его модули для железа, и вы знаете имя интерфейса вашего железа. Мы подразумеваем, что вы конфигурируете eth0, но это может быть и eth1, wlan0 и т.д. |
Чтобы начать конфигурировать вашу сетевую карту, вам нужно рассказать системе Gentoo RC о ней. Это делается созданием символической ссылки с net.lo к net.eth0 в /etc/init.d.
Код 1.1: Символическая ссылка net.eth0 к net.lo |
# cd /etc/init.d # ln -s net.lo net.eth0 |
Теперь система Gentoo RC знает об этом интерфейсе. Ей также нужно знать, как конфигурировать новый интерфейс. Все сетевые интерфейсы конфигурируются в /etc/conf.d/net. Ниже приведены примерные конфигурации для DHCP и статического адреса.
Код 1.2: Примеры для /etc/conf.d/net |
# Для DHCP config_eth0="dhcp"
# Для статического IP используя нотацию CIDR config_eth0="192.168.0.7/24" routes_eth0="default via 192.168.0.1"
# Для статического IP, используя нотацию с сетевыми масками config_eth0="192.168.0.7 netmask 255.255.255.0" routes_eth0="default via 192.168.0.1" |
Заметка: Если вы не опишете конфигурацию вашего интерфейса, то будет предполагаться, что ваш интерфейс конфигурируется по DHCP |
Заметка: CIDR означает «бесклассовый междоменный роутинг». Изначально адреса IPv4 классифицировались как A, B и C. Ранняя система классификации не учитывала массовой популярности Интернета и угрозы того, что адреса когда-нибудь кончатся. CIDR это схема адресации, которая позволяет одному IP адресу описать множество IP адресов. IP адрес по системе CIDR выглядит как обычный адрес, за исключением того, что он оканчивается на слеш, за которым следует число, например 192.168.0.0/16. CIDR описан в RFC 1519 (http://tools.ietf.org/html/rfc1519). |
Теперь, когда мы сконфигурировали наш интерфейс, мы можем его запускать и останавливать, используя следующие команды:
Код 1.3: Запускаем и останавливаем сетевые скрипты |
# /etc/init.d/net.eth0 start # /etc/init.d/net.eth0 stop |
Важно: Когда вы испытываете проблемы с сетью, посмотрите на /var/log/rc.log. Если только у вас нет строки rc_logger=«NO» в /etc/rc.conf, в этом log-файле вы найдете информацию о загрузочной активности. |
Теперь, когда вы успешно запустили и остановили ваш сетевой интерфейс, вы можете захотеть, чтобы он запускался при старте Gentoo. Вот как это сделать. Вторая команда «rc» говорит Gentoo запустить любые скрипты на текущем уровне запуска, которые еще не были запущены.
Код 1.4: Конфигурируем сетевой интерфейс для запуска при загрузке |
# rc-update add net.eth0 default # rc |
2. Расширенная конфигурация
2.A. Расширенная конфигурация
Переменная config_eth0 это сердце конфигурации интерфейса. Это высокоуровневый список инструкций для конфигурирования интерфейса (в данном случае eth0). Каждая команда в списке инструкций выполняется последовательно. Интерфейс считается настроенным, если последняя команда отработает.
Вот список встроенных инструкций:
Команда |
Описание |
null |
Ничего не делать |
noop |
Если интерфейс работает, и у него существует какой-то адрес, то отменить дальнейшую настройку, и считать, что она окончена успешно. |
IPv4 или IPv6 адрес |
Добавить соответствующий адрес к интерфейсу. |
dhcp, adsl или apipa (или какая-то пользовательская команда при использовании стороннего модуля) |
Запускает модуль, который выполняет данную команду. Например, dhcp запустит модуль, который дает функциональность DHCP. Это может быть либо dhcpd, либо dhclient, либо pump. |
Если команда закончится неудачей, вы можете определить какую команду выполнять в этом случае. Такая «команда в случае неудачи» должна точно совпадать со структурой конфигурации.
Вы можете соединять эти команды в цепь. Вот несколько примеров из реальной жизни.
Код 1.1: Примеры конфигурации |
# Добавляем три адреса IPv4 config_eth0="192.168.0.2/24 192.168.0.3/24 192.168.0.4/24"
# Добавляем адрес IPv4 и два адреса IPv6 config_eth0="192.168.0.2/24 4321:0:1:2:3:4:567:89ab 4321:0:1:2:3:4:567:89ac"
# Оставить назначенный ядром адрес, если только интерфейс не упадет # тогда настроить его через DHCP. Если DHCP закончится наудачей, # то добавить статический адрес, определенный APIPA config_eth0="noop dhcp" fallback_eth0="null apipa" |
Заметка: Когда вы используете модуль ifconfig и добавляете более чем один адрес, создаются алиасы интерфейсов, для каждого из таких дополнительных адресов. Так, с вышеприведенными двумя примерами, вы получите интерфейсы eth0, eth0:1 и eth0:2. Вы не сможете ничего сделать с этими интерфейсами, так как и ядро, и остальные программы будут считать eth0:1 и eth0:2 за eth0. |
Важно: Порядок обработки важен! Если бы мы не указали опцию null, то команда apipa выполнилась бы только когда не выполнилась бы команда noop. |
Заметка: APIPA и DHCP обсуждаются позже. |