В начало → Настольная книга Gentoo Linux x86
Gentoo-doc HOME В началоСлед.: Работа с Gentoo

Настольная книга Gentoo Linux x86


1. Установка  Gentoo
2. Работа с Gentoo
3. Работа с Portage
4. Настройка сети в Gentoo

Ссылка на оригинал: http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml

С версии: 1.0

Содержание:

Установка  Gentoo

Из этой части вы узнаете, как устанавливать Gentoo на свою систему.

Об установке Gentoo Linux

В этой главе дается общее представление о предлагаемом порядке установки.

Выбор подходящего источника для установки

Gentoo можно устанавливать по-разному. Здесь описывается, как установить Gentoo с минимального установочного диска. Способ подходит и для установки с универсального установочного диска.

Настройка сети

Чтобы загрузить новейший исходный код, потребуется настройка сети. Здесь описывается порядок ее выполнения.

Подготовка дисков

Чтобы установить Gentoo, нужно создать подходящие дисковые разделы. В этой главе описывается, как разбить диск для будущего использования.

Установка установочных файлов Gentoo

Установка Gentoo выполняется с помощью архива третьей стадии (stage3). В этой главе мы расскажем, как извлечь файл третьей стадии и настроить Portage.

Установка базовой системы Gentoo

После установки и настройки третьей стадии в вашем распоряжении оказывается базовая система Gentoo. Здесь описывается, как этого достичь.

Настройка ядра

Ядро Linux — сердце каждого дистрибутива. В этой главе описывается, как его настроить.

Настройка параметров системы

Вам потребуется отредактировать несколько важных конфигурационных файлов. Из этой главы вы получите представление об этих файлах и поймете, как с ними обращаться.

Установка нужных системных средств

Как отмечено ранее, Gentoo — это богатство выбора. В этой главе мы поможем вам выбрать и установить некоторые важные инструменты.

Настройка начального загрузчика

Для архитектуры x86 существует несколько загрузчиков. Каждый из них настраивается по-своему. В этой главе мы шаг за шагом объясним вам порядок настройки начального загрузчика для ваших нужд.

Завершение установки Gentoo

Установка почти закончена. Осталось создать одну (или несколько) учетных записей для пользователей вашей системы. Как это делается, описано в данной главе.

Чем заняться дальше?

Теперь у вас появилась собственная система Gentoo. Но чем же заняться дальше?

Работа с Gentoo

Здесь вы научитесь работать с Gentoo: устанавливать программное обеспечение, изменять значения переменных, управлять поведением Portage и т.д.

Введение в Portage

В этой главе описываются «простые» шаги, которые вам точно потребуется знать для поддержания в порядке и обслуживания программного обеспечения.

USE-флаги

USE-флаги (признаки использования) — очень важный аспект Gentoo. Прочитав эту главу, вы научитесь обращаться с ними и разберетесь, как USE-флаги влияют на систему.

Возможности Portage

Откройте для себя дополнительные возможности Portage: поддержку распределенной компиляции, кэш компилятора и др.

Сценарии инициализации

В Gentoo используется специальный формат сценариев инициализации (initscript), в котором, например, предусмотрены решения, управляемые зависимостями, и виртуальные сценарии. Здесь описываются эти аспекты, и объясняется, как обращаться со сценариями.

Переменные среды

В Gentoo можно довольно легко управлять системными переменными среды. В этой главе объясняется, как это делать, и описываются часто используемые переменные.

Работа с Portage

В этой части подробно описывается Portage, средство управления программным обеспечением Gentoo.

Файлы и каталоги

Чтобы поближе познакомиться с Portage, вам потребуется узнать, где же хранятся его файлы и данные.

Настройка с помощью переменных

Portage полностью настраивается с помощью различных переменных, которые устанавливаются в конфигурационном файле или как переменные среды.

Смешение ветвей программного обеспечения

Программное обеспечение в составе Gentoo подразделяется на ветви в зависимости от стабильности и поддержки различных архитектур. В этой главе рассказывается, как настраивать использование ветвей, а также как при необходимости преодолевать такое разделение.

Дополнительные средства Portage

В состав Portage входит несколько дополнительных инструментов, которые могут значительно улучшить ваше впечатление от Gentoo. В этой главе раскрываются секреты использования dispatch-conf и других инструментов.

Отступление от официального дерева

Здесь даются советы и показываются приемы «выращивания» собственного дерева Portage, рассказывается о том, как синхронизировать только нужные категории, добавлять свои пакеты и т.д.

Использование ebuild

В этой главе рассказывается о шагах, выполняемых Portage при установке программного обеспечения, и об их самостоятельном выполнении с помощью утилиты ebuild.

Настройка сети в Gentoo

Полное руководство по сетям в Gentoo.

Начальная настройка

Руководство по быстрому запуску и подключению сетевого интерфейса в наиболее распространенных случаях.

Расширенная настройка

Здесь вы изучите, как работает конфигурация — это нужно сделать перед изучением модульного построения сети.

Модульное построение сети

В Gentoo предусмотрены гибкие сетевые средства: здесь рассказывается о выборе различных клиентов DHCP, настройке объединения, образования мостов, виртуальных сетей (VLAN) и т.п.

Беспроводная сеть

Настроить беспроводную сеть не совсем просто. Надеемся, мы поможем вам заставить ее работать.

Дополнительные возможности

Если вы ищете приключений, можете подключить к сети свои собственные функции.

Управление сетью

Для пользователей ноутбуков и тех, кто перемещает свои компьютеры из сети в сеть.

1. Установка  Gentoo

1.1. Об установке Gentoo Linux

1.1.1. Введение

1.1.1.1. Добро пожаловать!

Прежде всего, добро пожаловать в Gentoo! Вы — на пороге мира больших возможностей и высокой производительности! Gentoo весь пропитан идеей свободы выбора. При установке Gentoo вы не раз убедитесь в этом: вам предстоит выбрать объем самостоятельной компиляции, способ установки Gentoo, службу журналирования системы и т.д.

Gentoo — быстрый современный метадистрибутив, обладающий большой чистотой и гибкостью. Gentoo основан на свободном программном обеспечении, и не скрывает от пользователя, «что под капотом». Portage, система управления пакетами Gentoo, написана на языке Python, что позволяет легко просматривать и изменять ее исходный код. Сборка Gentoo также выполняется из исходных текстов (хотя есть и поддержка бинарных пакетов), а настройка Gentoo выполняется с помощью обычных текстовых файлов. Другими словами — сплошная открытость и свобода!

Важно понимать, что Gentoo развивается именно благодаря свободе выбора. Мы стараемся ничего вам не навязывать. А если вам покажется обратное — пожалуйста, сообщите нам об этой оплошности.

1.1.1.2. Как организована установка?

Установка Gentoo рассматривается как последовательность из 10 шагов, которым соответствуют главы 2—11. Каждый шаг приводит к определенному состоянию:

  1. результат шага 1: вы — в рабочей среде, готовой к установке Gentoo;

  2. результат шага 2: ваше подключение к интернету готово для установки Gentoo;

  3. результат шага 3: ваши жесткие диски готовы стать родным домом для Gentoo;

  4. результат шага 4: подготовлена установочная среда, и вы готовы переключиться (chroot) в новую среду;

  5. результат шага 5: развернуты пакеты ядра, общие для всех систем Gentoo;

  6. результат шага 6: вы скомпилировали собственное ядро Linux;

  7. результат шага 7: вы написали большую часть конфигурационных файлов системы Gentoo;

  8. результат шага 8: установлены необходимые системные средства (которые вы сами выбрали из славного списка);

  9. результат шага 9: установлен и настроен избранный загрузчик ОС, и вы вошли в новую систему Gentoo;

  10. результат шага 10: вы можете начинать изучение своей собственной среды Gentoo Linux!

Мы приложили все усилия, чтобы объяснить вам все «за» и «против» каждого варианта, когда вам предоставляется возможность выбора. При этом один из вариантов помечен как «По умолчанию: ». Другие варианты помечены как «Альтернатива:». Не подумайте, что вариант по умолчанию — наша рекомендация. Нам просто кажется, что именно его выбирает большинство пользователей.

Иногда есть возможность выполнить необязательный шаг. Такие шаги помечены как «Дополнительно:», и не требуются для установки Gentoo. Однако, некоторые из них будут обусловлены вашими предшествующими решениями. Мы будем сообщать об этом, как в момент выбора, так и непосредственно перед описанием необязательных шагов.

1.1.1.3. Какие варианты установки существуют?

Gentoo можно установить разными способами. Можно скачать и запустить один из установочных компакт-дисков, установить с имеющегося дистрибутива, с загрузочного CD (например, Knoppix), из сетевой загрузочной среды, с дискеты аварийного восстановления и т.д.

В этом руководстве описывается установка с установочных дисков Gentoo, и, в некоторых случаях, с помощью сетевой загрузки (netboot). Предполагается, что вы собираетесь устанавливать самые свежие версии пакетов. Если вам нужна установка, при которой не требуется использование сети, обратитесь к настольным книгам Gentoo 2006.1 (англ.), где даются указания по установке в бессетевой среде.

Если вы планируете использовать GRP (Gentoo Reference Platform — эталонная платформа Gentoo, набор бинарных пакетов, предназначенных для немедленного использования сразу после установки Gentoo), вам необходимо следовать инструкциям, приведенных в настольной книге Gentoo 2006.1 (англ.).

Чтобы получить сведения о других способах установки, прочитайте описание альтернативных способов установки. Также рекомендуется прочитать полезные советы по установке Gentoo. Если вы почувствуете, что приведенные указания по установке слишком подробны, обратитесь к краткому руководству по установке (см. перечень документации), если, конечно, такое существует для вашей архитектуры.

Кроме того, вы можете выбрать между компиляцией своей системы полностью «с нуля» или установкой заранее собранной среды, позволяющей запустить Gentoo практически моментально. Естественно, есть и промежуточные варианты, в которых вы не компилируете все подряд, а начинаете с полу готовой системы.

1.1.1.4. Появились затруднения?

Если при установке вы столкнулись с проблемой (или с ошибкой в документации по установке), войдите в нашу систему распределения запросов (англ.) и убедитесь, что такая ошибка еще не заявлена. В этом случае, создайте отчет об ошибке, чтобы мы о ней позаботились. Не бойтесь разработчиков, которым выпадает работа над (вашими) ошибками — людей они обычно не едят.

Обратите внимание, что, хотя руководство, которое вы сейчас читаете, посвящено определенной архитектуре, в нем упоминаются и другие архитектуры. Это связано с тем, что значительная часть текста настольной книги Gentoo является общей для всех архитектур (чтобы не дублировать работу, а также из-за острой нехватки разработчиков). Во избежание путаницы, мы стараемся сократить такие упоминания до минимума.

Если вы не уверены, пользовательская ли у вас ошибка (какую-то ошибку совершили вы, хотя внимательно прочитали документацию), или программная (какую-то ошибку совершили мы, хотя тщательно тестировали установку/документацию), то не стесняясь, заходите на канал #gentoo (а также #gentoo-amd64, #gentoo-ru, #rugentoo) сервера irc.freenode.net. Разумеется, мы в любом случае будем вам рады :)

Если у вас есть вопрос, касающийся Gentoo, сначала загляните в список распространенных вопросов (FAQ), входящий в состав документации Gentoo. Можно также обратиться к FAQ (англ.) в наших форумах. Если вы не найдете там ответа, задайте вопрос на #gentoo, нашем IRC-канале на irc.freenode.net. Да-да, кое-кто из нас — маньяки, висящие на IRC :-)

1.2. Выбор подходящего источника для установки

1.2.1. Аппаратные требования

1.2.1.1. Введение

Прежде чем начать, перечислим аппаратные требования, необходимые для успешной установки Gentoo на вашем компьютере.

1.2.1.2. Аппаратные требования

Центральный процессор i486 или новее
Память 64 МБ
Дисковое пространство 1.5 ГБ (исключая пространство подкачки)
Пространство подкачки 256 МБ

1.2.2. Установочные компакт-диски Gentoo

1.2.2.1. Введение

Установочные компакт-диски Gentoo — это загрузочные диски, содержащие самодостаточную среду Gentoo. Они позволяют загружать Linux прямо с компакт-диска. При запуске определяются ваши устройства и загружаются соответствующие драйверы. Эти диски сопровождаются разработчиками Gentoo.

Все установочные компакт-диски позволяют загрузиться, настроить сеть, разметить разделы жесткого диска и начать установку Gentoo из интернета. В настоящее время мы выпускаем два установочных компакт-диска, одинаково подходящих для установки Gentoo с загрузкой последних версий существующих пакетов из интернета.

Если вы хотите установить Gentoo без работоспособного соединения с интернетом, или желаете использовать одну из существующих программ установки, пожалуйста, следуйте указаниям по установке, приведенным в настольной книге Gentoo 2006.0 (англ.).

В настоящее время мы выпускаем два установочных компакт-диска:

  • Минимальный установочный диск Gentoo, маленький загрузочный компакт-диск без излишеств, единственное назначение которого — загрузить систему, подготовить подключение к сети и перейти к установке Gentoo.

  • Живой установочный диск Gentoo, содержащий все необходимое для установки Gentoo. На нем есть графическая среда, графическая и консольная программы автоматической установки, и, конечно, указания по установке для вашей архитектуры.

Чтобы помочь вам решить, какой из них нужен, мы привели главные преимущества и недостатки каждого диска.

1.2.2.2. Минимальный установочный диск Gentoo

Минимальный установочный диск называется install-x86-minimal-2006.0.iso и занимает всего 49 МБ. Gentoo можно устанавливать с этого диска только при постоянном наличии работоспособного подключения к интернету.

Минимальный установочный диск За и против
+ наименьший объем загрузки из сети
не содержит ни архива stage3, ни снимков Portage, ни готовых двоичных пакетов, и поэтому не подходит для установки без сети

1.2.2.3. Живой (live) установочный диск Gentoo

Живой установочный диск называется install-x86-universal-2006.0.iso и занимает 697 МБ. С этого диска вы сможете установить Gentoo даже без исправного подключения к интернету, на случай, если в процессе установки Gentoo на свой компьютер у вас появится неодолимое желание занести его еще и на соседний :)

Живой установочный диск Gentoo За и против
+ содержит все, что требуется; установку можно выполнять даже без сетевого подключения
огромный объем загрузки

1.2.2.4. Файл Stage3

