- •Расширенные возможности 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. Обслуживание сети
4.D. Определение конфигурации сети на каждый essid
Иногда вам нужен статический IP, когда вы соединяетесь с ESSID1, и нужен DHCP, когда вы соединяетесь с ESSID2. Вообще, большинство переменных модуля может быть определено на каждый ESSID. Вот как это делается:
Заметка: Это будет работать если вы используете WPA Supplicant или Wireless Tools |
Важно: Вам понадобится вспомнить как именуются переменные (раздел 2.c выше). |
Код 4.1: Изменить настройки сети для каждого ESSID |
config_ESSID1="192.168.0.3/24 brd 192.168.0.255" routes_ESSID1="default via 192.168.0.1"
config_ESSID2="dhcp" fallback_ESSID2="192.168.3.4/24" fallback_route_ESSID2="default via 192.168.3.1"
# Мы можем определить серверы имен и другие вещи тоже # Заметка: DHCP переопределит эти значения, если ей не сказать так не делать dns_servers_ESSID1="192.168.0.1 192.168.0.2" dns_domain_ESSID1="some.domain" dns_search_domains_ESSID1="search.this.domain search.that.domain"
# Вы переопределяете MAC-адрес точки доступа # Это полезно, если вы переходите в различные места, у которых # одинаковый ESSID config_001122334455="dhcp" dhcpcd_001122334455="-t 10" dns_servers_001122334455="192.168.0.1 192.168.0.2" |
5. Добавление функциональности
5.A. Хуки стандартных функций
Четыре функции может быть определено в /etc/conf.d/net, и они будут вызваны в течение операций start/stop. Эти функции вызываются с наименованием интерфейса, так что одна функция может контролировать несколько адаптеров.
Возвращаемые значения для функций preup() и predown() должны быть 0 (удача), чтобы показать, что конфигурация или деконфигурация интерфейса может быть продолжена. Если preup() возвратит ненулевое значение, то конфигурация интерфейса будет отменена. Если predown() возвратит ненулевое значение, то интерфейсу не будет разрешено продолжить деконфигурацию.
Возвращаемые значения для функций postup() и postdown() игнорируются, так как если они сообщат о неудаче, делать уже нечего.
${IFACE} устанавливается в имя интерфейса, который необходимо включить/выключить. ${IFVAR} это ${IFACE}, сконвертированный в такое имя, которое разрешает bash.
Код 1.1: Примеры функций pre/post up/down в /etc/conf.d/net |
preup() { # Протестируем сигнал на интерфейсе, прежде чем его включать. Это # работает только на некоторых сетевых адаптерах и требует установленного # пакета ethtool if ethtool ${IFACE} | grep -q 'Link detected: no'; then ewarn "No link on ${IFACE}, aborting configuration" return 1 fi
# Вернем 0, если все получилось return 0 }
predown() { # По умолчанию скрипт проверит NFS root, и запретит выключать # интерфейсы в этом случае. Помните, что если вы определите # функцию predown(), вы переопределите эту логику. Вот она, # если вы все еще ее хотите. if is_net_fs /; then eerror "root filesystem is network mounted -- can't stop ${IFACE}" return 1 fi
# Возвратим 0 если все нормально return 0 }
postup() { # Данная функция может использоваться, например, для регистрации # с помощью сервиса динамического DNS. Другой возможностью будет # послать/получить почту как только интерфейс будет включен return 0 }
postdown() { # Эта функция здесь больше для комплектности. Я не думаю, что # что-то полезное можно сделать с помощью нее пока ;-) return 0 } |
Заметка: Для более подробной информации о написании своих собственных функций, прочитайте /usr/share/doc/openrc-*/net.example.bz2. |