- •Расширенные возможности 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. Обслуживание сети
3. Модульная сеть
3.A. Сетевые модули
Теперь мы поддерживаем модульные сетевые скрипты, что означает, что мы можем легко добавить поддержку новых типов интерфейсов и конфигурационных модулей, и в то же время, сохранить совместимость с существующими.
Модули загружаются по умолчанию, если установлен пакет, который им нужен. Если вы определите модуль, у которого нет установленного для его пакета, то вы получите ошибку, которая будет сообщать, какой пакет вам нужно установить. В идеале, вы используете настройки модулей только тогда, когда у вас есть два или более установленных пакета, которые поддерживают один и тот же сервис, и вам нужно предпочесть один другому.
Заметка: Все настройки, обсуждаемые здесь, сохраняются в /etc/conf.d/net, если не сказано иное. |
Код 1.1: Настройки модулей |
# Предпочесть ifconfig перед iproute2 modules="ifconfig"
# Вы также можете указать другие модули для интерфейса # В данном случае мы предпочитаем pump перед dhcpd modules_eth0="pump"
# Вы также можете указать, какие модули не использовать. Например, вы можете # использовать supplicant или linux-wlan-ng для контроля беспроводной # конфигурации, но вы все равно хотите конфигурировать настройки сети # по ассоциированной с ней ESSID modules="!iwconfig" |
3.B. Обработчики интерфейсов
Мы предлагаем два обработчика интерфейсов в настоящий момент: ifconfig и iproute2. Вам нужно выбрать один из них, чтобы выполнить хоть какую-то конфигурацию сети.
ifconfig установлен по умолчанию (пакет net-tools это часть системного профиля). iproute2 это более мощный и гибкий пакет, но он не включен по умолчанию.
Код 2.1: Чтобы установить iproute2 |
# emerge sys-apps/iproute2
# Чтобы предпочесть ifconfig перед iproute2 в случае, если установлены # оба из них, нужно написать следующее (так как openrc при этом предпочтет # iproute2 по умолчанию): modules="ifconfig" |
Так как и ifconfig, и iproute2 делают очень похожие вещи, мы позволяем их базовой конфигурации быть одинаковой. Например, оба нижеприведенных примера будут работать вне зависимости от того, какой модуль вы используете.
Код 2.2: Примеры ifconfig и iproute2 |
config_eth0="192.168.0.2/24" config_eth0="192.168.0.2 netmask 255.255.255.0"
# Также мы можем указать широковещательный адрес config_eth0="192.168.0.2/24 brd 192.168.0.255" config_eth0="192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" |
3.c. DHCP
DHCP это получение сетевой информации (IP адрес, DNS сервера, шлюзы, и т. д.) с DHCP-сервера. Это означает, что если существует DHCP-сервер в сети, то вам просто нужно сказать каждому клиенту использовать DHCP, и сеть настроится сама. Конечно, вам нужно будет сконфигурировать все остальные вещи, вроде беспроводных соединений, PPP, или других вещей, если необходимо, прежде чем вы сможете использовать DHCP.
DHCP может работать с dhclient, dhcpcd или pump. Каждый модуль DHCP имеет свои плюсы и минусы — вот краткий обзор.
Модуль DHCP |
Пакет |
Плюсы |
Минусы |
dhclient |
net-misc/dhcp |
Создан ISC, теми же людьми, которые придумали программы BIND DNS. Очень конфигурируем. |
Конфигурация слишком подробная, программы очень раздутые, не умеет получать NTP-сервера по DHCP, по умолчанию не посылает hostname. |
dhcpcd |
net-misc/dhcpcd |
Долгое время был в Gentoo по умолчанию, не зависит от сторонних программ, активно разрабатывается Gentoo |
Иногда может быть медленным, пока не умеет переходить в режим демона, если время выдачи адреса бесконечно |
pump |
net-misc/pump |
Легковесный, не зависит от других программ |
Больше не разрабатывается, ненадежный, особенно через модемы, не умеет получать сервера NIS по DHCP |
Если у вас есть более одного DHCP-клиента, вам нужно определить, какой использовать. Иначе мы будем использовать dhcpcd, если он есть.
Чтобы послать специфические опции модулю DHCP, используйте модуль_eth0="..." (измените модуль на модуль DHCP, который вы используете, например dhcpcd_eth0).
Мы попытались сделать DHCP относительно независимым — поэтому мы поддерживаем следующие команды, используя переменную dhcp_eth0. по умолчанию не включена ни одна опция:
release — отдать IP адрес для повторного использования
nodns — не перезаписывать /etc/resolv.conf
nontp — не перезаписывать /etc/ntp.conf
nonis — не перезаписывать /etc/yp.conf
Код 3.1: Примерная конфигурация DHCP в /etc/conf.d/net |
# Нужно только если у вас установлено более одного модуля DHCP modules="dhcpcd"
config_eth0="dhcp" dhcpcd_eth0="-t 10" # Таймаут после 10 секунд dhcp_eth0="release nodns nontp nonis" # Только получить адрес |
Заметка: dhcpcd и pump посылают текущее имя хоста DHCP-серверу по умолчанию, так что вам не нужно это указывать. |
3.d. ADSL с PPPoE/PPPoA
Сначала нам нужно установить программы для ADSL.
Код 4.1: Устанавливаем пакет ppp |
# emerge net-dialup/ppp |
Потом, создайте сетевой скрипт PPP и сетевой скрипт для ethernet-интерфейса, который будт использоваться PPP:
Код 4.2: Создаем скрипты PPP и ethernet |
# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0 # ln -s /etc/init.d/net.lo /etc/init.d/net.eth0 |
Удостоверьтесь, что вы выставили rc_depend_strict в «YES» в /etc/rc.conf.
Теперь нам нужно сконфигурировать /etc/conf.d/net.
Код 4.3: Базовая настройка PPPoE |
config_eth0=null (Определите ваш ethernet интерфейс) config_ppp0="ppp" link_ppp0="eth0" (Определите ваш ethernet интерфейс) plugins_ppp0="pppoe" username_ppp0='user' password_ppp0='password' pppd_ppp0=" noauth defaultroute usepeerdns holdoff 3 child-timeout 60 lcp-echo-interval 15 lcp-echo-failure 3 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
rc_need_ppp0="net.eth0" |
Вы также можете установить ваш пароль в /etc/ppp/pap-secrets.
Код 4.4: Пример файла /etc/ppp/pap-secrets |
# Звездочка важна "username" * "password" |
Если вы используете PPPoE с USB-модемом, вам нужно установить br2684ctl. Пожалуйста, прочитайте /usr/portage/net-dialup/speedtouch-usb/files/README для информации о том, как ее правильно сконфигурировать.
Важно: Внимательно прочитайте раздел по ADSL и PPP в /usr/share/doc/openrc-0.8.3-r1/net.example.bz2. В этом файле находятся более детальные объяснения всех настроек, которые скорее всего понадобятся вашему PPP. Конечно, измените версию 0.8.3-r1 на версию OpenRC, установленную на вашей системе. |
3.e. APIPA (Automatic Private IP Addressing)
APIPA пытается найти свободный адрес в диапазоне 169.254.0.0-169.254.255.255, пробуя по протоколу arp случайный адрес в этом диапазоне. Если ответа нет, значит мы назначаем этот адрес интерфейсу.
Это полезно только для локальных сетей без сервера DHCP, вы не подключены напрямую к Интернету, и все остальные компьютеры используют APIPA.
Для поддержки APIPA установите net-misc/iputils или net-analyzer/arping.
Код 5.1: Конфигурация APIPA в /etc/conf.d/net |
# Попробуем сначала DHCP — если не поможет, попробуем APIPA config_eth0="dhcp" fallback_eth0="apipa"
# Просто используем APIPA config_eth0="apipa" |