Архив третьей стадии — stage3 — это файл, содержащий минимальную среду Gentoo, пригодную для продолжения установки Gentoo в соответствии с инструкциями, данными в этом руководстве (другими словами: образ (снимок) минимальной системы.

Когда-то в настольной книге Gentoo описывались варианты установки с использованием файла любой из трех существующих стадий создания системы. Несмотря на то, что в Gentoo до сих представлены файлы stage1 и stage2, в официальном способе установки используется архив stage3. Если вас интересует установка Gentoo из файлов stage1 или stage2, пожалуйста, обратитесь к сборнику распространенных вопросов по Gentoo, раздел как установить Gentoo, используя файлы Stage1 или Stage2?

Архивы stage3 можно загрузить из releases/x86/2007.0/stages/ или с любого из официальных зеркал Gentoo; на «живом диске» они не поставляются.

1.2.3. Скачивание, запись и загрузка с установочного диска Gentoo

Скачивание образа и запись на диск

Итак, вы выбрали нужный установочный диск Gentoo. Начнем с загрузки его образа из сети, и его записи на компакт-диск. Ранее обсуждались варианты доступных дисков, но где же их взять?

Любой из установочных дисков (а при желании — заодно и диск пакетов, если есть) можно загрузить с одного из наших зеркал. Установочные диски расположены в каталоге releases/x86/2007.0/installcd.

В этом каталоге находятся ISO-файлы. Это полные образы компакт-дисков, которые можно записать на CD-R.

Если вас волнует, не искажен ли загруженный файл, можно сверить его контрольную сумму MD5 с рассчитанной нами (например, install-x86-minimal-2007.0.iso.DIGESTS). Вычислить контрольную сумму MD5 можно утилитой md5sum в Linux/Unix, или программой md5sum (англ.) для Windows.

Другой способ убедиться в пригодности загруженного файла — с помощью GnuPG сверить криптографическую подпись с той, что хранится у нас (в файле с расширением .asc). Скачайте файл подписи, затем получите открытый ключ:

Листинг 1. Получение открытого ключа

$ gpg --keyserver subkeys.pgp.net --recv-keys 17072058


Теперь сверьте подпись:

Листинг 2. Сверка криптографической подписи

$ gpg --verify <файл подписи> <скачанный образ диска>


Записывать загруженный ISO-образ на компакт-диск нужно в «сыром» режиме. Как это сделать, сильно зависит от используемой программы. Здесь мы обсудим запись с помощью cdrecord и K3B. Дополнительные сведения находятся в нашем сборнике распространенных вопросов.

При использовании cdrecord, просто введите cdrecord dev=/dev/hdc <скачанный iso-файл> (/dev/hdc замените на путь к вашему устройству CD-RW).

При использования K3B, выберите ToolsCDBurn Image (ИнструментыКомпакт-дискПрожечь образ). Затем в области 'Image to Burn' ('Образ для записи') укажите свой ISO-файл. В завершение нажмите Start (Запуск).

1.2.4. Загрузка с установочного компакт-диска

Важно

Перед тем, как приступить, полностью прочитайте этот подраздел, так как перед последующими действиями вам, скорее всего, больше не представится такая возможность.

Записав установочный компакт-диск, пора его загрузить. Уберите все компакт-диски из своих приводов CD, перезагрузите компьютер и войдите в BIOS. В зависимости от BIOS, для этого обычно нужно нажать DEL, F1 или ESC. В BIOS измените порядок загрузки так, чтобы обращение к CD-ROM выполнялось до обращения к жесткому диску. Этот параметр часто задается в разделе «CMOS Setup». Если порядок загрузки не изменить, система просто перезагрузится с жесткого диска, игнорируя CD-ROM.

Теперь поместите установочный диск в привод CD-ROM (наконец-то!) и перезагрузитесь. Должно появиться загрузочное приглашение. Здесь можно просто нажать ENTER, чтобы запустить процесс загрузки с параметрами по умолчанию, или загрузить установочный диск по-своему: указать ядро, потом загрузочные параметры, а затем нажать ENTER.

Указать ядро? Да, на нашем установочном компакт-диске есть несколько вариантов ядра. По умолчанию используется gentoo. Другие ядра предназначены для специфических аппаратных задач; вариант -nofb отключает кадровый буфер.

Ниже перечислены доступные варианты ядра:

Ядро Описание
gentoo ядро 2.6 с многопроцессорной поддержкой (используется по умолчанию)
gentoo-nofb аналогично gentoo, но без поддержки кадрового буфера
memtest86 для выявления ошибок локальной оперативной памяти

Также можно указать параметры ядра, явно включающие или отключающие определенные режимы. Приведенный список соответствует тому, что выводится при нажатия F2 в экране загрузки.

Листинг 3: Параметры, которые можно сообщить выбранному ядру

Листинг 3. Параметры, которые можно сообщить выбранному ядру

- agpgart      загрузка agpgart (используйте при сбоях графики, зависаниях)
- acpi=on      включение поддержки ACPI
- ide=nodma    принудительное отключение DMA для сбойных IDE-устройств
- doscsi       поиск scsi-устройств (нарушает работу некоторых ethernet-плат)
- dopcmcia     запуск службы pcmcia для PCMCIA-приводов компакт-дисков
- nofirewire   отключение в initrd модулей firewire (предназначенных для
                  приводов компакт-дисков с подключением firewire и т.п.)
- nokeymap     отключение выбора неамериканских раскладок клавиатуры
- docache      кэширование исполняемой части компакт-диска в памяти, позволяет
                  размонтировать /mnt/cdrom для установки другого диска 
- nodetect     запрет запуска hwsetup/kudzu и hotplug
- nousb        отключение загрузки модулей usb в initrd, отключает hotplug
- nodhcp       отмена автоматического запуска dhcp при обнаружении сетевой 
                  платы
- nohotplug    отключение загрузки службы hotplug
- noapic       отключение apic (попробуйте, если есть аппаратные проблемы
                  с устройствами scsi, сетевыми платами и т.д.)
- noevms       отключение поддержки модулей EVMS2
- nolvm2       отключение поддержки модулей LVM2
- hdx=stroke   озволяет использовать жесткий диск целиком, даже если BIOS 
                  не поддерживает диски большого размера
- noload=module1,[module2,[...]]
                   запрет загрузки определенных модулей ядра


Теперь загрузите систему с компакт-диска, выбрав ядро (если вас не устраивает ядро по умолчанию gentoo) и указав дополнительные параметры. В качестве примера мы покажем, как загрузить ядро gentoo с параметром dopcmcia:

Листинг 4. Загрузка установочного диска

boot: gentoo dopcmcia


Появится заставка с полосой индикатора загрузки. Если вы устанавливаете Gentoo на машину с не американской раскладкой клавиатуры, нужно немедленно нажать ALT+F1, чтобы переключиться в подробный режим, и следовать появившимся указаниям. Если ничего не выбрано в течение 10 секунд, устанавливается раскладка по умолчанию (клавиатура США), а загрузка продолжается. По окончании загрузки для вас будет выполнен автоматический вход в «живой» Gentoo Linux в качестве «root» (администратора). В текущей консоли должно появиться прилашение root («#»). Также можно переключаться в другие консоли, нажимая ALT+F2, ALT+F3 и ALT+F4. Вернуться в первоначальную консоль можно нажатием ALT+F1.

Приступим к дополнительной настройке оборудования.

1.2.5. Дополнительная настройка оборудования

При загрузке с установочного компакт-диска система пытается определить все устройства и загрузить соответствующие модули для их поддержки. В подавляющем большинстве случаев она очень хорошо справляется с этим. Однако, в редких случаях некоторые из нужных модулей не загружаются автоматически. Если какие-либо устройства пропущены при автоматическом опросе шины PCI, модули ядра для их поддержки вам придется загрузить вручную.

В следующем примере мы попробуем загрузить модуль 8139too (для поддержки некоторых типов сетевого интерфейса):

Листинг 5. Загрузка модуля ядра

# modprobe 8139too


Если вам нужна поддержка PCMCIA, требуется запустить сценарий инициализации pcmcia:

Листинг 6. Запуск сценария инициализации PCMCIA

# /etc/init.d/pcmcia start


Дополнительно: оптимизация скорости жесткого диска

Если вы опытный пользователь, возможно, вам захочется настроить скоростные параметры жесткого диска IDE с помощью программы hdparm. Указав параметр -tT, можно измерить скорость вашего диска (для уточнения значений запускайте программу несколько раз подряд):

Листинг 7. Тестирование производительности диска

# hdparm -tT /dev/hda


Для настройки вы можете использовать любой из приведенных примеров (или поэкспериментировать самостоятельно), при необходимости указав название своего диска вместо /dev/hda:

Листинг 8. Оптимизация скорости жесткого диска

Включение DMA:
# hdparm -d 1 /dev/hda
Установка безопасных значений:
# hdparm -d 1 -A 1 -m 16 -u 1 -a 64 /dev/hda


1.2.6. Дополнительно: учетные записи пользователей

Если вы собираетесь дать другим людям доступ к своей системе, или намерены входить в чат irssi без прав администратора (из соображений безопасности), потребуется создать учетные записи пользователей и изменить пароль администратора.

Для изменения пароля администратора используйте passwd:

Листинг 9. Изменение пароля администратора

# passwd
New password: (введите новый пароль)
Re-enter password: (введите новый пароль еще раз)


Для создания учетной записи пользователя сначала задаются его реквизиты, а затем вводится пароль. Для этого служат программы useradd и passwd. В следующем примере мы создадим пользователя «john»:

Листинг 10. Создание учетной записи пользователя

# useradd -m -G users john
# passwd john
New password: (введите новый пароль для john)
Re-enter password: (введите новый пароль Джона еще раз)


Вы также можете изменить свой идентификатор пользователя с администратора (root) на вновь созданного пользователя командой su:

Листинг 11. Изменение идентификатора пользователя

# su - john


1.2.7. Дополнительно: просмотр документации во время установки

Если вам нужна возможность просмотра настольной книги Gentoo в процессе установки (не важно, из сети или с компакт-диска), убедитесь, что вы создали учетную запись обычного пользователя (см. Дополнительно: учетные записи пользователей). Затем нажмите ALT+F2 для перехода в другой терминал, и войдите в систему.

Для чтения документации c компакт-диска, вы можете сразу запустить links:

Листинг 12. Просмотр документации с компакт-диска

# links /mnt/cdrom/docs/html/index.html


Но лучше открывать настольную книгу Gentoo из сети (там она новее, чем на компакт-диске). Для этого тоже можно пользоваться links, но только после настройки сети (иначе вы не сможете выйти в интернет, чтобы прочесть документ):

Листинг 13. Просмотр документации, находящейся в сети

# links http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml


На исходный терминал можно переключаться нажатием ALT+F1.

1.2.8. Дополнительно: запуск демона SSH

Если вы хотите разрешить другим пользователям доступ к своей системе в процессе установки Gentoo (возможно затем, чтобы они помогли вам с установкой или даже провели ее за вас), для них потребуется создать учетные записи, а возможно, даже дать им пароль администратора (делайте это только в том случае, если вы им полностью доверяете).

Чтобы запустить демон SSH, выполните следующую команду:

Листинг 14. Запуск демона SSH

# /etc/init.d/sshd start


Для использования sshd, сначала требуется настроить сеть. Переходите к главе Настройка сети.

1.3. Настройка сети

1.3.1. Автоматическое подключение к сети

1.3.1.1. Может, она уже настроена?

Если ваша система подсоединена к сети Ethernet, в которой есть сервер DHCP, очень вероятно, что сетевое подключение на вашей машине уже автоматически настроено. Если так, вы сможете воспользоваться многими сетевыми командами, находящимися на установочном компакт-диске, например, ssh, scp, ping, irssi, wget и links.

Если сеть уже настроена, команда /sbin/ifconfig должна показывать сетевые интерфейсы кроме lo, например, eth0:

Листинг 15. /sbin/ifconfig для рабочей сетевой конфигурации

# /sbin/ifconfig
(...)
eth0   Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11 Base address:0xe800


1.3.1.2. Дополнительно: указание прокси-серверов

Если вы подключены к интернету через прокси-сервер, при установке вам может потребоваться ввести сведения о нем. Задать прокси-сервер очень просто: нужно определить переменные, содержащие необходимые сведения.

В большинстве случаев в определении переменных достаточно указать имя прокси-сервера. Предположим, например, что прокси-сервер называется proxy.gentoo.org, а его порт — 8080:

Листинг 16. Указание прокси-сервера

 (если прокси-сервер фильтрует трафик HTTP)
# export http_proxy="http://proxy.gentoo.org:8080"
 (если прокси-сервер фильтрует трафик FTP)
# export ftp_proxy="ftp://proxy.gentoo.org:8080"
 (если прокси-сервер фильтрует трафик RSYNC)
# export RSYNC_PROXY="proxy.gentoo.org:8080"


Если прокси-сервер запрашивает имя пользователя и пароль, для значения переменной следует использовать такой формат:

Листинг 17. Указание имени/пароля в адресе прокси-сервера

http://имя_пользователя:пароль@proxy.gentoo.org:8080


1.3.1.3. Проверка сети

Может оказаться полезным проверить отклик DNS-сервера вашего поставщика услуг интернета (адрес сервера находится в /etc/resolv.conf), а также произвольного веб-сайта, чтобы убедиться, что ваши пакеты выходят в интернет, разрешение имен DNS работает и т.д.

Листинг 18. Проверка доступности сети

# ping -c 3 google.com


Сеть доступна? Тогда пропустите остаток этого раздела, и переходите к разделу подготовка дисков. Если сеть все же недоступна, то, к сожалению, вам придется еще поработать над ее настройкой.

1.3.2. Автоматизированная настройка сети

Если сеть не заработает сразу, при установке с некоторых носителей можно использовать net-setup (для обычных или беспроводных сетей), pppoe-setup (для пользователей ADSL) или pptp (для пользователей PPTP; есть на x86, amd64, alpha, ppc и ppc64).

Если на вашем установочном диске нет ни одного из этих средств, или сеть еще не подключена, приступайте к ручной настройке сети:

  1. пользователи обычной сети Ethernet — переходите к разделу по умолчанию: использование net-setup;

  2. пользователи ADSL — переходите к разделу альтернатива: использование RP-PPPoE;

  3. пользователи PPTP — переходите к разделу альтернатива: использование PPTP;

1.3.2.1. По умолчанию: использование net-setup

Простейший способ настройки сети, если она не произошла автоматически — запуск сценария net-setup:

Листинг 19. Запуск сценария net-setup

# net-setup eth0


net-setup задаст вам несколько вопросов о вашей сетевой среде. В результате его работы у вас должно появиться работоспособное подключение к сети. Проверьте сетевое подключение, как это описано выше. Если проверка прошла успешно, примите наши поздравления — теперь вы готовы к установке Gentoo. Пропустите оставшуюся часть этого раздела и приступайте к подготовке дисков.

Если ваша сеть все еще не заработала, переходите к ручной настройке сети.

1.3.2.2. Альтернатива: использование RP-PPPoE

Для простоты подключения к интернету по PPPoE, в установочный диск (любой версии) включен rp-pppoe. Для настройки соединения используйте сценарий pppoe-setup, входящий в комплект. У вас будет запрошена информация о сетевом устройстве ethernet, подключенном к adsl-модему, имя пользователя, пароль, IP-адреса ваших серверов DNS. Также задается вопрос, нужно ли включать базовый межсетевой экран (firewall).

Листинг 20. Использование rp-pppoe

# pppoe-setup
# pppoe-start


Если что-то пошло не так, проверьте, правильно ли вы ввели имя пользователя и пароль, посмотрев в /etc/ppp/pap-secrets или /etc/ppp/chap-secrets, и убедитесь, что устройство ethernet указано верно. Если ваше устройство не видно в системе, потребуется загрузить соответствующие сетевые модули. Для этого нужно перейти к разделу ручная настройка сети где мы объясняем, как из загрузить.

Если же все заработало, переходите к подготовке дисков.

1.3.2.3. Альтернатива: использование PPTP

Примечание

Поддержка PPTP имеется только для архитектуры x86.

Если вам нужна поддержка PPTP, можно использовать pptpclient, который входит в состав нашего установочного диска. Но сначала нужно обеспечить правильность настройки. Отредактируйте файлы /etc/ppp/pap-secrets или /etc/ppp/chap-secrets так, чтобы в них находилось правильное сочетание имени пользователя и пароля.

Листинг 21. Редактирование /etc/ppp/chap-secrets

# nano -w /etc/ppp/chap-secrets


Затем, если нужно, измените параметры PPTP в файле /etc/ppp/options.pptp:

Листинг 22. Редактирование /etc/ppp/options.pptp

# nano -w /etc/ppp/options.pptp


Когда все будет готово, просто запустите pptp (с параметрами, которые вы не стали прописывать в options.pptp), чтобы соединиться с сервером:

Листинг 23. Подключение к серверу коммутируемого доступа

# pptp <server ip>


Теперь переходите к подготовке дисков.

1.3.3. Ручная настройка сети

1.3.3.1. Загрузка нужных сетевых модулей

При загрузке установочный диск пытается выявить все установленные устройства и загружает подходящие модули ядра (драйверы) для поддержки вашего оборудования. В подавляющем большинстве случаев он очень хорошо справляется с этой работой. Однако, в некоторых случаях он может не справиться с автозагрузкой нужных вам модулей ядра.

Если net-setup или pppoe-setup не удалось загрузить нужный модуль, возможно, ваша сетевая плата сразу не обнаружена. При этом вам может потребоваться ручная загрузка необходимых модулей ядра.

Чтобы выяснить, какие модули ядра для поддержки сети существуют, используйте ls:

Листинг 24. Поиск имеющихся модулей

# ls /lib/modules/`uname -r`/kernel/drivers/net


Если вы найдете драйвер для своей сетевой платы, для загрузки модуля ядра используйте modprobe:

Листинг 25. Использование modprobe для загрузки модуля ядра

(для примера загрузим модуль pcnet32)
# modprobe pcnet32


Чтобы убедиться, что ваша сетевая плата теперь обнаружена, используйте ifconfig. Если сетевая плата обнаружена, результат выглядит подобным образом:

Листинг 26. Проверка доступности сетевой платы (удачная)

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
          BROADCAST NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)


Однако, если вы получите такое сообщение об ошибке, сетевая плата не обнаружена:

Листинг 27. Проверка доступности сетевой платы (неудачная)

# ifconfig eth0
eth0: error fetching interface information: Device not found


Если в вашей системе установлено несколько сетевых плат, они будут называться eth0, eth1 и т.д. Убедитесь, что сетевая плата, которую вы собираетесь использовать, работает хорошо, и в дальнейшем не забудьте везде подставлять верное имя. Мы предполагаем, что используется сетевая плата eth0.

Когда ваша сетевая плата обнаружена, можно попробовать снова запустить net-setup или pppoe-setup (которые теперь должны сработать), но на случай, если вы из крутых, мы опишем, как настроить сеть вручную.

Выберите один из следующих разделов, в зависимости от необходимого вида настройки:

  1. использование DHCP для автоматического присвоения IP-адреса;

  2. подготовка беспроводного доступа, если у вас есть беспроводная плата;

  3. освоение сетевой терминологии: рассказ о том, что нужно знать о подключении к сети;

  4. использование ifconfig и route: описание ручной настройки сети;

1.3.3.2. Использование DHCP

DHCP (Dynamic Host Configuration Protocol — протокол динамической настройки хоста) дает возможность автоматически получить параметры сетевого подключения (IP-адрес, маску сети, широковещательный адрес, шлюз, сервера имен и т. д.) Все это работает, только когда в вашей сети есть сервер DHCP (или ваш поставщик предоставляет услугу DHCP). Чтобы сетевой интерфейс получал эти сведения автоматически, используйте dhcpcd:

Листинг 28. Использование dhcpcd

# dhcpcd eth0
Некоторые сетевые администраторы требуют, чтобы вы использовали 
имя хоста и домена, назначенное сервером DHCP.
В этом случае используйте
# dhcpcd -HD eth0


Если это сработало (попробуйте «попинговать» какой-нибудь сервер интернета, например, Google), то у вас все настроено, и можно двигаться дальше. Пропустите остаток этого раздела и приступайте к подготовке дисков.

1.3.3.3. Подготовка беспроводного доступа

Примечание

Поддержка команды iwconfig есть только на установочных дисках для платформ x86, amd64 и ppc. В других случаях вы все же сможете запустить расширения, следуя инструкциям проекта linux-wlan-ng (англ.).

Если вы используете беспроводную плату (802.11), перед дальнейшими действиями может потребоваться настройка параметров беспроводного подключения. Для просмотра текущей настройки беспроводной платы можете использовать iwconfig. При запуске iwconfig вы увидите подобные сведения:

Листинг 29. Вывод текущих параметров беспроводного подключения

# iwconfig eth0
eth0      IEEE 802.11-DS  ESSID:"GentooNode"                                   
          Mode:Managed  Frequency:2.442GHz  Access Point: 00:09:5B:11:CC:F2    
          Bit Rate:11Mb/s   Tx-Power=20 dBm   Sensitivity=0/65535               
          Retry limit:16   RTS thr:off   Fragment thr:off                       
          Power Management:off                                                  
          Link Quality:25/10  Signal level:-51 dBm  Noise level:-102 dBm        
          Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx          
          excessive retries:237 Invalid misc:350282 Missed beacon:84


Примечание

Некоторые беспроводные платы могут называться подобно wlan0 или ra0, а не eth0. Для определения верного имени устройства запускайте iwconfig без каких-либо параметров командной строки.

Для большинства пользователей может потребоваться изменение только двух параметров: ESSID (названия беспроводной сети) и ключа шифрования WEP. Если ESSID и указанный адрес точки доступа уже принадлежат вашей точке доступа, и вы не используете WEP, значит, ваше беспроводное подключение работает. Если вам необходимо изменить свой ESSID или добавить ключ WEP, можно запустить следующие команды:

Листинг 30. Замена ESSID и/или добавление ключа WEP

(так название сети устанавливается в "GentooNode")
# iwconfig eth0 essid GentooNode
(так устанавливается шестнадцатиричный ключ WEP)
# iwconfig eth0 key 1234123412341234abcd
(так устанавливается текстовый ключ (ASCII); вначале нужно добавлять "s:")
# iwconfig eth0 key s:some-password


Проверить сделанную настройку можно, снова запустив iwconfig. Как только ваша беспроводная сеть заработает, вы можете перейти к установке параметров сети, относящихся к протоколу IP, которые описываются в следующем разделе (освоение сетевой терминологии), или использовать утилиту net-setup, как описано ранее.

1.3.3.4. Освоение сетевой терминологии

Примечание

Если вы знаете свой IP-адрес, широковещательный адрес, маску сети и серверы имен, можете пропустить этот подраздел и перейти к разделу использование ifconfig и route.

Если все, рассказанное выше, не помогло, вам придется настроить свою сеть вручную. Это совсем нетрудно. Однако, вам понадобится освоить кое-какую сетевую терминологию, знание которой требуется для удовлетворительной настройки сети. Прочитав этот текст, вы узнаете, что такое шлюз, зачем служит маска сети, как формируется широковещательный адрес, и зачем нужны серверы имен.

В сети узлы (хосты, компьютеры) различаются по IP-адресу (адресу протокола интернета). Такой адрес — это сочетание четырех чисел от 0 до 255. Ну, по крайней мере, так мы его воспринимаем. В действительности, IP-адрес состоит из 32 бит (единиц и нулей). Давайте рассмотрим пример:

Листинг 31. Пример IP-адреса

IP-адрес (числа):       192.168.0.2
IP-адрес (биты):        11000000 10101000 00000000 00000010
                        -------- -------- -------- --------
                           192      168       0        2


Такой IP-адрес уникален для узла в рамках всех доступных сетей (т. е. каждый узел, с которым вы можете связаться, должен иметь уникальный IP-адрес). Чтобы различать узлы, находящиеся внутри и извне сети, IP-адрес подразделяется на две части: часть сети и часть узла.

Это разделение записывается с помощью маски сети — набора единиц, за которым следует набор нулей. Часть IP-адреса, которая попадает на единицы — сетевая, оставшаяся часть — узловая. Как обычно, маска сети может записываться в виде IP-адреса.

Листинг 32. Пример разделения сети/узла

IP-адрес:      192      168      0         2
            11000000 10101000 00000000 00000010
Маска сети: 11111111 11111111 11111111 00000000
               255      255     255        0
           +--------------------------+--------+
                      Сеть               Узел


Другими словами, 192.168.0.14 — все еще входит в состав сети из нашего примера, а 192.168.1.2 — уже нет.

Широковещательный адрес — это IP-адрес с такой же сетевой частью, как у вашей сети, но у которого узловая часть состоит только из единиц. Каждый узел вашей сети слушает этот IP-адрес. Он действительно предназначен для широковещательной рассылки пакетов.

Листинг 33. Широковещательный адрес

IP-адрес:             192      168      0         2
                   11000000 10101000 00000000 00000010
Широковещательный  11000000 10101000 00000000 11111111
адрес:                192      168      0        255
                  +--------------------------+--------+
                              Сеть              Узел


Чтобы бороздить просторы интернета, вы должны знать, через какой узел происходит подключение к интернету. Этот узел называется шлюзом. Так как это обычный узел, ему присвоен обычный IP-адрес (например, 192.168.0.1).

Выше мы говорили, что каждому узлу присваивается свой собственный IP-адрес. Чтобы связываться с узлом по имени (вместо IP-адреса), нужна служба, которая переводит имя (такое, как dev.gentoo.org) в IP-адрес (например, 64.5.62.82). Такая служба называется службой имен. Чтобы пользоваться ей, нужно указать необходимые серверы имён в /etc/resolv.conf.

Иногда ваш шлюз сам является сервером имен. В остальных случаях вам необходимо указывать серверы имен, предоставляемые поставщиком интернета.

В итоге, для дальнейшего вам потребуется следующая информация:

Параметр настройки сети Пример
Ваш IP-адрес 192.168.0.2
Маска сети 255.255.255.0
Широковещательный адрес 192.168.0.255
Шлюз 192.168.0.1
Сервер(ы) имен 195.130.130.5, 195.130.130.133

1.3.3.5. Использование ifconfig и route

Настройка вашей сети состоит из трех шагов. Сначала мы назначаем себе IP-адрес с помощью ifconfig. Затем мы настраиваем маршрутизацию к шлюзу, пользуясь route. И в завершение мы помещаем IP-адреса серверов имен в /etc/resolv.conf.

Для назначения IP-адреса потребуется ваш IP-адрес, широковещательный адрес и маска сети. Узнав их, выполните следующую команду, заменив ${IP_ADDR} на свой IP-адрес, ${BROADCAST} на свой широковещательный адрес, а ${NETMASK} на свою маску сети:

Листинг 34. Использование ifconfig

# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up


Теперь настройте маршрутизацию с помощью route. Подставьте IP-адрес своего шлюза вместо ${GATEWAY}:

Листинг 35. Использование route

# route add default gw ${GATEWAY}


Затем откройте /etc/resolv.conf в своем любимом редакторе (в нашем примере используется nano):

Листинг 36. Создание /etc/resolv.conf

# nano -w /etc/resolv.conf


Заполните данные своих серверов имен по следующему образцу. Обязательно замените ${NAMESERVER1} и ${NAMESERVER2} на соответствующие адреса серверов имен:

Листинг 37. Образец /etc/resolv.conf

nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}


