
- •Расширенные возможности 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. Обслуживание сети
10.B. По умолчанию: Используем grub
Понимание терминологии GRUB
Самой главной частью понимания GRUB является понимание того, как GRUB называет жесткие диски и разделы. Ваш раздел Linux /dev/sda1 скорее всего будет назван (hd0,0) в GRUB. Заметьте, что вокруг hd0,0 скобки — они необходимы.
Жесткие диски начинают считаться с нуля, а не с «a», и разделы начинаются с нуля, а не с одного. Также помните, что за устройства hd считаются только жесткие диски, но не ide-устройства, не являющиеся atapi, например проигрыватели и записыватели cdrom. Также, такая же конструкция используется для устройств SCSI (обычно у них большие номера, чем у устройств IDE, если только BIOS не сконфигурирован для загрузки со SCSI-устройств). Когда вы просите BIOS загрузиться с другого жесткого диска (например, вашего primary slave), этот жесткий диск будет видеться как hd0.
Если предположить, что вы имеете жесткий диск на /dev/sda, и два еще на /dev/sdb и /dev/sdc, то /dev/sdb1 станет (hd1,6). Это может показаться странным (оно и есть странно), но, как мы увидим, у GRUB есть механизм автодополнения, который может помочь тем из вас, у которых есть множество жестких дисков и разделов, и кто потерялся в схеме нумерации GRUB.
Теперь, когда вы прочувствовали все это, пришло время установить GRUB.
Установка GRUB
Чтобы установить GRUB, сначала давайте скачаем его:
Код 2.1: Установка GRUB |
# emerge grub |
Хотя GRUB теперь установлен, нам все еще нужно написать конфигурационный файл для него, и разместить GRUB в нашем MBR, чтобы GRUB автоматически загружал наше новое ядро. Создайте /boot/grub/grub.conf с помощью nano (или, если нужно, другого редактора).
Код 2.2: Создаем /boot/grub/grub.conf |
# nano -w /boot/grub/grub.conf |
Теперь мы собираемся написать grub.conf. Удостоверьтесь, что вы используете имя файла вашего образа ядра и, если нужно, файла загрузочного образа.
Заметка: Grub назначает устройства по данным BIOS. Если вы измените настройки BIOS, ваши устройства (и их номера) могут измениться. Например, если вы измените порядок устройств при загрузке, вам может понадобиться изменить конфигурацию grub. |
Заметка: Если ваша корневая файловая система JFS, вам нужно добавить «ro» к ядру, так как JFS нужно «переиграть» свой лог, прежде чем она разрешит работать с ней на чтение-запись. |
Код 2.3: Пример файла grub.conf |
# Какое ядро загружать по умолчанию. 0 — первое, 1 — второе, и т.д. default 0 # Сколько секунд ждать, прежде чем ядро по умолчанию загрузится timeout 30 # Красивая картинка при загрузке # Закомментируйте ее, если у вас нет видеокарты splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 2.6.34-r1 # Раздел, где расположен образ ядра (или операционная система). root (hd0,0) kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda3
title Gentoo Linux 2.6.34-r1 (rescue) # Раздел, где расположен образ ядра (или операционная система). root (hd0,0) kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda3 init=/bin/bb
# Следующие 4 строки нужны только, если у вас есть еще система Windows. # В данном случае, Windows находится на /dev/sda6. title Windows XP rootnoverify (hd0,5) makeactive chainloader +1 |
Если в процессе сборки ядра Linux вы решили включить initramfs для загрузки, то вам нужно изменить конфигурацию, указав файл initramfs и сказав initramfs, где находится настоящее устройство загрузки.
Код 2.4: Выдержка для GRUB в случае ядер со включенным initramfs |
title Gentoo Linux 2.6.34-r1 root (hd0,0) kernel /boot/2.6.34-r1 real_root=/dev/sda3 initrd /boot/initramfs-genkernel-x86-2.6.34-gentoo-r1 |
Если вы использовали другую схему разбивки и/или образ ядра, подправьте, соответственно, этот файл. Однако удостоверьтесь, что все, что идет за устройством GRUB (таким, как (hd0,0)) записано относительно точки монтирования, а не корню. Например, (hd0,0)/grub/splash.xpm.gz в реальности это /boot/grub/splash.xpm/gz, так как (hd0,0) это /boot.
Однако, если вы выберете использовать другую схему разбивки, и не выделите /boot в отдельный раздел, то префикс /boot, который мы использовали в вышеприведенном коде будет действительно необходим. Если вы следовали предложенному плану разбивки, то префикс /boot не необходим, потому что будет работать ссылка на /boot. Вкратце, вышеприведенные примеры должны работать независимо от того, определили ли вы отдельный /boot раздел или нет.
Если вам нужно передать любые дополнительные параметры ядру, просто добавьте их к конце команды. Мы уже передали одну опцию (root=/dev/sda3 или real_root=/dev/sda3), но вы можете передать и другие, например параметр video для фреймбуфера, так, как мы обсуждали ранее.
Если ваш конфигурационный файл загрузчика содержит параметр real_root, используйте параметр real_rootflags для установки опций монтирования корневой файловой системы.
Если вы используете 2.6.7 или более новое ядро, и вы поставили джамперы на жестком диске, так как BIOS не умеет работать с большими жесткими дисками, вам нужно добавить sda=stroke. Замените sda на устройство, которому нужна данная опция.
Пользователи genkernel должны знать, что их ядра используют те же загрузочные опции, как и те, что используются для установочного CD. Например, если у вас есть SCSI устройства, вы должны добавить doscsi как опцию ядра.
Теперь сохраните файл grub.conf и выйдите. Вам все еще надо установить GRUB в MBR (Master Boot Record), чтобы GRUB автоматически выполнялся при загрузке вашей системы.
Разработчики GRUB рекомендуют использовать grub-install. Однако, если по какой-то причине grub-install не сможет выполниться корректно, у вас все еще есть возможность вручную установить GRUB.
Продолжайте читать либо «по умолчанию: устанавливаем GRUB, используя grub-install», либо «Альтернатива: Устанавливаем GRUB вручную».
по умолчанию: устанавливаем GRUB, используя grub-install
Чтобы установить GRUB вам нужно выполнить команду grub-install. Однако, grub-install не заработает сразу же, так как вы находитесь в чрут-окружении. Нам нужно создать /etc/mtab, в котором будет список всех смонтированных файловых систем. Радует то, что существует простой путь это сделать — просто скопировать /proc/mounts в /etc/mtab, за исключением строчки с rootfs, если вы не создавали отдельный загрузочный раздел. Следующая команда будет работать в любом случае.
Код 2.5: Создаем /etc/mtab |
# grep -v rootfs /proc/mounts > /etc/mtab |
Теперь мы можем установить GRUB, используя grub-install:
Код 2.6: Запускаем grub-install |
# grub-install --no-floppy /dev/sda |
Если у вас остались вопросы, касающиеся GRUB, проконсультируйтесь в GRUB FAQ (по адресу http://www.gnu.org/software/grub/grub-faq.html), GRUB Wiki (по адресу http://grub.enbug.org/GrubLegacy), или прочитайте info grub в вашем терминале.
Продолжайте читать с раздела «Перезагрузка системы»
Альтернатива: Устанавливаем GRUB вручную
Чтобы начать конфигурацию GRUB, вы пишете grub. Вам покажут подсказку grub>. Теперь вы должны ввести правильные команды, чтобы установить загрузочную запись GRUB на ваш жесткий диск.
Код 2.7: Запускаем оболочку GRUB |
# grub --no-floppy |
Заметка: Если в вашей системе нет флоппи-дисководов, добавьте опцию --no-floppy к вышеприведенной команде, чтобы grub не попытался просканировать (несуществующие) флоппи-дисководы. |
В конфигурации для примера, мы хотим установить GRUB так, чтобы он читал свою информацию из загрузочного раздела /dev/sda1, и установить загрузчик GRUB в MBR жесткого диска (master boot record), чтобы первое, что мы увидели, когда включили компьютер, была подсказка GRUB. Конечно, если вы не следовали конфигурации для примера в течении установки, то вам нужно соответствующим образом изменить команды.
Механизм автодополнения по tab может использоваться в GRUB. Например, если вы наберете «root (», и нажмете TAB, вам покажут список устройств (таких, как hd0). Если вы наберете «root (hd0,», и нажмете TAB, вы получите список существующих разделов, из которых можно выбрать (например hd0,0).
Используя автодополнение по tab, настроить GRUB не должно быть сложно. Теперь нужно идти конфигурировать GRUB, правда? :-)
Код 2.8: Устанавливаем GRUB в MBR |
grub> root (hd0,0) (Specify where your /boot partition resides) grub> setup (hd0) (Install GRUB in the MBR) grub> quit (Exit the GRUB shell) |
Заметка: Если вы хотите установить GRUB в некоторый раздел, а не в MBR, вам нужно изменить команду setup, чтобы она указывала на нужный раздел. Например, если вы хотите установить GRUB в /dev/sda3, то команда будет setup (hd0,2). Однако так захотят делать очень немногие пользователи. |
Если у вас остались вопросы, касающиеся GRUB, проконсультируйтесь в GRUB FAQ (по адресу http://www.gnu.org/software/grub/grub-faq.html), GRUB Wiki (по адресу http://grub.enbug.org/GrubLegacy), или прочитайте info grub в вашем терминале.
Продолжайте читать с раздела «Перезагрузка системы»