Готово. Теперь проверьте свою сеть, «попинговав» какой-либо сервер интернета (например, Google). Если все заработало, примите наши поздравления! Теперь вы готовы к установке Gentoo. Приступайте к подготовке дисков.

1.4. Подготовка дисков

1.4.1. Общие сведения о блочных устройствах

1.4.1.1. Блочные устройства

Мы достаточно подробно рассмотрим аспекты работы с дисками в Gentoo Linux и Linux вообще, включая файловые системы, разделы и блочные устройства. Позже, когда вы уже освоитесь с дисками и файловыми системами, мы проведем вас через процесс настройки разделов и файловых систем для установки Gentoo Linux.

Для начала, давайте познакомимся с блочными устройствами. Вероятно, наиболее известно блочное устройство, соответствующее в системе Linux первому IDE-диску, а именно /dev/hda. А если в вашей системе используются диски SCSI или SATA, то первым жестким диском будет /dev/sda.

Подобные блочные устройства представляют собой абстрактный интерфейс к диску. Прикладные программы могут использовать их для обращения к дискам, не беспокоясь, к какому типу те принадлежат: IDE, SCSI или какому-то еще. Программы могут просто обращаться к накопителю, как к набору смежных 512-байтных блоков с произвольным доступом.

1.4.1.2. Разделы

Хотя теоретически для размещения системы Linux диск можно использовать целиком, так почти никогда не делают на практике. Вместо этого большое физическое блочное устройство разбивают на меньшие блочные устройства, более удобные для обращения. В архитектуре x86 они называются разделами.

Существуют разделы трех типов:первичные (primary), расширенные (extended) и логические (logical).

Первичный раздел — это раздел, информация о котором хранится в MBR (Master Boot Record — главной загрузочной записи). Так как MBR очень мала (512 байт), можно определять всего четыре первичных раздела (например, от /dev/hda1 до /dev/hda4).

Расширенный раздел — это особый первичный раздел (имеется в виду, что расширенный раздел должен быть одним из четырех возможных первичных разделов), в котором содержатся другие разделы. Таких разделов изначально не существовало, но их введение помогло расширить существующую схему разметки без потери совместимости, как только четырех разделов перестало хватать.

Логический раздел — это раздел, входящий в расширенный раздел. Его определение находится не в MBR, а внутри расширенного раздела.

1.4.1.3. Дополнительные возможности

На установочном компакт-диске для х86 предусмотрена поддержка EVMS и LVM2. Использование EVMS и LVM2 повышает гибкость разбиения диска. В ходе установки мы останавливаемся на «обычных» разделах, но стоит запомнить, что EVMS и LVM2 тоже поддерживаются.

1.4.2. Разработка схемы разбиения диска

1.4.2.1. Схема разбиения по умолчанию

Если вам не интересно заниматься разработкой схемы для своей системы, можно воспользоваться схемой, используемой в этой книге:

Раздел Файловая система Размер Описание
dev/hda1 ext2 32МБ загрузочный раздел
/dev/hda1 (swap) 512МБ раздел подкачки
/dev/hda3 ext3 оставшаяся часть диска корневой раздел

Если вам интересно узнать, какого размера должны быть разделы, и сколько их вам вообще может потребоваться, читайте дальше. В противном случае приступайте к созданию разделов, описанному в главе использование fdisk для создания разделов.

1.4.2.2. Сколько и каких именно?

Количество разделов очень сильно зависит от назначения системы. Например, если у вас много пользователей, вам, скорее всего, захочется отделить /home для повышения безопасности и упрощения резервного копирования. Если вы устанавливаете Gentoo в роли почтового сервера, следует отделить /var, т.к. вся почта хранится там. Затем, правильно выбрав файловую систему, вы добьетесь максимальной производительности. Для игровых серверов потребуется отдельный раздел /opt, так как большинство программ для их работы устанавливается туда. Причины выделения те же, что и для /home: безопасность и резервное копирование. Определенно не помешает побольше места для /usr: не только потому, что там хранится большинство приложений, а еще из-за того, что лишь дерево Portage, не считая размещенных в нем архивов с исходными кодами, занимает около 500 МБ.

Как видите, все зависит от ваших целей. Наличие отдельных разделов или томов имеет следующие плюсы:

  1. для каждого раздела или тома можно выбрать наиболее подходящую файловую систему;

  2. свободное место во всей системе не кончится «вдруг» из-за того, что одна-единственная сбойная программа постоянно записывает файлы в раздел или том

  3. необходимая проверка файловых систем будет занимать меньше времени, т.к. проверка разных разделов может выполняться параллельно (еще больший выигрыш времени дает использование нескольких физических дисков) ;

  4. можно повысить безопасность системы, монтируя часть разделов в режиме read-only (только для чтения), nosuid (игнорируется бит setuid), noexec (игнорируется бит исполнения) и т.д..

Однако, у создания множества разделов есть один большой минус: при неправильной настройке можно получить систему, в которой много свободного места на одном разделе, и совершенно нет на другом. Кроме того, на дисках SCSI и SATA возможно создание не более 15 разделов.

Для примера мы покажем разбиение диска объемом 20 ГБ, используемого в демонстрационном ноутбуке (с веб-сервером, почтовым сервером, средой Gnome и т.д.):

Листинг 38. Пример файловой системы

$ df -h
Filesystem    Type    Size   Used   Avail   Use%  Mounted on
/dev/hda5     ext3    509M   132M    351M    28%  /
/dev/hda2     ext3    5.0G   3.0G    1.8G    63%  /home
/dev/hda7     ext3    7.9G   6.2G    1.3G    83%  /usr
/dev/hda8     ext3   1011M   483M    477M    51%  /opt
/dev/hda9     ext3    2.0G   607M    1.3G    32%  /var
/dev/hda1     ext2     51M    17M     31M    36%  /boot
/dev/hda6     swap    516M    12M    504M     2%  <not mounted>
    (свободное место для будущего использования: 2 ГБ)


Раздел /usr, как видим, почти заполнен (использовано 83%), но когда все программы установлены, /usr растет не слишком быстро. Хотя отведение нескольких гигабайт дискового пространства для /var может показаться расточительством, помните, что этот раздел по умолчанию используется Portage для компиляции пакетов. Если вы захотите удержать /var в рамках более разумного размера, например, 1ГБ, вам потребуется изменить переменную PORTAGE_TMPDIR в /etc/make.conf, чтобы она указывала на раздел, где достаточно свободного места для компиляции чрезвычайно больших пакетов, таких как OpenOffice.

1.4.3. Использование fdisk для создания разделов

В следующих разделах описывается, как разбить диск в соответствии с примерной схемой, описанной ранее, а именно:

Раздел Описание
/dev/hda1 загрузочный раздел
/dev/hda2 раздел подкачки
/dev/hda3 корневой раздел

Эту схему вы можете изменять по своему усмотрению.

1.4.3.1. Просмотр текущей схемы разбиения диска

fdisk — это популярная и очень мощная утилита для создания разделов на ваших дисках. Запустите fdisk, указав свой диск в качестве параметра (в примере мы используем /dev/hda):

Листинг 39. Запуск fdisk

# fdisk /dev/hda


После запуска fdisk выдаст такое приглашение:

Листинг 40. Приглашение fdisk

Command (m for help):


Нажмите p, чтобы вывести текущую схему разбиения диска:

Листинг 41. Пример схемы разделов диска

Command (m for help): p
                            
Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help):


В данном случае на диске есть семь разделов Linux (для которых в графе «System» указано «Linux») и один раздел подкачки (в списке показан как «Linux swap»).

1.4.3.2. Удаление всех разделов

Сначала удалим с диска все существующие разделы. Для удаления раздела вводите d. Например для удаления существующего /dev/hda1:

Листинг 42. Удаление раздела

Command (m for help): d
Partition number (1-4): 1


Удаление раздела будет запланировано. Он больше не будет отображаться при вводе p, но фактически не будет удалятся до тех пор, пока вы не сохраните внесенные изменения. Если вы ошиблись и хотите прервать разбиение без сохранения изменений, немедленно введите q и нажмите ENTER; тогда ваш раздел сохранится в неизменном виде.

Теперь, если вы действительно собираетесь удалить в своей системе все разделы, повторяйте ввод p для показа оставшихся разделов, затем d и номера удаляемого раздела до тех пор, пока разделы не кончатся. В итоге вы получите пустую таблицу разделов:

Листинг 43. Пустая таблица разделов

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):


Теперь, когда мы очистили таблицу разделов, хранящуюся в оперативной памяти, настало время создавать разделы. Мы воспользуемся примерной схемой разбиения, описанной выше. Естественно, не следуйте этим инструкциям буквально, если только вам не нужна таблица разделов, идентичная нашей!

1.4.3.3. Создание загрузочного раздела

Сначала создадим маленький загрузочный раздел. Введите n для создания нового раздела, затем p, чтобы выбрать первичный раздел, и 1 для указания первого первичного раздела. На вопрос о первом цилиндре нажмите ввод. На вопрос о последнем цилиндре введите +32M, чтобы создать раздел размером 32МБ:

Листинг 44. Создание загрузочного раздела

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (нажмите ввод)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M


Теперь, введя p, вы должны увидеть следующий текст:

Листинг 45. Созданный загрузочный раздел

Command (m for help): p
                            
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux


Нам необходимо сделать этот раздел загружаемым. Введите a для включения признака загрузки с раздела, затем нажмите 1. Если снова ввести p, можно увидеть, что в столбце «boot» появился знак *.

1.4.3.4. Создание раздела подкачки

Теперь создадим раздел подкачки. Для этого введите n (создание нового раздела), затем p для выбора первичного раздела. Потом нажмите 2, чтобы создать второй первичный раздел, в нашем случае /dev/hda2. На вопрос о первом цилиндре просто нажмите ввод. На вопрос о последнем — ответьте +512M, чтобы создать раздел размером 512МБ. Сделав это, введите t для указания типа раздела, 2, для выбора только что созданного раздела, и 82, чтобы установить тип раздела «Linux Swap». При нажатии p по завершении этих действий, таблица разделов должна выглядеть примерно так:

Листинг 46. Список разделов после создания раздела подкачки

Command (m for help): p
                            
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap


1.4.3.5. Создание корневого раздела

Теперь создадим корневой раздел. Для этого введите n (создание нового раздела), затем p (первичный раздел). После этого нажмите 3 для создания третьего первичного раздела, в нашем случае /dev/hda3. На вопрос о первом цилиндре нажмите ввод. На вопрос о последнем — также нажмите ввод, чтобы раздел занял все оставшееся свободное место на диске. По завершении этих шагов, при вводе p должна выводиться подобная таблица разделов:

Листинг 47. Список разделов после создания корневого раздела

Command (m for help): p
                            
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux


1.4.3.6. Сохранение схемы разбиения

Для сохранения схемы разбиения и выхода из fdisk, введите w.

Листинг 48. Сохранение и выход из fdisk

Command (m for help): w


Теперь, создав все разделы, перейдем к созданию файловых систем.

1.4.4. Создание файловых систем

1.4.4.1. Введение

Разделы созданы, настало время разместить на них файловые системы. Если вам безразлично, какую файловую систему использовать, и вы вполне довольны той, что мы предлагаем в книге по умолчанию, переходите к размещению файловой системы в разделе. Если нет, читайте дальше, чтобы разузнать о существующих файловых системах...

1.4.4.2. Файловые системы (сравнение !)

В ядре Linux поддерживаются различные файловые системы. Мы расскажем о самых распространенных из них: ext2, ext3, ReiserFS, XFS и JFS.

  1. ext2 — испытанная файловая система Linux, в которой отсутствуют средства журналирования метаданных. Поэтому ее рядовая проверка при запуске может быть очень долгой. Сегодня существует довольно много журналируемых файловых систем нового поколения, целостность которых проверяется очень быстро, и поэтому обычно есть смысл использовать их. Журналируемые файловые системы позволяют избежать долгих задержек при запуске, когда состояние файловой системы неустойчиво.

  2. ext3 — это журналируемая версия ext2, где для ускорения восстановления появилось журналирование метаданных, а также другие режимы, наподобие полного или упорядоченного журналирования данных. ext3 — очень хорошая и надежная файловая система. В ней есть дополнительная возможность индексации через хэшированные сбалансированные деревья (b-tree), что в большинстве случаев обеспечивает высокую скорость. Такую индексацию можно включить, добавив к команде mke2fs параметр -O dir_index. Короче говоря, ext3 — превосходная файловая система.

  3. ReiserFS — файловая система, построенная на B*-деревьях. У нее очень хорошая скорость, и она намного (часто в 10-15 раз) быстрее ext2 и ext3 при работе с маленькими файлами (менее 4КБ). ReiserFS также великолепно масштабируется; в ней есть средства журналирования. На дату выхода ядра 2.4.18, ReiserFS признана стабильной и пригодной как для систем общего назначения, так и для крайних случаев типа создания больших томов, использования множества маленьких файлов, гигантских файлов или же каталогов с десятками тысяч файлов.

  4. XFS — это файловая система с журналированием метаданных и дополнительными средствами, оптимизированными для работы с максимальным объемом данных. Ее применение рекомендуется только в Linux-системах с высококлассными дисками SCSI или дисками с оптическим подключением (fibre-channel), при наличии источников бесперебойного питания. Из-за того, что XFS выполняет очень агрессивное промежуточное кэширование в оперативной памяти, при внезапном отключении питания очень вероятна потеря небрежно спроектированными программами (не принимающими адекватные меры предосторожности при записи файлов на диск, и таких довольно много) изрядного количества данных.

  5. JFS — высокопроизводительная журналируемая файловая система производства IBM. Она лишь недавно стала пригодной для широкого применения, и пока слишком мало данных, чтобы сказать что-то хорошее или плохое о ее общей стабильности.

1.4.4.3. Размещение файловой системы в разделе

Для создания в разделе или томе файловой системы каждого типа существуют специальные средства:

Файловая система Команда создания
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Например, чтобы у загрузочного раздела (/dev/hda1 в наших примерах) была файловая система ext2, а у корневого раздела (/dev/hda3 в наших примерах) — ext3, требуется выполнить:

Листинг 49. Создание файловых систем разделов

# mke2fs /dev/hda1
# mke2fs -j /dev/hda3


Теперь самостоятельно создайте файловые системы на своих только что созданных разделах (логических томах).

1.4.4.4. Подключение раздела подкачки

mkswap — команда, используемая для инициализации разделов подкачки:

Листинг 50. Создание идентификатора раздела подкачки

# mkswap /dev/hda2


Для подключения раздела подкачки воспользуйтесь swapon:

Листинг 51. Подключение раздела подкачки

# swapon /dev/hda2


Теперь командами, приведенными выше, создайте и подключите раздел подкачки в своей системе.

1.4.5. Монтирование

Теперь, когда разделы созданы, а файловые системы размещены, настало время смонтировать (подключить к системе) эти разделы. Используйте команду mount. Не забудьте создать для каждого раздела соответствующие каталоги монтирования. Например, смонтируем корневой и загрузочный разделы:

Листинг 52. Монтирование разделов

# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot


Примечание

Если вы хотите разместить каталог /tmp в отдельном разделе, не забудьте изменить права доступа к этому каталогу после монтирования: chmod 1777 /mnt/gentoo/tmp. Это также относится к /var/tmp.

Еще нам потребуется смонтировать файловую систему proc (виртуальный интерфейс ядра) в каталог /proc. Но сначала надо поместить в разделы нужные файлы.

Переходите к установке установочных файлов Gentoo.

1.5. Установка установочных файлов Gentoo

1.5.1. Установка архива стадии

1.5.1.1. Установка текущей даты и времени

Перед тем, как продолжать, убедитесь в правильности системной даты и времени, и при необходимости обновите их. Если часы установлены неверно, это в будущем может привести к странным результатам!

Для проверки времени, введите команду date:

Листинг 53. Проверка даты и времени

# date
Fri Mar 29 16:21:18 UTC 2007


Если часы установлены неправильно, измените время командой date ММДДччммГГГГГ (формат: Месяц, День, часы, минуты и Год). На этом этапе следует указывать время UTC. Позднее вы сможете установить свой часовой пояс. Например, для установки часов на 29 марта, 16:21, 2005 год, выполните:

Листинг 54. Установка даты и времени

# date 032916212007


1.5.1.2. Выбор источника

Следующий необходимый шаг — установка архива stage3 на вашу систему. Нужный архив можно скачать из интернета, или, если вы загрузились с универсального установочного диска Gentoo, скопировать с самого диска. Если у вас есть универсальный диск, а на нем — нужная стадия, то загрузка из интернета — лишняя трата трафика и времени, т.к. файлы стадии окажутся совершенно одинаковы. В большинстве случаев, определиться с выбором архива стадии вам поможет команда uname -m.

по умолчанию: использование файла стадии из интернета

альтернатива: использование файла стадии с установочного диска

1.5.2. По умолчанию: использование файла стадии из интернета

1.5.2.1. Загрузка архива стадии

Перейдите в точку подключения файловой системы Gentoo (обычно — /mnt/gentoo):

Листинг 55. Переход к точке подключения Gentoo

# cd /mnt/gentoo


Для загрузки файла стадии у вас уже есть различные инструменты, зависящие от типа диска, с которого производится установка. Если имеется links, можете сразу открыть список зеркал Gentoo и выбрать ближайшее.

Когда links нет, в вашем распоряжении должен оказаться lynx. Если требуется использовать прокси-сервер, экспортируйте переменные http_proxy и ftp_proxy:

Листинг 56. Настройка информации о прокси-сервере для lynx

# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"


Предположим, у вас под рукой есть links.

Перейдите в каталог releases/, в нем откройте каталог, соответствующий вашей архитектуре (например, x86/), затем каталог с версией Gentoo (2006.1/), и, наконец, каталог stages/. Здесь находятся все доступные архивы стадий для вашей архитектуры (они могут располагаться в подкаталогах с названиями разновидностей архитектуры). Выберите один из них и нажмите D для загрузки. По окончании — нажмите Q, чтобы выйти из браузера.

Листинг 57. Открытие списка зеркал в links

# links http://www.gentoo.org/main/ru/mirrors.xml

(если в links нужна поддержка прокси-сервера:)
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/ru/mirrors.xml


Удостоверьтесь, что вы скачали stage3-архив — установка с использованием файлов stage1 и stage2 более не поддерживается.

Если вы хотите проверить целостность загруженного архива стадии, с помощью md5sum сравните результат с контрольной суммой MD5, взятой с зеркала. Например, для проверки целостности архива стадии для x86:

Листинг 58. Пример проверки целостности архива стадии

# md5sum -c stage3-x86-2007.0.tar.bz2.DIGESTS
stage3-x86-2007.0.tar.bz2: OK


1.5.2.2. Распаковка архива стадии

Распакуйте загруженный архив стадии в своей системе. Мы используем tar, т.к. это простейший способ:

Листинг 59. Распаковка архива стадии

# tar xvjpf stage3-*.tar.bz2


  1. Убедитесь, что вы используете точно такие же параметры командной строки (xvjpf). Значения параметров:

  2. x — извлечение;

  3. v — подробные сообщения, чтобы видеть, что происходит во время распаковки (необязательный параметр);

  4. j — декомпрессия bzip2;

  5. p — сохранение прав доступа;

  6. f — указывает на то, что мы распаковываем файл, а не то, что подается на стандартный ввод.

Примечание

На установочных компакт-дисках и загрузочных образах для некоторых архитектур (например, MIPS) tar встроен в оболочку BusyBox, которая на данный момент не поддерживает параметр v. Тогда вместо приведенных указывайте параметры xjpf.

После развертывания установки стадии переходите к установке дерева портежей.

1.5.3. Альтернатива: использование файла стадии с установочного диска

1.5.3.1. Извлечение архива стадии

Важно: Если вы — в x86 и используете «живой диск» с установщиком, на нем нет стадий. Вам понадобится последовать указаниям по использованию файла стадии из интернета.

Архивы стадий находятся на компакт-диске в каталоге /mnt/cdrom/stages. Для получения списка доступных стадий, воспользуйтесь ls:

Листинг 60. Список доступных архивов стадий

# ls /mnt/cdrom/stages


Если система сообщает об ошибке, возможно, сначала нужно смонтировать CD-ROM:

Листинг 61. Монтирование CD-ROM

# ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory
# mount /dev/cdroms/cdrom0 /mnt/cdrom
# ls /mnt/cdrom/stages


Перейдите в точку подключения Gentoo (обычно — /mnt/gentoo):

Листинг 62. Смена каталога на /mnt/gentoo

# cd /mnt/gentoo


Теперь утилитой tar распакуем выбранный архив стадии. Убедитесь, что вы используете точно такие же параметры (xvjpf)! Параметр v необязателен и может не работать в некоторых версиях tar. В следующем примере мы распакуем архив стадии stage3-<архитектура>-2006.1.tar.bz2. В качестве имени архива обязательно указывайте название файла нужной вам стадии.

Листинг 63. Распаковка архива стадии

# tar xvjpf /mnt/cdrom/stages/stage3-<архитектура>-2007.0.tar.bz2


После установки стадии переходите к установке дерева портежей.

1.5.4. Установка дерева портежей

1.5.4.1. Распаковка снимка портежей

Теперь вам нужно установить снимок дерева портежей — набор файлов, содержащих сведения для Portage о программном обеспечении, доступном для установки, имеющихся профилях и т.д.

1.5.4.2. Загрузка и установка снимка дерева портежей

Перейдите к точке подключения вашей системы (обычно — /mnt/gentoo):

Листинг 64. Переход к точке подключения

# cd /mnt/gentoo


Запустите links (или lynx) и откройте спискок зеркал Gentoo. Выберите ближайшее зеркало и перейдите в каталог snapshots/. Оттуда загрузите новейший снимок дерева портежей (portage-latest.tar.bz2), выбрав его из списка и нажав D.

Листинг 65. Просмотр списка зеркал Gentoo

# links http://www.gentoo.org/main/ru/mirrors.xml


Закройте браузер нажатием Q. Теперь у вас в /mnt/gentoo появился снимок дерева портежей.

Если нужно убедиться в целостности загруженного снимка, воспользуйтесь md5sum, и сравните результат с контрольной суммой MD5, имеющейся на зеркале.

Листинг 66. Checking integrity of a Portage snapshot

# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK


Теперь нужно распаковать снимок. Убедитесь в том, что вы используете в точности такие же параметры; последний параметр — заглавная C, а не строчная c.

Листинг 67. Извлечение снимка дерева портежей

# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr


1.5.5. Настройка параметров компиляции

1.5.5.1. Введение

Для оптимизации Gentoo вы можете создать ряд переменных, которые повлияют на поведение Portage. Все их можно создавать как переменные среды (с помощью export), но тогда они будут лишь временными. Для хранения ваших настроек предназначен конфигурационный файл Portage, /etc/make.conf. Именно его мы сейчас будем редактировать.

Примечание

Список и описание всех допустимых переменных находятся в файле /mnt/gentoo/etc/make.conf.example. Для успешной установки Gentoo, достаточно установить значения только тех переменных, которые описаны ниже.

Запустите ваш любимый редактор (в этом руководстве используется nano) для изменения параметров оптимизации, которые обсуждаются далее.

Листинг 68. Открытие /etc/make.conf

# nano -w /mnt/gentoo/etc/make.conf


Как вы могли заметить, у файла make.conf.example обычная структура: строки комментария начинаются со знака «#», а в остальных строках выражениями вида ПЕРЕМЕННАЯ="значение" определяются переменные. У файла make.conf такой же формат. Некоторые из переменных мы обсудим ниже.

1.5.5.2. CHOST

В переменной CHOST определяется, для какой архитектуры скомпилирована система. В ней уже должно быть установлено правильное значение. Не изменяйте эту переменную, т.к. это может повредить вашу систему. Если переменная CHOST, по-вашему, выглядит неправильно, возможно, вы используете не тот архив stage3.

1.5.5.3. CFLAGS и CXXFLAGS

Переменные CFLAGS и CXXFLAGS определяют параметры оптимизации компилятора gcc для языков C и C++, соответственно. При том, что общие значения следует устанавливать здесь, максимальная производительность достигается в том случае, когда для каждой компилируемой программы устанавливаются свои собственные оптимальные параметры. Причина в том, что все программы различны.

В файле make.conf следует указывать параметры оптимизации, которые, на ваш взгляд, повысят скорость системы в целом. Не помещайте сюда экспериментальные значения; излишняя оптимизация может привести к плохому поведению программ (аварийным завершениям, или, что хуже, неправильной работе).

Мы не будем описывать все возможные параметры оптимизации. Если вы хотите узнать о них всё, почитайте онлайновые руководства GNU (англ.) или страницу описания gcc (info gcc — доступна только на работающей системе Linux). Не забудьте прочитать сам файл make.conf.example: в нем также есть немало примеров и полезных сведений.

Первый параметр — флаг -march=, где указывается название целевой архитектуры. Возможные варианты описаны в комментариях в файле make.conf.example. Например, для архитектуры x86 Athlon XP:

Листинг 69. Значение -march для GCC

# пользователям AMD64, желающим получить действительно 64-битную
# систему, следует использовать -march=k8
# пользователи EM64T должны указать -march=nocona
-march=athlon-xp


Примечание

(JohnBat26) (обновлено в 1.5): Если Вы используете компилятор версии 4.2.0 и выше, то вместо указания специфичного типа процессора, можно указывать одно из двух (в параметрах: -march и -mtune):

  1. generic: если Вы хотите, чтобы Ваш скомпилированный код запускался на всех процессорах, архитектуры x86;

  2. native: если Вы хотите оптимизировать код только для Вашего процессора. В этом случае компилятор будет брать сведения о процессоре путем вызова cpuid !

Следующий — флаг -O (заглавная латинская «O», а не ноль), определяющий класс оптимизации в gcc. Допустимые значения:

  1. s — оптимизация по размеру;

  2. 0 — ноль, без оптимизации;

  3. 1, 2 или 3 — все большая оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные).

Например, для оптимизации класса 2:

Листинг 70. Значение -O для GCC

-O2


Другой популярный флаг оптимизации — -pipe (использование для связи между различными проходами компилятора каналов вместо временных файлов).

Заметьте, что использование -fomit-frame-pointer (не хранить в регистре указатель стекового кадра для функций, которым он не нужен) может всерьез помешать отладке программ!

При определении переменных CFLAGS и CXXFLAGS, нужно объединять несколько флагов оптимизации, как в следующем примере:

Листинг 71. Определение переменных CFLAGS и CXXFLAGS (gcc < 4.2.0)

CFLAGS="-march=athlon-xp -pipe -O2"  # для пользователей AMD64: -march=k8
                                     # для пользователей EM64T: -march=nocona
CXXFLAGS="${CFLAGS}"                 # указывайте одинаковые значения  обеих переменных


1.5.5.4. MAKEOPTS

С помощью MAKEOPTS определяется, сколько параллельных процессов компиляции можно запускать при установке пакета. Хороший (но не всегда идеальный) вариант — значение, равное количеству процессоров в системе плюс один.

Листинг 72. MAKEOPTS для обычной однопроцессорной системы

MAKEOPTS="-j2"


1.5.5.5. На старт, внимание, марш!

Измените /mnt/gentoo/etc/make.conf в соответствии со своими пожеланиями, и сохраните изменения (пользователям nano нужно нажать CTRL+X). Теперь вы готовы к установке базовой системы Gentoo.

1.6. Установка базовой системы Gentoo

1.6.1. Изменение корневого каталога

1.6.1.1. Дополнительно: выбор зеркала

Для ускорения загрузки исходного кода рекомендуется выбрать быстрое зеркало. Portage ищет переменную GENTOO_MIRRORS в файле make.conf и использует зеркала, перечисленные в ней. Конечно, можно просмотреть наш список зеркал и выбрать одно или несколько, географически ближайших к вам (чаще всего они и будут самыми быстрыми), но мы предлагаем вам удобную утилиту mirrorselect, которая позволяет выбрать желаемые зеркала более удобным способом.

Листинг 73. Запуск mirrorselect для установки переменной GENTOO_MIRRORS

# mirrorselect -i -o >>/mnt/gentoo/etc/make.conf


Внимание

Не выбирайте зеркала IPv6. Файлы стадий пока не поддерживают протокол IPv6.

Вторая важная настройка — установка значения переменной SYNC в файле make.conf. Эта переменная указывает на сервер rsync (сервер удаленной синхронизации), выбранный вами для обновления дерева Portage (коллекции файлов ebuild — сборочных сценариев, содержащих все данные, нужные Portage для скачивания и установки программ). Хотя вписать адрес сервера в SYNC можно и вручную, mirrorselect позволяет упростить это действие:

Листинг 74. Выбор зеркала rsync с помощью mirrorselect

# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf


После выполнения mirrorselect, мы рекомендуем проверить все значения в файле /mnt/gentoo/etc/make.conf!

1.6.1.2. Копирование сведений о DNS

Перед тем, как перейти в новую среду, осталось сделать одно дело: скопировать информацию о DNS (системе доменных имен) в файл /etc/resolv.conf. Это нужно, чтобы при переходе сохранить работоспособность сети. В файле /etc/resolv.conf содержатся адреса серверов имен, используемых в вашей сети.

Листинг 75. Копирование информации о DNS

(параметр «-L» нужен, чтобы случайно не скопировать
 символьную ссылку)
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf


1.6.1.3. Монтирование файловых систем /proc и /dev

Смонтируйте файловую систему /proc в /mnt/gentoo/proc, чтобы после изменения корневого каталога устанавливаемая система смогла обращаться к информации, предоставляемой ядром, а затем создайте привязку монтирования файловой системы /dev.

Листинг 76. Монтирование /proc и /dev

# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev


1.6.1.4. Переход в новую среду

Итак, все разделы подготовлены, а базовая операционная среда установлена. Теперь пора войти в нее, изменив корневой каталог. Таким образом, мы перейдем из текущей установочной среды (с компакт-диска или другого установочного носителя) в свою устанавливаемую систему (находящуюся в недавно размеченных разделах).

Изменение выполняется в три этапа:

  1. Сначала мы с помощью chroot изменим корневой каталог с / (находящийся на  установочном носителе) на /mnt/gentoo (находящийся на ваших дисковых разделах).

  2. Затем мы создадим новую среду, пользуясь утилитой env-update, которая, собственно, создает переменные среды.

  3. Наконец, мы загрузим эти переменные в память при помощи source.

Листинг 77. Изменение корневого каталога для перехода в новую среду

# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"


Поздравляем! Теперь вы в своей собственной среде Gentoo Linux. Конечно, на этом она далеко еще не готова, поэтому в руководстве еще осталось несколько разделов :-)

1.6.2. Настройка Portage

1.6.2.1. Обновление дерева Portage

Теперь надо обновить дерево Portage до самой последней версии с помощью команды emerge --sync:

Листинг 78. Обновление дерева портежей

# emerge --sync
(если вы пользуетесь медленным терминалом, например, последовательным
 терминалом или кадровым буфером, для ускорения процесса можно добавить 
 параметр --quiet :) 
# emerge --sync --quiet


Если компьютер подключен к интернету через межсетевой экран, блокирующий прохождение rsync-пакетов, вы можете воспользоваться командой emerge-webrsync, которая скачивает и устанавливает снимок дерева.

Если выдано предупреждение, что имеется новая версия Portage и ее нужно обновить, выполните обновление командой emerge portage.

1.6.2.2. Выбор нужного профиля

Сначала дадим небольшое определение.

Профиль — конструктивный элемент любой системы Gentoo. В нём указываются не только значения по умолчанию для CHOST, CFLAGS и других важных переменных, он также привязывает систему к определенному диапазону допустимых версий пакетов. Диапазоны поддерживаются разработчиками Gentoo.

Раньше пользователь редко касался профиля. Однако, пользователи х86, hppa и alpha могут выбирать из двух вариантов профиля: одного для ядра 2.4, другого для ядра 2.6. Это вызвано необходимостью улучшения интеграции ядер 2.6. Для архитектур ppc и ppc64 также существует несколько профилей. Мы поговорим о них позже.

Узнать, какой профиль используется в системе в данный момент, вы можете командой:

Листинг 79. Выяснение используемого профиля

# ls -FGg /etc/make.profile
lrwxrwxrwx  1 48 Apr  8 18:51 /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2007.0/


Если вы используете одну из трех упомянутых архитектур, профиль по умолчанию даст вам систему с ядром 2.6. Это рекомендуется по умолчанию, но за вами сохраняется и право выбора другого профиля.

Для некоторых архитектур также предусмотрены подпрофили desktop и server. Загляните в профиль 2007.0/, чтобы узнать, есть ли подпрофили для вашей архитектуры. Возможно, вы захотите заглянуть в make.defaults профиля desktop, чтобы определить, подходит ли он вам.

Некоторым пользователям, возможно, захочется установить систему, основанную на старом профиле, с ядром 2.4. Если для этого есть веские основания, сначала надо проверить, существует ли такой дополнительный профиль. На системах x86 это можно сделать следующей командой:

Листинг 80. Выяснение наличия дополнительного профиля

# ls -d /usr/portage/profiles/default-linux/x86/no-nptl/2.4
/usr/portage/profiles/default-linux/x86/no-nptl/2.4


В приведенном примере дополнительный профиль 2.4 существует (т.е. нет сообщений об отсутствующем файле или каталоге). Рекомендуется использовать профиль по умолчанию, но если вы все же хотите сменить его, это можно сделать так:

Листинг 81. Переключение профиля на 2.4

(убедитесь, что используете нужную архитектуру; этот пример - для x86)
# ln -snf /usr/portage/profiles/default-linux/x86/no-nptl/2.4 /etc/make.profile
(вывод списка файлов в профиле 2.4)
# ls -FGg /etc/make.profile/
total 12
-rw-r--r--  1 939 Dec 10 14:06 packages
-rw-r--r--  1 347 Dec  3  2004 parent
-rw-r--r--  1 573 Dec  3  2004 virtuals


Для архитектуры ppc в выпуске 2006.1 появилось несколько новых профилей:

Листинг 82. Профили для PPC

(базовый профиль PPC, подходит для всех PPC-машин, минимальный)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1 /etc/make.profile
(профиль для G3)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3 /etc/make.profile
(профиль для G3 Pegasos)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3/Pegasos/ /etc/make.profile
(профиль для G4 (Altivec))
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4 /etc/make.profile
(профиль для G4 (Altivec) Pegasos)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4/Pegasos/ /etc/make.profile


Для архитектуры ppc64 в выпуске 2006.1 также появилось несколько новых профилей:

Листинг 83. Профили для PPC64

(базовый профиль PPC64 с 64-битным режимом пользователя, для всех PPC64-машин)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/64bit-userland /etc/make.profile
(базовый профиль PPC64 с 32-битным режимом пользователя, для всех PPC64-машин)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/32bit-userland /etc/make.profile
(для каждого режима пользователя существуют подпрофили, как показано ниже.)
(«userland» необходимо заменять на нужный вариант режима из примеров выше)
(профиль 970 для JS20)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970 /etc/make.profile
(профиль для G5)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970/pmac /etc/make.profile
(профиль для POWER3)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power3 /etc/make.profile
(профиль для POWER4)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power4 /etc/make.profile
(профиль для POWER5)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power5 /etc/make.profile
(многорежимные профили на дату выхода этого выпуска нестабильны)


1.6.3. Настройка переменной USE

USE («использовать») — одна из самых мощных переменных, имеющихся в распоряжении пользователей Gentoo. Она позволяет при компиляции программ включать или отключать поддержку определенных необязательных функций. Например, некоторые программы можно компилировать с поддержкой gtk или qt на выбор. Другие можно собирать, включая или отключая поддержку SSL. Некоторые программы можно даже компилировать с поддержкой кадрового буфера (svgalib) вместо поддержки X11 (X-сервера).

В большинстве дистрибутивов пакеты собраны с поддержкой практически всех мыслимых вариантов. Это увеличивает размер программ и время запуска, не говоря уже о чрезмерных зависимостях. В Gentoo вы сами можете определять, с какими возможностями следует компилировать пакет. Здесь играет роль переменная USE.

В переменной USE указываются ключевые слова, которые отражаются на параметрах компиляции. Например, параметр ssl включает компиляцию с поддержкой ssl всех программ, которые способны его поддерживать. -X отключает поддержку X-сервера (обратите внимание на предшествующий знак «минус»). Параметры gnome gtk -kde -qt обеспечивают компиляцию ваших программ с поддержкой Gnome и gtk, но без поддержки KDE и qt, делая систему оптимальной для GNOME.

Настройки USE по умолчанию хранятся в файлах make.defaults вашего профиля. Файлы make.defaults находятся в каталоге, на который указывает /etc/make.profile, а также во всех родительских каталогах. Значение USE по умолчанию — это сумма всех значений USE во всех файлах make.defaults. Все, что вы вносите в /etc/make.conf, рассчитывается относительно этих значений. Когда вы добавляете что-либо к значению USE, оно добавляется в список по умолчанию. Когда удаляете что-либо (указывая ключевое слово с предшествующим знаком минус), оно удаляется из списка по умолчанию (если оно там вообще было). Никогда ничего не меняйте в /etc/make.profile. Все, что там находится, перезаписывается при обновлении Portage!

Полное описание переменной USE находится во второй части настольной книги Gentoo в главе USE-флаги. Полное описание возможных значений признаков использования находится в вашей системе в файле /usr/portage/profiles/use.desc.

Листинг 84. Просмотр допустимых USE-флагов

# less /usr/portage/profiles/use.desc
(для прокрутки пользуйтесь клавишами стрелок, для выхода нажимайте "q")


Например, приведем значение USE для системы, базирующейся на KDE, с включением поддержки DVD, ALSA и записи CD:

Листинг 85. Открытие файла /etc/make.conf

# nano -w /etc/make.conf


Листинг 86. Значение USE

USE="-gtk -gnome qt kde dvd alsa cdr"


1.6.4. Дополнительно: региональные параметры GLIBC

Скорее всего, вы будете использовать в системе один-два набора региональных параметров. Нужные регионы можно указать в /etc/locale.gen.

Листинг 87. Открытие /etc/locale.gen

# nano -w /etc/locale.gen


Вот пример одновременного подключения как английского (США), так и немецкого (Германия) с соответствующими кодировками (например, UTF-8).

Листинг 88. Укажите свои региональные настройки

en_US/ISO-8859-1
en_US.UTF-8/UTF-8
de_DE/ISO-8859-1
de_DE@euro/ISO-8859-15


Следующий шаг — запустить locale-gen. Это сгенерирует настройки для всех регионов, указанных вами в файле /etc/locale.gen.

Примечание

locale-gen имеется в glibc-2.3.6-r4 и более новой. Если у вас старшая версия glibc, сейчас ее следует обновить.

Примечание

Настройки, подобной приведенной, для поддержки русского языка недостаточно. За дополнительными сведениями обращайтесь к отдельным руководствам по русификации Gentoo. — прим. пер.

Теперь приступим к настройке ядра.

1.7. Настройка ядра

1.7.1. Часовой пояс

Сначала необходимо выбрать часовой пояс (time zone), чтобы система знала, где вы находитесь. Найдите подходящий пояс в /usr/share/zoneinfo, затем скопируйте его в /etc/localtime. Постарайтесь, пожалуйста, избегать использования часовых поясов /usr/share/zoneinfo/Etc/GMT*, т. к. их названия не соответствуют ожидаемым поясам. Например, GMT-8 фактически является поясом GMT+8.

Листинг 89. Установка часового пояса

# ls /usr/share/zoneinfo
(допустим, вы хотите использовать GMT)
# cp /usr/share/zoneinfo/GMT /etc/localtime


Примечание

(JohnBat26): Если возникают проблемы со временем (особенно с часовыми поясами), то выполните следующее (получено с форума):

  1. Выставите правильное время.

  2. Удалите файл /etc/adjtime. Все, часы идут при перезагрузке нормально.

  3. nano -w /etc/conf.d/clock.   Ставьте там вместо UTC Local,и все!!!

1.7.2. Установка исходных кодов ядра

1.7.2.1. Выбор ядра

Ядро Linux — это то, вокруг чего формируются все дистрибутивы. Это слой между пользовательскими программами и вашим оборудованием. Пользователи Gentoo могут выбирать из нескольких типов ядра. Их полный список и описание находится в руководстве по выбору ядра Gentoo (англ.).

Для x86 систем, помимо прочего, есть такие ядра, как

  1. vanilla-sources (ядро по умолчанию от разработчиков linux ядра);

  2. gentoo-sources (ядро с заплатками, улучшающими производительность).

С помощью команды emerge выберите и установите ядро. USE="-doc" требуется, чтобы на этом этапе избежать установки xorg-x11 или других связанных пакетов. USE="symlink" при новой установке не требуется, но обеспечивает правильное создание символьной ссылки /usr/src/linux:

Листинг 90. Установка исходных кодов ядра

# USE="-doc symlink" emerge gentoo-sources


Просмотрев содержимое каталога /usr/src, вы увидите символьную ссылку linux, которая указывает на каталог с исходными кодами ядра. В данном случае, установленный исходный код ядра указывает на gentoo-sources-2.6.12-r10. Имейте в виду, что ваша версия может отличаться.

Листинг 91. Просмотр папки с исходными кодами ядра

# ls -l /usr/src/linux
lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10


Теперь настало время настройки и компиляции ядра. Можно использовать сценарий genkernel, который сформирует стандартное ядро, аналогичное используемому на установочном компакт-диске. Однако сначала мы расскажем о «ручной» настройке ядра, так как это лучший из способов оптимизации системы.

Если вы собираетесь настроить ядро вручную, то переходите к разделу по умолчанию: ручная настройка. Если вы хотите использовать genkernel, то читайте альтернатива: использование genkernel.

1.7.3. По умолчанию: ручная настройка

1.7.3.1. Введение

Ручная настройка ядра считается одним из самых сложных вопросов для пользователей Linux. Зато после настройки нескольких вариантов ядра вы и не вспомните, что это когда-то было трудно ;)

Однако есть одна непреложная истина: запуская ручную настройку ядра, следует знать состав аппаратуры своего компьютера. Большую часть информации можно собрать, установив пакет pciutils (emerge pciutils), в который входит lspci. lspci можно использовать, находясь в среде с временным корневым каталогом. Можно не обращать внимания на предупреждения, касающиеся pcilib (например: pcilib: cannot open /sys/bus/pci/devices [pcilib: не могу открыть /sys/bus/pci/devices]), которые выводит на экран lspci. Можно запустить lspci и вне временной среды установки. Результат тот же. Вы также можете запустить lsmod для просмотра модулей ядра, используемых установочным компакт-диском (это даст хорошую подсказку, какие параметры включать).

Теперь войдите в каталог с исходными кодами ядра и введите команду make menuconfig. Этой командой вы вызовете меню настройки, использующее ncurses.

Листинг 92. Вызов меню настройки

# cd /usr/src/linux
# make menuconfig


Перед вами появятся несколько разделов настройки. Сначала перечислим пункты, включение которых обязательно (иначе Gentoo не заработает, или для его работы потребуются дополнительные ухищрения).

1.7.3.2. Включение нужных пунктов

Прежде всего, разрешите использование разрабатываемого и экспериментального кода и драйверов. Без этого не появятся некоторые важные пункты:

Листинг 93. Выбор экспериментальных кодов/драйверов, основные параметры

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers"
General setup  --->
  [*] Support for hot-pluggable devices


Удостоверьтесь, что каждый драйвер, жизненно необходимый для загрузки системы (например, SCSI-контроллера), собран внутри ядра, а не как модуль, иначе система совсем не сможет загрузиться.

Далее выберите нужное семейство процессоров:

Листинг 94. Выбор подходящего семейства процессоров

Processor type and features --->
  (измените в соответствии со своей системой)
  (Athlon/Duron/K7) Processor family


Теперь войдите в File Systems и выберите поддержку всех нужных файловых систем. Не компилируйте их как модули, иначе система Gentoo не сможет смонтировать дисковые разделы. Также выберите Virtual memory и /proc file system. При использовании ядра 2.4, вам потребуется включить /dev file system, т.к. это ядро не поддерживает udev.

Листинг 95. Выбор необходимых файловых систем

(при использовани ядра 2.4.x)
File systems --->
  [*] Virtual memory file system support (former shm fs)
  [*] /proc file system support
  [*] /dev file system support (EXPERIMENTAL)
  [*]   automatically mount /dev at boot
  [ ] /dev/pts file system for Unix98 PTYs

(при использовании ядра 2.6.x)
File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)

(включите поддержку всех нужных вам файловых систем)
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support


Если ваш BIOS не поддерживает жесткие диски большого размера, и вы ограничили перемычками сообщаемый диском объем, то для получения доступа ко всему диску нужно включить следующие параметры ядра:

Листинг 96. Включение поддержки автокоррекции геометрии

(только в ядре 2.4.x)
ATA/IDE/MFM/RLL support --->
  IDE, ATA and ATAPI Block devices --->
    <*>   Include IDE/ATA-2 DISK support
    [ ]     Use multi-mode by default
    [*]     Auto-Geometry Resizing support


Не забудьте включить поддержку режима DMA для ваших дисков:

Листинг 97. Включение DMA

Device Drivers --->
  ATA/ATAPI/MFM/RLL support --->
    [*] Generic PCI bus-master DMA support
    [*]   Use PCI DMA by default when available


Если вы используете PPPoE или коммутируемого соединения для соединения с интернетом, потребуется включить в ядре следующие функции:

Листинг 98. Выбор нужных драйверов PPPoE

(при использовании ядра 2.4.х)
Network device support --->
  <*> PPP (point-to-point protocol) support
  <*>   PPP support for async serial ports
  <*>   PPP support for sync tty ports
  
(при использовании ядра 2.6.x)
Device Drivers --->
  Networking support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports


Два параметра сжатия данных не являются обязательными, но и не повредят. То же относится и к параметру PPP over Ethernet который нужен только для rp-pppoe, для поддержки PPPoE в режиме ядра.

При необходимости, не забудьте включить в ядре поддержку своей сетевой платы.

Если у вас процессор Intel с поддержкой HyperTreading или многопроцессорная система, следует включить «симметричную многопроцессорную обработку»:

Листинг 99. Включение поддержки SMP

Processor type and features  ---> 
  [*] Symmetric multi-processing support


Если вы пользуетесь устройствами ввода на шине USB, (например, мышью или клавиатурой), не забудьте включить их поддержку:

Листинг 100. Включение поддержки USB для устройств ввода

USB Support --->
  <*>   USB Human Interface Device (full HID) support


Владельцам ноутбуков, которым нужна поддержка PCMCIA, не нужно включать драйверы PCMCIA в ядре, выбрав ядро версии 2.4. В пакете pcmcia-cs, который будет устанавливаться позже, есть более свежие драйверы. Пользователям ядра 2.6 следует использовать драйверы PCMCIA, включенные в ядро.

Наряду с включением поддержки PCMCIA в ядре 2.6, не забудьте включить поддержку моста PCMCIA своей системы:

Листинг 101. Включение поддержки PCMCIA для ядра 2.6

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  PCCARD (PCMCIA/CardBus) support  --->
    <*> PCCard (PCMCIA/CardBus) support
(если нужно (обычно нужно), включите поддержку старых 16-битных карт PCMCIA)
    <*>   16-bit PCMCIA support
    [*]   32-bit CardBus support
(выберите наиболее подходящий мост)
    --- PC-card bridges
    <*> CardBus yenta-compatible bridge support (NEW)
    <*> Cirrus PD6729 compatible bridge support (NEW)
    <*> i82092 compatible bridge support (NEW)
    <*> i82365 compatible bridge support (NEW)
    <*> Databook TCIC host bridge support (NEW)


Закончив настройку ядра, приступайте к компиляции и установке.

1.7.3.3. Компиляция и установка

Теперь, когда ядро настроено, настало время его скомпилировать и установить. Выйдите из настройки и запустите процесс компиляции:

Листинг 102. Компиляция ядра

(для ядра 2.4)
# make dep && make bzImage modules modules_install

(для ядра 2.6)
# make && make modules_install


По завершении компиляции, скопируйте образ ядра в каталог /boot. Используйте любое имя, которое вам покажется подходящим для избранного ядра, и запомните его, так как позже при настройке начального загрузчика оно потребуется. Не забудьте заменить <версия-ядра> на имя и версию своего ядра.

Листинг 103. Установка ядра

# cp arch/i386/boot/bzImage /boot/<версия-ядра>


Теперь переходите к модулям ядра.

1.7.4. Альтернатива: использование genkernel

Если вы читаете эти строки, значит, вы собираетесь использовать наш сценарий genkernel для настройки ядра за вас.

Теперь когда исходные коды ядра установлены, настало время скомпилировать ядро, собрав его автоматически при помощи сценария genkernel. genkernel выполняет настройку ядра практически так же, как настраивается ядро на установочном компакт-диске. То есть система, ядро которой собрано genkernel, как правило, будет выполнять определение всех устройств при загрузке. Поскольку genkernel не требует никакой ручной настройки ядра, это идеальное решение для тех, кому неуютно от одной мысли, что придется компилировать ядро.

Рассмотрим, как использовать genkernel. Сначала установите его:

Листинг 104. Установка genkernel

# emerge genkernel


Теперь, если вы собираетесь использовать ядро ветви 2.6, скопируйте настройку ядра, используемую установочным диском, в каталог, где genkernel ищет настройку по умолчанию:

Листинг 105. Копирование файла настройки ядра с установочного диска

(только если вы собираетесь настраивать ядро 2.6.х)
# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6


Теперь скомпилируйте исходный код ядра, запустив genkernel all. Имейте в виду, что компиляция займет приличное время, поскольку genkernel собирает ядро, поддерживающее практически любое оборудование.

Если в загрузочном разделе не используется файловая система ext2 или ext3, то вам придется вручную настроить ядро, запустив genkernel --menuconfig all, добавив поддержку используемой файловой системы в ядро (т.е. не модулем). Пользователям EVMS2 или LVM2, вероятно, захочется также добавить параметр командной строки --evms2 или --lvm2.

Листинг 106. Запуск genkernel

# genkernel all


В итоге работы genkernel будет создано ядро, полный набор модулей и начальный корневой диск (initrd). Ядро и initrd будут использоваться в процессе настройки загрузчика системы, которая описана далее в руководстве. Запишите имена ядра и начального корневого диска, так как они понадобятся при составлении конфигурационного файла загрузчика. initrd запускается сразу при начальной загрузке, выполняя автоматическое определение устройств (точно так же, как при запуске установочного диска), до запуска «настоящей» системы.

Листинг 107. Уточнение названия созданного образа ядра и initrd

# ls /boot/kernel* /boot/initramfs*


Теперь давайте еще на шаг приблизим нашу систему к установочному диску: соберем coldplug. Если initrd определяет оборудование, необходимое для загрузки системы, coldplug выполняет автоопределение всех остальных устройств. Для установки и подключения coldplug введите команду:

Листинг 108. Установка и подключение coldplug

# emerge coldplug
# rc-update add coldplug boot


1.7.5. Модули ядра

1.7.5.1. Настройка модулей

Модули, которые требуется загружать автоматически, нужно указать в /etc/modules.autoload.d/kernel-2.4 (или kernel-2.6). Также, при желании, модулям можно сообщить дополнительные параметры.

Для просмотра всех доступных модулей запустите команду find, заменив «<версия ядра>» на версию только что собранного ядра:

Листинг 109. Просмотр перечня доступных модулей

# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'


Например, для автоматической загрузки модуля 3c59x.o измените файл kernel-2.4 или kernel-2.6, указав в нем имя модуля.

Листинг 110. Изменение /etc/modules.autoload.d/kernel-2.4

(показан пример для ядра 2.4.x)
# nano -w /etc/modules.autoload.d/kernel-2.4


Листинг 111. /etc/modules.autoload.d/kernel-2.4 или kernel-2.6

3c59x


Теперь переходите к настройке параметров системы.

1.8. Настройка параметров системы

1.8.1. Параметры файловых систем

1.8.1.1. Что такое fstab?

В Linux все разделы, используемые системой, должны быть перечислены в /etc/fstab. В этом файле указываются точки подключения разделов (mountpoints, местоположение разделов в файловой системе), порядок подключения, а также дополнительные параметры (автоматический или ручной режим подключения, достаточность прав пользователя для подключения и т.п.)

1.8.1.2. Создание /etc/fstab

В /etc/fstab используется специальный формат. Каждая строка состоит из шести полей, разделяемых пробелами, знаками табуляции или их сочетанием. Каждое поле имеет свое назначение:

  1. Первое поле обозначает раздел (partition) (путь к файлу устройства).

  2. Второе поле указывает точку подключения (mountpoint), в которую монтируется раздел.

  3. Третье поле задает тип файловой системы (filesystem), используемой в разделе.

  4. В четвертом поле указываются параметры подключения (mountoptions), используемые mount при подключении раздела. Поскольку для каждой файловой системы существуют свои параметры, рекомендуется прочитать страницу справки по mount (man mount), где приведен их полный перечень. При указании нескольких параметров подключения их следует разделять запятыми.

  5. Пятое поле используется dump для определения, требуется ли резервное копирование раздела средствами dump. Обычно это поле можно просто установить в 0 (ноль).

  6. Шестое поле используется fsck для определения порядка проверки (check) файловых систем после некорректного завершения работы системы. Для корневой файловой системы рекомендуется значение 1, а для остальных — 2 (или 0, когда проверка файловой системы не требуется).

Важно

Вариант файла /etc/fstab по умолчанию, входящий в Gentoo, не является работоспособным. Вам потребуется создать свой собственный /etc/fstab.

Листинг 112. Открытие /etc/fstab

# nano -w /etc/fstab


Укажите правила, соответствующие вашей схеме разбивки, и добавьте правила для /proc, для tmpfs, для своих дисководов CD-ROM (если есть другие разделы или устройства, их тоже можно указать).

Теперь на основе приведенного примера создайте собственный файл /etc/fstab:

Параметр auto позволяет mount определять тип файловой системы автоматически (рекомендуется для съемных носителей, которые могут оказаться размечены в одной из множества существующих файловых систем), а user позволяет монтировать компакт-диски обычным пользователям.

Чтобы повысить быстродействие, большинству пользователей стоит добавить параметр noatime в параметры подключения, что приведет к ускорению за счет отключения регистрации отметки времени доступа к файлам (обычно в ней все равно нет необходимости):

Перепроверьте свой файл /etc/fstab, сохраните его, и выйдите из редактора, чтобы продолжить настройку.

Примечание (JohnBat26): пример моего /etc/fstab:

Листинг 113. Пример  /etc/fstab

/dev/sda2    /boot           ext2     defaults,noatime                                    1 2
/dev/sda5    /               xfs      defaults,noatime                                    0 1
/dev/sda3    none            swap     sw                                                  0 0
/dev/sda7    /home           xfs      defaults,noatime                                    0 1
/dev/sr0     /mnt/cdrom      auto     noauto,ro,user,iocharset=utf8                       0 0

# раздел с FAT32
/dev/sda1    /windows/c       vfat    auto,iocharset=utf8,quiet,user,umask=000,noatime    0 0

# раздел NTFS только для чтения
/dev/sda6    /windows/d      ntfs     auto,nls=utf8,umask=0,user,noatime                  0 0
/dev/sda8    /windows/e      vfat     auto,iocharset=utf8,user,quiet,umask=000,noatime    0 0
/dev/sda9    /home/media     xfs      defaults,noatime                                    0 1

# раздел NTFS для чтения и записи при помощи ntfs-3g
/dev/sda10   /mnt/windows/f  ntfs-3g  -o silent,umask=0,locale=ru_RU.utf8 

# NOTE: The next line is critical for boot!
proc         /proc           proc     defaults                                            0 0

# flash drive 
/dev/sdb     /mnt/flash      auto     user,noauto,rw,async,iocharset=utf8                 0 0
shm          /dev/shm        tmpfs    nodev,nosuid,noexec                                 0 0


1.8.2. Параметры сети

1.8.2.1. Hostname, Domainname и т. д.

Еще один вопрос, который нужно решить пользователю — как назвать свой компьютер. Он кажется довольно простым, но многие затрудняются дать подходящее имя для своей Linux-системы. Чтобы вам стало легче, запомните, что какое бы имя вы не выбрали, потом его всегда можно изменить. Например, вы могли бы просто назвать свою систему tux, а домен — homenetwork.

Листинг 114. Установка имени узла

# nano -w /etc/conf.d/hostname

(присвойте переменной HOSTNAME имя своего узла)
HOSTNAME="tux"


Во-вторых, установим имя домена (domainname) в /etc/conf.d/net:

Листинг 115. Установка имени домена

# nano -w /etc/conf.d/net

(присвойте переменной DNSDOMAIN имя своего домена)
dns_domain_lo="homenetwork"


Если у вас есть домен NIS (а если вы не знаете, что это такое, то у вас его точно нет), его также необходимо указать:

Листинг 116. Установка имени NIS-домена

# nano -w /etc/conf.d/net

(укажите название своего домена NIS переменной nis_domain)
nis_domain_lo="my-nisdomain"


1.8.2.2. Настройка сети

Прежде, чем возмутиться: «Эй, мы же все это уже делали!» — вспомните, что подключение к сети, настроенное вначале, было предназначено лишь для установки Gentoo. Теперь же вы настраиваете сеть для постоянного использования.

Примечание

Более подробные сведения о сетях, включая дополнительные темы, такие как объединение, образование мостов, настройка виртуальных сетей (VLAN) 802.1Q или беспроводных сетей, представлены в разделе настройка сети в Gentoo.

Все настройки сети собраны в файле /etc/conf.d/net. В нем используется простой формат, хотя, если вы не знакомы с ручной настройкой сети, он не слишком очевиден. Но не бойтесь, мы все объясним. В файле /etc/conf.d/net.example приведен подробно прокомментированный пример, охватывающий много различных конфигураций.

По умолчанию используется DHCP. Чтобы DHCP заработал, требуется установить DHCP-клиент, как описано далее в разделе Установка нужных системных средств. Не забудьте установить DHCP-клиент.

Если настройка сетевого подключения нужна вам для указания специфических параметров DHCP, или из-за того, что вы вообще не используете DHCP, откройте /etc/conf.d/net в своем любимом редакторе (в этом примере использован nano):

Листинг 117. Открытие /etc/conf.d/net для изменения

# nano -w /etc/conf.d/net


Вы увидите следующее:

Листинг 118. /etc/conf.d/net по умолчанию

# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d.  To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).

(# Этот пустой файл настройки приводит к автоматическому использованию
 # DHCP всеми сценариями net.* из /etc/init.d. Для создания более полной
 # настройки, пожалуйста, просмотрите /etc/conf.d/net.example, а свою
 # настройку сохраните в /etc/conf.d/net (в этом файле :]!).            )


Чтобы указать свой собственный адрес IP, маску сети и шлюз, потребуется настроить как config_eth0, так и routes_eth0:

Листинг 119. Ручная настройка параметров IP для eth0

config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default gw 192.168.0.1" )


Чтобы при использовании DHCP указать специфические параметры, определите config_eth0 и dhcp_eth0:

Листинг 120. Автоматическое получение адреса IP для eth0

config_eth0=( "dhcp" )
dhcp_eth0="nodns nontp nonis"


Список допустимых параметров дан в файле /etc/conf.d/net.example.

Если у вас несколько сетевых интерфейсов, повторите эти шаги для config_eth1, config_eth2 и т.д.

Теперь сохраните параметры и выйдите из редактора, чтобы продолжить настройку.

1.8.2.3. Автоматический запуск сетевого подключения при загрузке

Для запуска сетевых интерфейсов при загрузке необходимо добавить их в уровень запуска по умолчанию. Если у вас интерфейсы типа PCMCIA, пропустите этот шаг, поскольку интерфейсы PCMCIA запускаются сценарием инициализации PCMCIA.

Листинг 121. Добавление net.eth0 в уровень запуска default

# rc-update add net.eth0 default


Если у вас несколько сетевых интерфейсов, потребуется создать для них соответствующие сценарии инициализации net.eth1, net.eth2 и т.д. Для этого можно использовать ln:

Листинг 122. Создание дополнительных сценариев инициализации

# cd /etc/init.d
# ln -s net.lo net.eth1
# rc-update add net.eth1 default


1.8.2.4. Указание сетевых узлов

Теперь расскажем системе Linux о вашей сети. Эти сведения указываются в /etc/hosts, и помогают разрешению имен в IP-адреса для узлов, не обрабатываемых сервером имен. Требуется определить вашу систему. Также можно определить другие системы в сети, если вы не собираетесь устанавливать собственную систему DNS.

Листинг 123. Открытие /etc/hosts

# nano -w /etc/hosts


Листинг 124. Указание сведений об узлах сети

(определение текущей системы)
127.0.0.1     tux.homenetwork tux localhost

(определите другие машины в своей сети,
для этого у них должен быть статический IP-адрес.)

192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny


Чтобы продолжить настройку, сохраните файл и выйдите из редактора.

1.8.3. Параметры системы

1.8.3.1. Пароль root

Прежде всего, нужно установить пароль root (администратора), набрав:

Листинг 125. Установка пароля root

# passwd


Если вы хотите, чтобы root мог входить в систему через последовательный терминал, добавьте tts/0 в /etc/securetty:

Листинг 126. Добавление tts/0 to /etc/securetty

# echo "tts/0" >> /etc/securetty


1.8.3.2. Параметры системы

Для общей настройки системы в Gentoo используется /etc/rc.conf. Откройте /etc/rc.conf и с удовольствием прочитайте все комментарии, находящиеся в этом файле :)

Листинг 127. Открытие /etc/rc.conf

# nano -w /etc/rc.conf


Завершив изменение /etc/rc.conf сохраните файл и выйдите из редактора.

Как видите, этот файл подробно прокомментирован, что поможет вам в настройке необходимых конфигурационных переменных. Можно настроить систему на использование unicode, а также указать редактор по умолчанию и диспетчер отображения (например, gdm или kdm).

Для управления раскладками клавиатуры в Gentoo используется /etc/conf.d/keymaps. Для настройки своей клавиатуры измените его.

Листинг 128. Открытие /etc/conf.d/keymaps

# nano -w /etc/conf.d/keymaps


Будьте особенно тщательны при установке переменной раскладки клавиатуры (KEYMAP): выбрав неверную раскладку, вы можете получить непредсказуемый результат при попытке ввода с клавиатуры.

По завершении изменения /etc/conf.d/keymaps сохраните файл и выйдите из редактора.

Для настройки параметров часов в Gentoo используется /etc/conf.d/clock. Изменяйте его в соответствии со своими потребностями.

Если аппаратные часы вашей системы настроены не на часовой пояс UTC (Гринвич), в файл необходимо добавить строку CLOCK="local". В противном случае вы заметите сдвиг часового пояса.

После завершения настройки /etc/conf.d/clock сохраните файл и выйдите из редактора.

Переходите к установке нужных системных средств.

1.9. Установка нужных системных средств

1.9.1. Диспетчер устройств

Если вы используете ядро 2.4, и при этом устанавливаете Gentoo из файла третьей стадии (stage3), вам необходимо еще кое-что сделать. Так как теперь в Gentoo по умолчанию используется udev, а ядром 2.4 udev не поддерживается, вам потребуется установить devfsd, и убрать udev.

Листинг 129. Установка devfsd

(для тех, кто использует ядро 2.4.x при установке c третьей стадии)
# emerge --unmerge udev
# emerge devfsd


1.9.2. Системные службы журналирования

Некоторые средства не включены в архив stage3, поскольку одинаковые возможности можно обеспечить различными пакетами. Теперь вы сами выберете, какие именно установить.

Первый инструмент, который вам необходимо выбрать, должен дать системе возможность журналирования. У Unix и Linux превосходная история развития журналирования — при желании в файлах журналов можно регистрировать любой чих, происходящий в вашей системе. Это обеспечивается системной службой журналирования.

В Gentoo предлагается несколько служб журналирования на выбор. Это sysklogd, традиционный набор журналирующих демонов, syslog-ng, расширенная служба журналирования, и metalog — служба журналирования с очень гибкими возможностями настройки. Возможно, в Portage имеются и другие службы журналирования: количество доступных пакетов растет день ото дня.

Если вы планируете использовать sysklogd или syslog-ng, позднее может потребоваться установка logrotate, поскольку в этих службах журналирования не предусмотрен никакой механизм ротации системных журналов.

Чтобы установить выбранную службу журналирования, воспользуйтесь emerge, а затем добавьте ее в уровень запуска по умолчанию с помощью rc-update. В следующем примере показана установка syslog-ng. Вместо нее вы можете подставить другую службу журналирования:

Листинг 130. Установка системной службы журналирования

# emerge syslog-ng
# rc-update add syslog-ng default


1.9.3. Дополнительно: демон cron

Следующий демон — cron. Хотя он является дополнительным, и не обязателен для работы вашей системы, будет благоразумным установить его. Но что же такое демон cron? Демон cron выполняет команды по расписанию. Это очень удобно, когда нужно выполнять какие-либо команды регулярно (например, ежедневно, еженедельно или ежемесячно).

В Gentoo предлагаются три варианта демона cron на выбор: dcron, fcron и vixie-cron. Установка любого из них подобна установке системной службы журналирования. Однако, при установке dcron или fcron для настройки требуется выполнение дополнительной команды, а именно crontab /etc/crontab. Если вы не знаете, что выбрать, используйте vixie-cron.

При бессетевой установке доступен только vixie-cron. Если вам нужен другой демон cron, его можно установить позже.

Листинг 131. Установка демона cron

# emerge vixie-cron
# rc-update add vixie-cron default
(только если выбран dcron или fcron) # crontab /etc/crontab


1.9.4. Дополнительно: индексация файлов

Если вы хотите индексировать файлы в своей системе, чтобы быстро находить их с помощью locate, нужно установить sys-apps/slocate:

Листинг 132. Установка slocate

# emerge slocate


1.9.5. Утилиты для обслуживания файловых систем

Для проверки целостности файловых систем, создания дополнительных файловых систем, и т.п., вам потребуются определенные утилиты, состав которых зависит от используемых файловых систем.

В следующей таблице перечислены утилиты, которые необходимо устанавливать для обслуживания файловых систем различных типов:

Файловая система Утилиты Команда установки
XFS xfsprogs emerge xfsprogs
ReiserFS reiserfsprogs emerge reiserfsprogs
JFS xfsprogs emerge jfsutils

Если вы используете EVMS, также необходимо установить evms:

Листинг 133. Установка утилит EVMS

# USE="-gtk" emerge evms


USE="-gtk" предотвратит установку пакетов, от которых зависит данный. При желании включить графические средства evms, потом можно перекомпилировать evms.

Если вам не нужны никакие дополнительные сетевые средства (типа rp-pppoe или клиента dhcp), переходите к настройке начального загрузчика.

1.9.6. Сетевые средства

1.9.6.1. Дополнительно: установка клиента DHCP

Если требуется, чтобы Gentoo автоматически получала IP-адрес для ваших сетевых интерфейсов, необходимо установить dhcpcd (или любой другой клиент DHCP, список имеющихся клиентов DHCP см. в главе Модульное построение сети). Если не сделать этого сейчас, то после завершения установки вы не сможете подключиться к интернету!

Листинг 134. Установка dhcpcd

# emerge dhcpcd


1.9.6.2. Дополнительно: установка клиента PPPoE

Если для выхода в сеть требуется rp-pppoe, его нужно установить.

Листинг 135. Установка rp-pppoe

# USE="-X" emerge rp-pppoe


USE="-X" запрещает установку xorg-x11 в порядке зависимости (в rp-pppoe есть графические средства; если их нужно подключить, можно перекомпилировать rp-pppoe позже, или же установить xorg-x11 сейчас: при его установке потребуется много времени на компиляцию).

1.9.6.3. Дополнительно: утилиты RAID для оборудования IBM

Если в составе системы на базе POWER5 вы используете RAID-массивы SCSI, стоит задуматься об установке iprutils, которые, среди прочего, позволяют работать с дисковыми массивами, выяснять состояние дисков в составе массива и обновлять микрокод.

Листинг 136. Установка iprutils

# emerge iprutils


Теперь переходите к настройке начального загрузчика.

1.10. Настройка начального загрузчика

1.10.1. Выбор загрузчика

1.10.1.1. Введение

Теперь, когда ядро настроено и собрано, а нужные конфигурационные файлы заполнены как надо, пришло время установить программу, которая будет запускать ваше ядро при старте системы. Такого рода программа называется загрузчиком. Для архитектуры x86 в Gentoo Linux есть загрузчики GRUB и LILO. Но прежде, чем приступить к установке одного из двух загрузчиков, мы расскажем, как настроить кадровый буфер (естественно, если вы захотите). С помощью кадрового буфера можно работать в командной строке Linux на фоне графических элементов (например, симпатичного изображения из загрузочной заставки Gentoo).

1.10.1.2. Дополнительно: кадровый буфер

Если вы настроили в ядре поддержку кадрового буфера (или оставили настройки по умолчанию при использовании genkernel), вы можете включить буфер, добавив параметр vga и/или video в файл конфигурации своего загрузчика.

Для начала, вам надо узнать тип используемого кадрового буфера. При использовании исходных кодов ядра, доработанных для Gentoo (таких как gentoo-sources), у вас есть возможность выбрать vesafb-tng в качестве типа драйвера VESA (в этих исходных кодах ядра он используется по умолчанию). При использовании vesafb-tng параметр vga указывать не нужно. В других случаях используется драйвер vesafb, а параметр vga необходимо указывать.

Параметр vga устанавливает разрешение и глубину цвета, используемые кадровым буфером vesafb. Как отмечено в /usr/src/linux/Documentation/fb/vesafb.txt (который устанавливается в составе пакета с деревом исходных кодов ядра), кадровому буферу необходимо передавать код режима VESA, соответствующий нужному разрешению и цветности.

В следующей таблице приведены коды режимов для указания в параметре vga, а также соответствующие им значения разрешения и цветности.

  640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32 тыс 0x310 0x313 0x316 0x319
64 тыс 0x311 0x314 0x317 0x31A
16 млн 0x312 0x315 0x318 0x31B

Параметр video отвечает за порядок отображения кадрового буфера. В нем указывается название драйвера кадрового буфера (vesafb для ядра 2.6 или vesa для ядра 2.4), а затем режимы, которые нужно включить. Все режимы приведены в /usr/src/linux/Documentation/fb/vesafb.txt, а здесь мы расскажем о трех самых используемых:

  1. ywrap считать, что видеоплата может закольцовывать свою память (продолжать выборку с начального адреса, когда достигнут конечный);

  2. mtrr:n установка регистров MTRR; допустимые значения n: 0 - отключено 1 - без кэширования 2 - отложенная запись (write-back) 3 - объединенная запись (write-combining) 4 - сквозная запись (write-through);

  3. mode (только для vesafb-tng) Установить разрешение, цветность и частоту кадров. Например, 1024x768-32@85 для разрешения 1024x768, 32-битного цвета и частоты кадров 85 Гц.

В результате должно получиться что-то вроде vga=0x318 video=vesafb:mtrr:3,ywrap или video=vesafb:mtrr:3,ywrap,1024x768-32@85. Запомните (или запишите) составленное значение, скоро оно понадобится.

Перейдем к установке GRUB или LILO.

1.10.2. По умолчанию: использование GRUB

1.10.2.1. Введение в терминологию GRUB

Самое сложное в освоении GRUB — освоиться с тем, как в нем именуются жесткие диски и разделы. Ваш Linux-раздел /dev/hda1, скорее всего, в GRUB станет называться (hd0,0). Обратите внимание на круглые скобки вокруг hd0,0 — они обязательны.

Жесткие диски нумеруются, начиная с нуля, а не с «а»; разделы — c нуля, а не с единицы. Нужно помнить, что в виде hd нумеруются только жесткие диски, но не устройства atapi-ide, такие как приводы компакт-дисков. Та же нумерация используется для устройств SCSI (обычно им присваиваются номера большие, чем устройствам IDE, кроме случаев, когда BIOS настроен на загрузку с устройства SCSI). Когда BIOS настроен на загрузку с другого жесткого диска (например, с первичного ведомого), именно этот жесткий диск и становится hd0.

Например, если у вас есть жесткий диск /dev/hda, привод CD-ROM /dev/hdb, записывающий CD /dev/hdc, второй жесткий диск /dev/hdd, а устройств SCSI нет, то разделу /dev/hdd7 будет соответствовать (hd1,6). Возможно, это покажется запутанным (так и есть), но, как мы увидим, в GRUB есть механизм автодополнения по TAB, облегчающий жизнь обладателям множества жестких дисков и разделов, а также тем, кто теряется в схеме нумерации устройств GRUB.

Почувствовав, что к чему, пора установить GRUB.

1.10.2.2. Установка GRUB

Для установки GRUB сначала добавим его в систему:

Листинг 137. Установка GRUB

# emerge grub


Хотя GRUB уже установлен, нам еще потребуется подправить его файл конфигурации, и поместить GRUB в MBR, чтобы он автоматически загружал ядро. С помощью nano (или другого редактора) создайте /boot/grub/grub.conf:

Листинг 138. Создание /boot/grub/grub.conf

# nano -w /boot/grub/grub.conf


Теперь заполним grub.conf своими значениями. Ниже приведены два варианта grub.conf для показанного примера разбиения дисков. Первый вариант grub.conf мы подробно прокомментировали. Удостоверьтесь, что у себя вы указываете имя своего файла образа ядра, и при необходимости имя своего образа начального корневого диска (initrd).

первый вариант grub.conf — для тех, кто при сборке ядра обходился без genkernel

второй вариант grub.conf — для тех, кто при сборке ядра пользовался genkernel

Примечание

Если ваша корневая файловая система — JFS, необходимо добавить «ro» в строку kernel, поскольку JFS «накатывает» свой журнал перед тем, как разрешить монтирование раздела на чтение-запись.

Листинг 139. grub.conf для тех, кто обошелся без genkernel

Листинг 3: grub.conf для тех, кто обошелся без genkernel
# какой пункт загружать по умолчанию: 0 - первый, 1 - второй и т.д.
default 0
# сколько секунд ждать до начала загрузки пункта по умолчанию
timeout 30
# симпатичная заставка, добавить по вкусу :)
# закомментируйте, если у вас не установлена графическая видеоплата
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
# раздел с файлом образа ядра (или операционной системой)
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3

# следующие четыре строки нужны только для двойной загрузки с Windows
# в этом примере Windows находится на /dev/hda6
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1


Листинг 140. grub.conf для тех, кто пользовался genkernel

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10

# нужно только для двойной загрузки
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1


Примечание

Параметр udev, указанный в конце строки kernel, необходим для обхода ошибки в некоторых версиях genkernel, если вы вообще используете udev (по умолчанию — используется).

Примечание

Если вы разбили жесткий диск по-другому, или у вас другое ядро, внесите необходимые изменения. При этом убедитесь, что все пути, следующие за упоминанием устройства GRUB (например (hd0,0)), приведены относительно точки подключения, а не корня файловой системы. Другими словами, (hd0,0)/grub/splash.xpm.gz — на самом деле /boot/grub/splash.xpm.gz, так как (hd0,0) — это /boot.

Кроме того, если вы избрали другую схему разбиения диска, и не выделяли для /boot отдельный раздел, префикс /boot, использованный в примерах выше, обязателен. Если же вы следовали рекомендованному нами плану разбиения, префикс /boot не требуется, но все работает благодаря символьной ссылке boot. Короче говоря, приведенные примеры должны работать независимо от того, есть у вас отдельный раздел для /boot или нет.

Если вам надо передать ядру дополнительные параметры, просто добавьте их в конец строки kernel. Один параметр мы уже передаем ядру (root=/dev/hda3 или real_root=/dev/hda3); можно добавлять и другие, например, такие как параметры video и/или vga для кадрового буфера, обсуждавшиеся выше.

Если вы используете ядро 2.6.7 или выше, а объем жесткого диска ограничили перемычками из-за того, что BIOS не в состоянии работать с дисками большого размера, вам потребуется добавить hdx=stroke.

Тем, кто использует genkernel, нужно помнить, что их ядро использует такие же загрузочные параметры, как на установочном компакт-диске. Например, если у вас есть устройства SCSI, следует передать ядру параметр doscsi.

Теперь сохраните grub.conf и выйдите из редактора. Вам по-прежнему необходимо записать GRUB в MBR (Master Boot Record), чтобы GRUB автоматически запускался при загрузке системы.

Разработчики GRUB рекомендуют использовать grub-install. Однако, на случай некорректной работы grub-install есть возможность записать GRUB вручную.

Переходите к разделу по умолчанию: установка GRUB с помощью grub-install или альтернатива: установка GRUB вручную.

1.10.2.3. По умолчанию: установка GRUB с помощью grub-install

Для установки GRUB вам надо выполнить команду grub-install. Однако, grub-install не заработает сам по себе, т.к. мы находимся в среде с измененным корневым каталогом. Нам нужно создать файл /etc/mtab, перечислив в нем все смонтированные файловые системы. К счастью, для этого есть очень легкий способ: просто скопируйте содержимое /proc/mounts поверх /etc/mtab, исключив строку rootfs, если вы не создавали отдельный загрузочный раздел. Следующая команда подойдет в обоих случаях:

Листинг 141. Создание /etc/mtab

# grep -v rootfs /proc/mounts > /etc/mtab


Теперь мы можем установить GRUB, используя grub-install:

Листинг 142. Выполнение grub-install

# grub-install /dev/hda


Если у вас есть вопросы о GRUB, пожалуйста, обратитесь к GRUB FAQ (англ.) или руководству по GRUB (англ.).

Переходите к перезагрузке системы.

1.10.2.4. Альтернатива: установка GRUB вручную

Для начала настройки, введите grub. Вы увидите приглашение grub> — это командная строка grub. Теперь потребуется набрать команды, нужные для установки загрузочной записи GRUB на ваш жесткий диск.

Листинг 143. Запуск оболочки GRUB

# grub


Примечание

Если у вас нет приводов для дискет, к приведенной команде добавьте --no-floppy, чтобы grub зря не опрашивал несуществующие дисководы.

В приводимом примере мы хотим установить GRUB так, чтобы он считывал нужную информацию с загрузочного раздела /dev/hda1, а загрузочная запись GRUB находилась в MBR (Master Boot Record) жесткого диска, чтобы первое, что мы видели после включения компьютера — это приглашение GRUB. Естественно, если вы при установке отклонялись от предлагаемой схемы, внесите необходимые поправки.

Находясь в GRUB, можно использовать автодополнение по клавише TAB. К примеру, если ввести «root (», а затем TAB, появится список устройств (таких как hd0). Если ввести «root (hd0,» и нажать TAB, появится список для выбора раздела из возможных (такого как hd0,0).

Благодаря автодополнению установка GRUB не так сложна. Теперь приступим к настройке GRUB.

Листинг 144. Установка GRUB в MBR

grub> root (hd0,0)        (указание расположения раздела с /boot)
grub> setup (hd0)         (установка GRUB в MBR)
grub> quit                (выход из оболочки GRUB)


Примечание

Если вы хотите установить GRUB в определенный раздел вместо MBR, команду setup потребуется исправить так, чтобы она указывала на нужный раздел. Например, команда для установки GRUB в /dev/hda3setup (hd0,2). Однако, так поступают немногие.

С дополнительными вопросами о GRUB, пожалуйста, обращайтесь к GRUB FAQ (англ.) или руководству по GRUB (англ.).

Примечание

В случае переустановки ядра в будущем, вам больше не потребуется копировать содержимое файлов. После компиляции ядра просто запускайте make install: копирование файлов и изменение конфигурации GRUB произойдет автоматически.

Переходите к перезагрузке системы.

1.10.3. Альтернатива: использование LILO

1.10.3.1. Установка LILO

LILO (сокращение от LInux LOader) — это проверенная временем рабочая лошадка среди загрузчиков Linux-систем. Но ей недостает ряда возможностей, которые есть в GRUB (и в том числе в этом заключается причина растущей популярности GRUB). LILO все еще используется, потому что на некоторых системах он работает, а GRUB — нет. Конечно же, он используется еще и потому, что многие просто знакомы с LILO и сроднились с ним. Так или иначе, в Gentoo поддерживаются оба загрузчика, и вы, видимо, решили использовать LILO.

Установка LILO в систему проста как пробка: просто используйте emerge.

Листинг 145. Установка LILO

# emerge lilo


1.10.3.2. Настройка LILO

Для настройки LILO нужно создать файл /etc/lilo.conf. Запустите свой любимый редактор (в руководстве мы для единообразия используем nano) и создайте файл.

Листинг 146. Создание /etc/lilo.conf

# nano -w /etc/lilo.conf


Несколькими разделами раньше мы попросили вас запомнить название созданного файла образа ядра. В следующем примере используется предложенная нами схема разделения диска.

Пример разделен на две части:

  1. одна — для тех, кто не пользовался для сборки ядра genkernel;

  2. другая — для тех, кто при сборке ядра пользовался genkernel;

Удостоверьтесь, что у себя вы указываете имя своего файла образа ядра, и при необходимости имя своего образа начального корневого диска (initrd).

Примечание

Если ваша корневая файловая система — JFS, необходимо добавить «ro» в строку kernel, поскольку JFS «накатывает» свой журнал перед тем, как разрешить монтирование раздела на чтение-запись.

Листинг 147. Пример /etc/lilo.conf

boot=/dev/hda         # установка LILO в MBR
prompt                # предоставление шанса выбора другого варианта
timeout=50            # ожидание пять секунд до загрузки варианта по умолчанию
default=gentoo        # по истечении времени загрузка варианта gentoo

# для тех, кто не использует genkernel
image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo        # название этого варианта
  read-only           # запуск с корневой ФС только для чтения; не менять!
  root=/dev/hda3      # расположение корневой файловой системы

# для тех, кто использует genkernel
image=/boot/kernel-genkernel-x86-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
  initrd=/boot/initramfs-genkernel-2.6.12-gentoo-r10

# следующие две строки нужны только для двойной загрузки с Windows
# в этом примере Windows находится на /dev/hda6
other=/dev/hda6
  label=windows


Примечание

Параметр udev, указанный в конце строки kernel, необходим для обхода ошибки в некоторых версиях genkernel, если вы вообще используете udev (по умолчанию — используется).

Примечание

Если вы разбили жесткий диск по-другому, или у вас другое ядро, внесите необходимые изменения.

Если нужно передать ядру дополнительные параметры, добавьте в соответствующий раздел файла выражение append. Например, добавим параметр video для включения кадрового буфера:

Листинг 148. Использование append для добавления параметров ядра

image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/hda3
  append="video=vesafb:mtrr,ywrap,1024x768-32@85"


Если вы используете ядро 2.6.7 или выше, а объем жесткого диска ограничили перемычками из-за того, что BIOS не в состоянии работать с дисками большого размера, вам потребуется добавить hdx=stroke.

Тем, кто использует genkernel, нужно помнить, что их ядро использует такие же загрузочные параметры, как на установочном компакт-диске. Например, если у вас есть устройства SCSI, следует передать ядру параметр doscsi.

Теперь сохраните файл и выйдите из редактора. Для окончания установки нужно запустить /sbin/lilo, чтобы LILO смог отразить настройки, сделанные в /etc/lilo.conf, в вашей системе (т.е. записался на диск). Имейте в виду, что при каждой установке нового ядра или изменении меню вам потребуется выполнять /sbin/lilo заново.

Листинг 149. Завершение установки LILO

# /sbin/lilo


Примечание

При переустановке ядра вам больше не придется копировать файлы. Просто запустите make install после компиляции ядра; копирование файлов и изменение конфигурации LILO выполнится автоматически.

Переходите к перезагрузке системы.

1.10.4. Перезагрузка системы

Выйдите из изолированной среды и размонтируйте все смонтированные разделы. Затем введите ту самую волшебную команду, которую вы так заждались: reboot.

Листинг 150. Размонтирование всех разделов и перезагрузка

# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot


Естественно, не забудьте вынуть загрузочный компакт-диск, иначе он загрузится сам вместо вашей новой системы Gentoo.

Загрузив вновь установленную систему, переходите к завершению установки Gentoo.

1.11. Завершение установки Gentoo

1.11.1. Управление учетными записями

1.11.1.1. Добавление учетной записи для повседневной работы

Работа в учетной записи root (администратора) в системе Unix/Linux опасна, и ее следует всячески избегать. Поэтому настоятельно рекомендуется добавить учетную запись пользователя для повседневной работы.

Членством пользователя в группах определяется, какие действия он сможет выполнять. В следующей таблице перечислено несколько важных групп, в которые вы, возможно, захотите включать пользователей.

Группа Описание
audio возможность доступа к аудиоустройствам
cdrom возможность прямого доступа к оптическим накопителям
floppy возможность прямого доступа к гибким дискам
games возможность играть в игры
portage возможность использования emerge --pretend с правами пользователя
usb возможность доступа к устройствам USB
plugdev возможность монтирования и использования подключаемых устройств типа камер и USB-брелков
video возможность доступа к средствам видеозахвата и выполнения                             аппаратного ускорения видео
wheel возможность использования команды su

Например, для создания учетной записи пользователя по имени john, входящего в группы wheel, users и audio, сначала войдите в систему как root (только root может создавать учетные записи пользователей), а затем запустите useradd:

Листинг 151. Создание учетной записи на каждый день

Login: root
Password: (ваш пароль root)

# useradd -m -G users,wheel,audio -s /bin/bash john
# passwd john
Password: (введите пароль для john)
Re-enter password: (повторно введите пароль для подтверждения)


Если пользователю потребуется выполнить задачу от имени root, для временного получения привилегий root можно использовать su -. Другой способ — пользоваться пакетом sudo, который при правильной настройке вполне безопасен.

1.12. Чем заняться дальше?

1.12.1. Документация

Примите поздравления! У вас теперь появилась работающая система Gentoo. И что же делать дальше? Какие у вас появились возможности? На что стоит взглянуть прежде всего? Gentoo дает своим пользователям богатый выбор возможностей, а следовательно — и множество документированных (или не очень) свойств.

Вам обязательно нужно прочитать следующую часть настольной книги Gentoo, работа в Gentoo, в которой рассказывается, как поддерживать программное обеспечение в актуальном состоянии, как до устанавливать программы, что такое «USE-флаги», как происходит инициализация в Gentoo и т.д.

Если вас интересует оптимизация системы с точки зрения пользователя, или вы хотите узнать, как настроить полноценный «рабочий стол», обратитесь к более подробной документации по графической среде Gentoo. Кроме того, вы, возможно захотите прочитать наше руководство по локализации (англ.), что бы чувствовать себя более уютно.

Примечание

В настоящее время для русификации рекомендуется пользоваться альтернативными руководствами по локализации Gentoo. — прим. пер.

Также имеется настольная книга по безопасности в Gentoo (англ.), которую определенно стоит прочитать.

Полный список существующих материалов имеется на странице документации.

1.12.2. Gentoo в интернете

Естественно, мы всегда рады видеть вас на форумах Gentoo (англ.), как и на любом из множества IRC-каналов Gentoo (англ.).

Кроме того, мы можем предложить вашему вниманию несколько списков рассылки, открытых для всех наших пользователей. Сведения о порядке подписки находятся на той же странице.

На этом мы замолкаем, чтобы позволить вам в полной мере насладиться результатом установки :)

В началоСлед.: Работа с Gentoo
В начало → Настольная книга Gentoo Linux x86