Инструкции по установке Дженту Линукса 1.4_rc2


Оригинал: wiking.sourceforge.net
Обновление 15 января 2003
Перевод Святозаръ
Главный Архитекто: Daniel Robbins
Авторы: Chris Houser и Jerry Alexandratos
Призрак: Grant Goodyear
Редакторы: John P. Davis, Pierre-Henri Jondot, Eric Stockbridge, Rajiv Manglani, Jungmin Seo, Stoyan Zhekov.
Краткий обзор: Это руководство призвано помочь установить Дженту Линукс версии 1.4_rc2. Данный процесс установки поддерживает разные подходы, в зависимости от того, какую долю системы ты хочешь построить сам с нуля.
line

Примечание переводчика: Название дистрибутива Дженту (Gentoo) очевидно связано с существованием разновидности пингвинов, под официальным названием Pygoscelis papua - Папуанский пингвин.

Содержание:

1.О предстоящей установке

Напутствие переводчика: дистрибутив Дженту Линукс наиболее приспособлен для компьютеров, подключенных к Интернету. Этот документ является переводом оригинала на Английском, самая свежая версия которого живет на сайте www.gentoo.org here. Наиболее свежая версия данного Русского перевода живет здесь. Прошу сообщать мне об ошибках в Русском переводе документа. Русский перевод другого автора документации по установке (с инструкцией по Русификации), учебника о Портаже и прочих документов связанных с Дженту Линукс, лежат на сайте проэкта unix4all здесь. Желаю успешной установки с первого раза!
--Святозаръ

Этот новый загрузочный компакт диск запустит компьютер с помощью почти любого современного дисковода компакт дисков на шине IDE (Integrated Drive Electronics - интегрированная дисковая электроника), а так же на шине Скази (SCSI, Small Computer System Interface - Интерфейс малых компьютерных систем), при учете что твой компакт диск, а так же программа на микросхеме BIOS (Basic Input/Output System - Базовая система ввода-вывода), оба поддерживают загрузку системы. На компакт диске есть Линукс-поддержка для IDE (и PCI IDE), встроенная в ядро, а так же поддержка для всех устройств Скази (доступна в виде модулей). В дополнение, мы включили модули буквально для всех видов сетевых карт, которые Линукс только поддерживает, а так же инструменты, которые позволят сконфигурировать твою сеть и делать исходящие и входящие соединения через ssh (Secure SHell - "секретная раковина", стандартный протокол шифрованного Telnet-соединения) и загружать файлы.

Для установки с компакт-диска "build", тебе понадобится 486+ процессор и хотя бы 64 мегабайта ОЗУ (RAM). (Дженту Линукс был успешно поставлен на компьютер 64-мя мегабайтами ОЗУ + 64 мегабайтами дополнительной виртуальной памяти, но процесс установки ужасно долог в таких условиях.)

Дженту Линукс может быть установлен с помощью единого из трех tar-архивов стадий "stage". Какой из них выбрать зависит от того, какое количество дистрибутива ты хочешь компилировать сам. Tar-архив stage1 используется когда ты сам хочешь "шнуровать" и строить всю систему с нуля. Tar-архив stage2 используется когда хочется построить всю систему самому с нуля, но шнуровка уже произведена за тебя. И, наконец, Tar-архив stage3 уже содержит основную систему Дженту которая уже оптимизирована под твой компьютер.

Итак, с чего начать установку? Прежде всего тебе нужно решить, какой из Образов стартовых дисков (LiveCD) загрузить с http://www.ibiblio.org/gentoo/releases/1.4_rc2/x86/. В этой директории ты увидишь несколько поддиректорий, таких как athlon для каждой из наших архитектурно-специфичных сборок. Вот подробный список директорий и что в них находится:

Архитектура Описание
x86 Архивы стадии 1 и "gentoo-basic" liveCD -- универсальный.
i586 Архивы стадий 2 и 3, упаковки GRP и liveCD для процессоров i586+
i686 Архивы стадий 2 и 3, упаковки GRP и liveCD для процессоров i686+
athlon Архивы стадий 2 и 3, упаковки GRP и liveCD для процессоров AMD Athlon
athlon-xp Архивы стадий 2 и 3, упаковки GRP и liveCD для процессоров AMD Athlon XP
athlon-mp Архивы стадий 2 и 3, упаковки GRP и liveCD для процессоров AMD Athlon MP
pentium3 Архивы стадий 2 и 3, упаковки GRP и liveCD для процессоров Intel Pentium III and Pentium 4

Внутри каждой из этих директорий ты найдешь директорию livecd/, в которой находятся стартовые диски. В то время как эти стартовые диски запустятся на любой архитектуре, tar-архивы связанные с установкой оптимизированы для определенного типа ЦПУ, и не будут работать на всех компьютерах, кроме диска "gentoo-basic" в директории x86, который может быть использован для установки на чем угодно.

Стартовые диски - это полные Образы компакт дисков, которые должны быть выжжены на обычном или на перезаписываемом компакт диске, используя программное обеспечение для записи компакт дисков. На данный момент у нас есть два типа стартовых дисков. Первый несет ярлык "gentoo-basic", весит примерно 40 мегабайт и живет в директории x86/livecd/. Этот стартовый диск минимального размера для того чтобы быстро загрузиться и содержит tar-архив stage1, который можно будет загрузить из директории /mnt/cdrom/gentoo/ после старта компьютера с компакт диска.

Второй вариант стартового компакт диска, который мы сейчас предлагаем помечен "livecd-grp." Эти компакт диски, находящиеся в их соответствующих директориях arch/livecd содержат tar-архивы stage1, 2 и 3, а также набор прекомпилированых упаковок GRP, оптимизированных для соответствующих архитектур. Используя эти стартовые диски, ты сможешь установить полно-функциональную систему Дженту Линукс очень быстро. Недостаток в том, что эти Образы компакт дисков очень большие - около 600 мегабайт - так что они могут отнять много времени на закачку.

Если твоя установка по какой-либо причине прервется на какой-либо стадии, ты можешь перезапустить компьютер и начать заново. Например, если ты создал разделы, установил tar-архив stageX, и готов к операции chroot, ты можешь начать установку заново, при необходимости. Просто перезагрузи компьютер со стартового компакт-диска, затем смонтируй свои диски/разделы на /mnt как обычно. В принципе, ты можешь делать это на любом этапе на протяжении установки, только не до создания разделов, по очевидным причинам.

Предупреждение: Если у тебя возникнет проблема с какой-либо частью установки и ты хочешь сообщить о ней как о буге, сообщи о ней на http://bugs.gentoo.org. Если этот буг должен быть передан выше, разработчикам упаковок (например, KDE), разработчики сами побезпокоятся об этом.

Итак, разсмотрим кратко процесс установки. Сперва мы создадим разделы на жестком диске, затем создадим файловые системы и разархивируем архив единой из стадий: stage1, stage2 или stage3. Если мы используем архивы стадии1 или стадии2, то мы предпримим нужные шаги чтобы довести нашу систему до стадии3. Когда наша система на стадии3, мы сможем конфигурировать ея, изменяя файлы конфигурации, устанавливая системный загрузчик и т.д., и затем перезагрузить компьютер и получить полностью функциональную систему Дженту Линукс. В зависимости от того, с какой стадии процесса постройки ты стартуешь, вот что требуется для установки:

Tar-архивы стадий Требования для установки
stage1 создание разделов, файловых систем; emerge sync, шнуровка, emerge system, emerge исходники ядра Линукс, заключительная конфигурация
stage2 создание разделов, файловых систем; emerge sync, emerge system, emerge исходники ядра Линукс, заключительная конфигурация
stage3 создание разделов, файловых систем; emerge sync, заключительная конфигурация

2.Запуск с компакт-диска

Начни с загрузки компьютера со стартового компакт-диска. Если он правильно обнаружен, ты должен увидеть разукрашенный стартовый экран с логотипом Дженту на нем. Находясь в этом стартовом экране ты можешь нажать [Enter] чтобы начать процесс загрузки. Нажми [F2] для помощи, или передай опции загрузки для ядра, набрав gentoo opt1 opt2 и так далее. Когда ты нажмешь [Enter], появится куча текста, после которого начнется обычная загрузочная последовательность Дженту Линукс. Ты будешь автоматически пропущен как "root" и пароль администратора будет установлен в случайную последовательность в целях безопасности. Должно появиться приглашение администратора "#" на текущей консоли, и ты можешь также окрыть новые консоли администратора нажимая [Alt]-[F2], [Alt]-[F3] and [Alt]-[F4].

Ты наверное уже заметил что над твоим приглашением # есть вспомогательный текст, объясняющий как делать такие вещи, как конфигурация сетевых устройств и где на твоем компакт-диске можно найти tar-архивы стадий Дженту Линукс.

3.Загрузка модулей ядра

Если авто-обнаружение PCI пропустило что-то из твоего железа, тебе придется загрузить нужные модули вручную. Чтобы увидеть список всех доступных модулей сетевых карт, набери ls /lib/modules/*/kernel/drivers/net/*. Чтобы загрузить определенный модуль, набери:

Выписка кода 3.1: конфигурация модулей PCI

# modprobe pcnet32 (замени pcnet32 своим именем модуля сетевой карты)

Теперь, если ты хочешь иметь доступ к железу на Скази, которое не было обнаружено в ходе процесса изначального авто-обнаружения при загрузке, тебе придется загрузить нужные модули из /lib/modules, снова используя modprobe:

Выписка кода 3.2: загрузка модулей Скази

# modprobe aic7xxx # modprobe sd_mod

aic7xxx поддерживает твой контроллер Скази и sd_mod поддерживает жесткие диски Скази.

Заметка: поддержка компакт-дисководов Скази встроена в ядро.

Если твой компьютер построен на железном RAID (Redundant Array of Inexpensive Disks - что буквально переводится как Громоздкий Массив Недорогих Дисков - прим. перев.) тебе придется загрузить модули ATA-RAID для своего контроллера RAID.

Выписка кода 3.3: загрузка модулей RAID

# modprobe ataraid # modprobe pdcraid (Контроллер RAID Promise) # modprobe hptraid (Контроллер RAID Highpoint)

Стартер Дженту (LiveCD) должен сам задействовать DMA (Direct Memory Access - Прямой Доступ к Памяти) на твоих дисках, но если он этого не сделал, команда hdparm может быть использована чтобы установить DMA на твоих жестких дисках.

Выписка кода 3.4: настройка DMA

Замени hdX твоим жестким диском. # hdparm -d 1 /dev/hdX задействует DMA # hdparm -d1 -A1 -m16 -u1 -a64 задействует DMA и другие безопасные опции для повышения производительности # hdparm -X66 /dev/hdX насильно задействует Ultra-DMA -- Опасно -- может не сработать

4. Загрузка модулей ядра PCMCIA

Если у тебя есть сетевая карта PCMCIA (Personal Computer Memory Card International Association), используемая в портативных компьютерах, тебе придется проделать дополнительные фокусы.

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

Выписка кода 4.1: загрузка модулей PCMCIA

# modprobe pcmcia_core # modprobe i82365 # modprobe ds # cardmgr -f

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

5. Конфигурация сети

Конфигурация PPPoE

Если для подключения к Интернету тебе нужен PPPoE (Point-to-Point Protocol over Ethernet), необходимый для обладателей кабельных модемов; стартовый диск (все версии) упрощает задачу тем, что в нем вчлючена программа rp-pppoe. Используй предоставленный скрипт adsl-setup чтобы настроить твое подключение. Тебе надо ввести устройство Ethernet, подключенное к твоему кабельному модему - ADSL (Asynchronous Digital Subscriber Line - Асинхронная Цифровая Абонентская Линия), твое имя пользователя у поставщика Интернет услуг, пароль, адрес Интернет протокола (IP address, Internet Protocol address) твоих серверов DNS (Domain Name Server - Сервер Имен Доменов), и нужна ли тебе на данном этапе простая противопожарная стена (firewall, брандмауэр) для защиты от хакеров или нет.

Выписка кода 5.1: конфигурация PPPoE

# adsl-setup # adsl-start

Если что-то не работает, проверь еще раз, правильно ли набраны имя пользователя и пароль, посмотри в /etc/ppp/pap-secrets или в /etc/ppp/chap-secrets, и убедись что ты используешь верное устройство Ethernet.

Автоматическая конфигурация сети

Установка Дженту Линукс позволяет тебе настроить работающую сеть, давая возможность использовать ssh, scp, lynx, irssi или wget по мере надобности даже до начала процесса установки. Даже если тебе сейчас не нужны эти вещи, сеть нужно настроить уже сейчас. Когда будет работать сеть, Портаж сможет ея использовать из среды chroot для продолжения установки. Самый простой способ установить сеть - это запустить наш новый скрипт net-setup.

Выписка кода 5.2: скрипт Net-Setup

# net-setup eth0

Конечно, на свое усмотрение, ты можешь настроить сеть и в ручную.

Ручная конфигурация DHCP

Настройка сети проще всего с DHCP (Dynamic Host Configuration Protocol - Протокол Динамической Конфигурации Хоста, то есть компьютера, подключенного к сети). Если твой ISP (Internet Service Provider - Поставщик Услуг Интернет) не использует DHCP, пролистай до секции статической конфигурации далее по тексту.

Выписка кода 5.3: конфигурация сети с DHCP

# dhcpcd eth0

Заметка: некоторые поставщики Интернет-услуг требуют наличия имени Хоста (компьютера). Чтобы сделать это, добавь флаг -h myhostname к команде dhcpcd выше.

Если ты получаешь предупреждения (Warnings) от dhcpConfig не паникуй, скорее всего, это лишь косметические ошибки. Пролистай вперед до секции "Тестирование Сети".

Ручная статическая конфигурация

Мы должны установить лишь самые основные параметры сети, только-только чтобы иметь возможность загружать исходники для строительства системы, а так же необходимый интерфейс с localhost ("localhost" - это сетевое имя для обращения к ресурсам на своем же компьютере посредством сетевых протоколов). Набери следующие команды, заменяя $IFACE своим сетевым интерфейсом (как правило, eth0), вместо $IPNUM напиши свой адрес Интернет протокола (IP), вместо $BCAST твой адрес для вещания (Ethernet Broadcast) и вместо $NMASK пропиши маску подсети. В строке команды route замени $GTWAY на свой шлюз по умолчанию (Default Gateway).

Выписка кода 5.4: конфигурация сети со статическим IP

# ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK # /sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1

Самое время создать файл /etc/resolv.conf, чтобы включить разрешение имен, то есть возможность задавать имена сайтов, а не только IP адреса.

Вот шаблон, который нужно использовать для создания своего файла /etc/resolv.conf file:

Выписка кода 5.5: шаблон для файла /etc/resolv.conf

domain mydomain.com nameserver 10.0.0.1 nameserver 10.0.0.2

Замени 10.0.0.1 и 10.0.0.2 адресами ИП твоих первичного и вторичного DNS-серверов соответственно.

Конфигурация прокси

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

Выписка кода 5.6: настройка информации о сервере-посреднике

# export HTTP_PROXY="machine.company.com:1234" # export FTP_PROXY="$HTTP_PROXY" # export RSYNC_PROXY="$HTTP_PROXY"

Тестирование сети

Теперь, когда твоя сеть отлажена, команда /sbin/ifconfig -a должна показать что твоя сетевая карта работает (ищи среди вывода UP and RUNNING.

Выписка кода 5.7: вывод /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

Попробуй послать пинг (ping) на DNS сервер своего поставщика Интернет услуг. Его адрес ИП (IP) находится в файле /etc/resolv.conf. Затем отправь пинг на любой сайт на выбор. Следи за выводом программы ping: доходят ли пакеты до сети, верно ли DNS переводит имя сервера, и т.д.

Выписка кода 5.8: дальнейшее тестирование сети

# ping www.yahoo.com

Сеть работает!

На данном этапе сеть должна быть налажена. Теперь ты можешь использовать встроенные команды ssh, scp, lynx, irssi и wget чтобы подключаться к другим машинам на локальной сети и/или к Интернету.

6. Настройка разделов

Теперь, когда ядро видит сетевую карту и контроллеры дисков, время настроить разделы дисков для Дженту Линукса.

Вот краткий обзор стандартного размещения разделов Дженту Линукс. Мы создадим как минимум три раздела: раздел подкачки (swap partition, иногда называемый разделом виртуальной памяти), корневой раздел (root partition), в котором будет находиться основная масса Дженту Линукса, и особый загрузочный раздел (boot partition). Загрузочный раздел предназначен для хранения загрузчика GRUB или LILO, а так же твое(и) ядро(а) Линукса. Загрузочный раздел дает нам безопасное местно для хранения всего связанного с загрузкой Линукса. В ходе обычного каждодневного пользования Дженту Линуксом, твой загрузочный раздел должен оставаться немонтированным. Это предохранит ядро Линукса от опасности стать недоступным для загрузчика из-за повреждения файловой системы при крахе системы, при котором возникает типичная проблема яйца и курицы: загрузчик не может монтировать раздел диска, так как ошибка в файловой системе не позволяет ему сделать это и, следовательно, не может загрузить ядро Линукса, которое, в то же время, нужно для того, чтобы восстановить файловую систему.

Теперь, несколько слов о типах файловых систем. На данный момент у тебя есть выбор из четырех кандидатов: XFS, ext2, ext3 (journaling) и ReiserFS. ext2 - это проверенная опытом файловая система для Линукса, но в ней нет поддержки дневника дополнительных данных, то есть метаданных, (metadata journalling). ext3 - это новая версия ext2 с поддержкой и дневника метаданных, и упорядоченной записью данных, фактически осуществляя и ведение дневника данных. ReiserFS - это файловая система, основанная на сбалансированном двоичном дереве (balanced binary tree), имеющая очень высокую производительность в обращении с маленькими файлами, и сильно превосходит такововую в обеих, ext2 и ext3, при обращении с файлами меньше четырех килобайт часто в десять-пятнадцать раз. ReiserFS так же превосходно масштабирует и ведет дневник метаданных. Начиная с ядра 2.4.18+, ReiserFS наконец-то утвердился и настоятельно рекомендуется к применению. XFS - это файловая система с дневником метаданных, которая полностью поддерживается ядром Дженту Линукс xfs-sources, однако не рекомендуется из-за своей склонности терять недавно измененные данные когда компьютер виснет или при неожиданной перезагрузке (например, по причине отключения электричества).

Если ты ищешь самую стандартную файловую систему, используй ext2. Если ты ищешь самую прочную на износ (rugged) файловую систему с дневником, используй ext3. Если ты ищешь самую производительную файловую систему с дневником, используй ReiserFS; обе, ext3 и ReiserFS испытаны и рафинированы. Вот наши основные рекомендуемые размеры и типы файловых систем:

Раздел Размер Тип Примерное устройство
стартовый раздел (boot), содержащий ядро(а) и информацию для загрузки 100 мегабайт ext2/3 настоятельно рекомендуются (проще); если ReiserFS, то монтируй с -o notail /dev/hda1
раздел подкачки (swap) (более нет 128-мегабайтного предела) >=2*размер ОЗУ на данной системе рекомендуется, но более (начиная с ядра 2.4.10) не обязателен Linux swap /dev/hda2
корневой раздел (root), содержащий основную файловую систему (/usr, /home, /etc) >=1.5 гигабайта ReiserFS, ext3 - рекомендуются; ext2 - тоже сойдет /dev/hda3

Перед созданием файловых систем тебе, возможно, понадобится инициализировать начало твоего жесткого диска используя команду dd. Это гарантирует что твоя новая файловая системя будет правильно определена монтировочным кодом Линукса. Это может быть проделано так:

Выписка кода 6.1: обнуляем первые 1024 сектора жесткого диска

# dd if=/dev/zero of=/dev/hdxy bs=1K count=1 Замени /dev/hdxy устройством которое ты хочешь очистить "clean."

Предупреждение: приведенная выше команда уничтожит всю информацию на /dev/hdxy. Будь осторожен и перепроверь, какой раздел ты указал(а) для обнуления. Если ты ошибешься, ты можешь потерять информацию.

Теперь, создай свои разделы используя fdisk. Заметь, что твои разделы должны соответствовать типу 82 для раздела подкачки и 83 для обычных файловых систем, коими являются ReiserFS, ext2/3.

Заметка: На установочном диске есть также и cfdisk, который гораздо проще в использовании чем fdisk. Просто набери cfdisk чтобы запустить его; по умолчанию, cfdisk будет работать с /dev/hda. Если /dev/hda не тот диск который ты хочешь разделить, передай нужное значение программе cfdisk как параметр. Например: cfdisk /dev/hde

Заметка: Если fdisk или cfdisk того потребуют, пожалуйста, перезагрузи компьютер чтобы твоя система обнаружила новую конфигурацию.

Заметка: Если ты используешь RAID, твои разделы будут немного другими, что-то вроде этого: /dev/ataraid/discX/partY X - это массив который ты сделал, так что если у тебя всего един массив, тогда это будет disc0. Y - это номер раздела как в /dev/hdaY

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

Выписка кода 6.2: форматирование раздела подкачки

# mkswap /dev/hda2

Используй команду mke2fs для создания файловой системы ext2.

Выписка кода 6.3: создание файловой системы ext2

# mke2fs /dev/hda1

Чтобы создать XFS, используй команду mkfs.xfs

Выписка кода 6.4: создание файловой системы XFS

# mkfs.xfs /dev/hda3

Заметка: Тебе может понадобиться пара дополнительных флагов в команде mkfs.xfs: -d agcount=3 -l size=32m. Флаг -d agcount=3 понизит число групп распределения. XFS настаивает на использовании как минимум единой группы размещения на каждые 4 гигабайта твоего раздела, так что, например, если у тебя раздел размером 20 гигабайт, тебе понадобится минимальный agcount=5. Флаг -l size=32m разширяет размер дневника до 32-х мегабайт, увеличивая производительность.

Предупреждение: Если ты устанавливаешь XFS поверх предыдущей ReiserFS, последующие попытки монтировать такой раздел могут не срабатывать без явного указанияmount -t xfs. Решение состоит в том чтобы потереть нулями этот раздел перед созданием раздела XFS: dd if=/dev/zero of=/dev/hdx bs=1k.

Если ты хочешь использовать ext3, ты можешь создавать файловые системы ext3 командой mke2fs -j.

Выписка кода 6.5: создание файловой системы ext3

# mke2fs -j /dev/hda3

Заметка: узнать больше об использовании ext3 в Линуксе 2.4 ты можешь по адресу http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html.

Чтобы создать файловую систему ReiserFS используй команду mkreiserfs.

Выписка кода 6.6: создание файловой системы ReiserFS

# mkreiserfs /dev/hda3

7. монтировка разделов

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

Выписка кода 7.1: активизация раздела подкачки

# swapon /dev/hda2

Далее, создадим директорию /mnt/gentoo и, после монтировки корневого раздела, создадим директорию /mnt/gentoo/boot, которые будут служить точками монтировки для наших файловых систем

Выписка кода 7.2: создание точек монтировки

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

Если ты устанавливаешь Дженту Линукс с отдельным разделом для /usr или /var, их тоже надо будет прикрутить к директориям /mnt/gentoo/usr и /mnt/gentoo/var соответственно.

Внимание: Если твой раздел boot (на котором лежит ядро) содержит систему ReiserFS, убедись в том, что ты монтируешь его с опцией -o notail, чтобы GRUB установился как надо. Убедись так же в чтом, что notail окажется так же и в строке о разделе boot в файле /etc/fstab. Мы к этому вскоре вернемся.

Внимание: если у тебя трудности с монтировкой стартового раздела (boot) и на нем стоит ext2, попробуй mount /dev/hXX /mnt/gentoo/boot -t ext2

8. Получение tar-архива выбранной стадии 'stage-x'

Если ты хочешь начать с архива стадии1 'stage1' - уже можно приступать. Архив stage1 находится в директории /mnt/cdrom/gentoo/. С другой стороны, если ты предпочитаешь начать с архива стадии2 или стадии3, загодя оптимизированного для твоей архитектуры, ты можешь скачать его (проще всего в директорию /mnt/gentoo) с какого-нибудь из сайтов-зеркал Дженту.

Выписка кода 8.1: загрузка требуемых стадий

# cd /mnt/gentoo Используй lynx чтобы найти адрес URL для твоего tar-архива # lynx http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_rc2/x86/ # wget Вставь сюда полный адрес нужного tar-архива.

9. Разпаковка tar-архива стадии

Пришло время разпаковывать выбранный тобой tar-архив в директорию /mnt/gentoo. Потом, мы сделаем chroot в новую установку Дженту Линукс чтобы "войти" в новую систему Дженту

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

Если ты устанавливаешь методом "с нуля, компилирую все сам", тебе следует использовать Образ диска stage1-ix86-1.4_beta.tbz2. Если же ты используешь един из наших полненьких компакт-дисков, у тебя есть же выбор между стадией2 и стадией3. Эти скомпилированные архивы сохранят тебе время компиляции за счет утраченной возможности выбора конфигурации, так как мы уже выбрали оптимизации компилятора и значения по умолчанию для переменных USE за тебя.

Выписка кода 9.1: разпаковка стадий

# cd /mnt/gentoo # tar -xvjpf /mnt/cdrom/gentoo/stage?-*.tbz2 # mount -o bind /proc /mnt/gentoo/proc # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

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

Выписка кода 9.2: подготовка к GRP

# mkdir /mnt/gentoo/GRP # mount -o bind /mnt/cdrom/gentoo/packages /mnt/gentoo/GRP

Выписка кода 9.3: вход в среду chroot

# chroot /mnt/gentoo /bin/bash # env-update Regenerating /etc/ld.so.cache... # source /etc/profile

После запуска этих команд ты окажешься "внутри" твоей новой среды Дженту Линукс.

10. Обновление дерева Портаж (Portage) используя Rsync

Теперь тебе надо запустить emerge sync. Эта команда зделает все необходимое чтобы получить самую свежую версию дерева Портаж (Портаж - это менеджер упаковок, на основе которого построен весь дистрибутив Дженту.)

Выписка кода 10.1: обновление с использованием Rsync

# emerge sync

Дерево Портаж будет синхронизировано (при этом, в соответствии с архитектурой rsync, загружаются лишь изменения в файлах, а не файлы целиком - прим. перев.) и сохранено в директории /usr/portage; целиком же оно занимает около 90 мегабайт без tar-архивов.

11. Настройка оптимизаций Дженту (make.conf)

Теперь, когда у тебя есть свежая копия дерева Портаж, если ты используешь stage1 для установки, тебе надо будет зашнуровать свою систему Дженту Линукс следующим Образом. Сперва отредактируй файл /etc/make.conf. В этом файле ты должен выставить свои флаги USE которые указывают на необязательную функциональность, встраиваимую в упаковки при компиляции; восновном, значения по умолчанию (такие как empty или не инициализированная переменная USE) допустимы. Дополнительную информацию о флагах USE можно найти здесь. Полный список всех флагов USE находится здесь.

Кроме того, хорошо бы еще использовать флаги CHOST, CFLAGS и CXXFLAGS со значениями соответствующими типу системы которую ты создаешь (примеры с комментариями следуют далее в этом файле). Твой лучший друг - это man gcc, который поможет разобраться, какие есть дополнительные флаги CFLAGS и CXXFLAGS. Ищи раздел 'Optimization'.

Если есть необходимость, ты так же можешь выставить информацию о сервере-посреднике, если ты за противопожарной стеной (firewall).

Выписка кода 11.1: настройка опций make.conf

# nano -w /etc/make.conf (Настрой эти установки)

Заметка: те, кому надо значительно изменять процесс компиляции, могут посмотреть на файл /etc/make.globals В этом файле помещены установки Дженту по умолчанию и его ни в коем случае нельзя трогать. Если установки по умолчанию не удовлетворяют, новые значения должны быть проставлены в /etc/make.conf, так как записи в make.conf затмевают оных в make.globals. Если тебе нравится копаться в настройках USE, прочитай /etc/make.profile/make.defaults. Если ты хочешь выключить находящиеся здесь параметры USE, добавь нужный переключатель USE="-П" в /etc/make.conf (чтобы выключить параметр П.)

12. Начинаем со стадии1

Tar-архив stage1 предназначен для безпредельного модифицирования. Если ты выбрал этот архив, тебе, похоже нужна ультра-оптимизированная система. Желаю хорошо повеселиться, ведь вся соль Дженту Линукса именно в оптимизации!

Начнем процесс "шнуровки" (bootstrap). Этот процесс занимает два часа на моем компьютере с 1200-мегагерцовым процессором AMD Athlon. За это время, разархивированные исходники были подготовлены для дальнейшей компиляции остальной части системы. Будет собран набор компиляторов GNU, а так же GNU библиотека C. Это - долгосрочное строительство и составляет основную долю процесса шнуровки.

Выписка кода 12.1: шнуровка

# cd /usr/portage # scripts/bootstrap.sh

Процесс "шнуровки" сейчас начнется.

Заметка: портаж по умолчанию использует /var/tmp во время сборки упаковок, часто используя несколько сот мегабайт временного хранения. Если ты хочешь указать другую директорию для временного хранения, установи новое значение глобальной переменной PORTAGE_TMPDIR до того как начать процесс шнуровки, как следует:

Выписка кода 12.2: изменение пути временного хранения для Портажа

# export PORTAGE_TMPDIR="/otherdir/tmp"

bootstrap.sh соберет binutils, gcc, gettext, и glibc, затем соберет заново binutils, gcc, и gettext сразу после сборки glibc. Нужно ли говорить о том, что этот процесс займет время. Приятно тебе вздремнуть. Когда процесс закончится, твоя система будет эквивалентна системе "stage2", из чего следует, что теперь можно перейти к инструкциям по стадии2.

13. Начнем со стадии2

В tar-архиве stage2 шнуровка уже сделана за тебя. Все что тебе осталось сделать - это установить остальную чать системы.

Заметка: если ты еще не сделал этого, пожалуйста отредактируй /etc/make.conf по своему вкусу.

Выписка кода 13.1: установка остальной части системы

# export CONFIG_PROTECT="-*" # emerge -p system [выдает список упаковок к установке] # emerge system

Заметка: строка export CONFIG_PROTECT="-*" нужна для того, чтобы убедиться в том, что все новые скрипты установленные в /etc заменят старых, которые хранятся в sys-apps/baselayout, проходя мимо новой Портажевской поддержки управления скриптами. Набери emerge --help config для разъяснений.

Завершение сборки всей основной системы займет некоторое время. Твим вознограждением будет то, что она будет тщательно оптимизирована для твоего компьютера! Надостаток лишь в том, что тебе придется найти занятие на кое-какое время. Автор рекомендует "Star Wars - Super Bombad Racing" для PS2 (Play Station 2 - прим.перев.).

Когда процесс завершится, твоя система будет эквивалентна системе стадии3. У тебя есть пара выборов того, как ты хочешь продолжить с данного этапа. Ты можешь перейти к инструкциям для стадии3 и выполнить и их. Делая это, ты получишь самую обновленную систему, какая только существует в текущем дереве Портаж. Это не обязательно, но очень настоятельно рекомендуется. Если ты решишь не обновлять согласно инструкциям стадии3, ты можешь проследовать к разделу об установке прекомпилированных упаковок GRP. Если ты не хочешь использовать GRP, ты можешь перейти к главе 16: Заключительные шаги.

14. Начинаем со стадии3

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

Заметка: если ты еще не отредактировал /etc/make.conf в соответствии со своими спецификациями, сейчас семое время сделать это.

Выписка кода 14.1: обновление

# emerge sync # emerge -up world выдает список [упаковок] к установке # emerge -u world

Сразу после этого, у тебя появляется несколько вариантов продолжения. Если ты будешь использовать GRP, пожалуйста, продолжай читать раздел о GRP. Если ты не собираешься использовать GRP, ступай до главы 16: Заключительные шаги.

15. Использование GRP

Ты можешь воспользоваться наборами уже скомпилированных упаковок GRP, чтобы избежать компиляции некоторых популярных и очень больших упаковок. Сейчас мы предоставляем полные сборки всего что нужно для openoffice-bin, GNOME, KDE и xfree.

Сперва тебе надо командой cd войти в ту директорию, где находятся упаковки GRP. Мы уже смонтировали директорию в точке /GRP. В этой директории ты найдешь скрипт grp-install.sh, директорию All, содержащую все двоичные упаковки, и список доступных упаковок GRP. Чтобы установить любой/все из этих наборов упаковок надо проделать следующее:

Выписка кода 15.1: использование GRP

# cd /GRP # sh grp-install.sh <спикок списков упаковок> где <список списков упаковок> может быть любым из файлов *-list.txt находящихся в той же директории.

grp-install.sh может быть запущен несколько раз без замены существующих установок. Ты можешь набрать sh grp-install.sh для получения информации об использовании, если тебе все еще не совсем понятно.

16. Заключительные шаги: часовой пояс

На данном этапе ты должен иметь готовую к заключительной настройке систему. Мы начнем процесс настройки с установки часового пояся (Timezone). Устанавливая часовой пояс до сборки ядра будет залогом того, что пользователи будут получать осмысленный результат команды uname -a.

Найди свой часовой пояс, или GMT если ты используешь время по Гринвичу на своем компьютере, в директории /usr/share/zoneinfo. Затем, создай символическую ссылочку, набрав:

Выписка кода 16.1: создание символической ссылочки для часового пояса

# ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime

Ты так же можешь проверить /etc/rc.conf , чтобы убедиться что твои настройки часового пояса верны.

17. Заключительные шаги: ядро и судовой журнал системы

Заметка: если ты еще этого не сделал, пожалуйста отредактируй /etc/make.conf по своему вкусу.

Теперь скачай исходники ядра Линукс. Мы предлагаем такие варианты:

Вариант ebuild Опискние
gentoo-sources Наше собственное усовершенствованное в скорости и функциональности ядро, которое не включает поддержку файловой системы XFS.
xfs-sources Наиболее совместимое ядро с поддержкой файловой системы XFS.
openmosix-sources Обычное дерево исходников ядра, заплатанное поддержкой для GPL-технологии балансировки нагрузки сети / создания гроздей (cluster, несколько компьютеров на сети работающих параллельно над общей задачей - прим перев.) openMosix
usermode-sources Обычное дерево исходников ядра, заплатанное поддержкой для User-Mode Linux. (технология "Линукс внутри Линукса")
vanilla-sources Обычное дерево исходников ядра, точно такое же, какое ты загрузил бы с kernel.org

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

Выбери ядро и скачай его следующим Образом:

Выписка кода 17.1: закачка исходников ядра

# emerge sys-kernel/gentoo-sources

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

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

Выписка кода 17.2: компиляция ядра Линукс

# cd /usr/src/linux # make menuconfig # make dep && make clean bzImage modules modules_install # mv /boot/bzImage /boot/bzImage.orig [if bzImage already exists] # cp /usr/src/linux/arch/i386/boot/bzImage /boot

Внимание: для правильного функционирования ядра, следующие опции, должны быть задействованы, а не скомпилированы как модули. Задействуй опцию "Code maturity level options --> Prompt for development and/or incomplete code/drivers" чтобы увидеть некоторые из следующих разделов. Под секцией "File systems" задействуй "Device File System" (заметь, тебе не следует задействовать опцию "/dev/pts file system support"). Тебе также надо задействовать "Virtual Memory Filesystem". Удостоверься что задействована "ReiserFS" если у тебя есть раздел ReiserFS; то же самое для "Ext3". Если ты используешь XFS, задействуй опцию "SGI XFS filesystem support". Всегда полезно оставлять задействованной ext2, даже если ей не пользуешься. Так же, многим людям использующим жесткие диски IDE понадобится опция "USE DMA by default"; иначе, твои жесткие диски IDE будут очень медленными. И конечно, не забудь так же задействовать поддержку "IDE disk" - иначе твое ядро не сможет видеть твои диски IDE.

Если ты используешь железный RAID, тебе придется задействовать пару других опций в ядре: для конроллеров RAID Highpoint выбери поддержку набора микросхем hpt366 chipset, поддержку IDE RAID controllers и Highpoint 370 software RAID. Для Promise RAID controllers выбери PROMISE PDC202{46|62|65|67|68|69|70} support, support for IDE RAID controllers и Support Promise software RAID (Fasttrak(tm))

Если ты используешь PPPoE для подключения к Интернету, тебе понадобятся следующие опции в ядре, (встроенные, а лучше как модули): "PPP (point-to-point protocol) support", "PPP support for async serial ports", "PPP support for sync tty ports". Две опции сжатия (compression) не повредят, но вообще они не нужны, так же как и опция "PPP over Ethernet", которая может только быть использована программой rp-pppoe, когда последняя настроена для режима PPPoE ядра. (обычно rp-pppoe использует свою встроенную реализацию PPPoE, а также и свои механизмы сжатия оговоренные выше - прим.перев.).

Если у тебя есть выжигатель дисководов на шине IDE, тогда тебе понадобится эмуляция Скази (SCSI) в ядре. Включи опции "ATA/IDE/MFM/RLL support" ---> "IDE, ATA and ATAPI Block devices" ---> "SCSI emulation support" (я обычно выношу их в модули), затем мод "SCSI support" задейству "SCSI support", "SCSI CD-ROM support" and "SCSI generic support" (опять же, я обычно делаю из них модули). Если ты тоже выберешь использование модулей, тогда набери echo -e "ide-scsi\nsg\nsr_mod" >> /etc/modules.autoload чтобы они автоматически включались во время загрузки системы.

Заметка: если очень надо, можно попробовать установить Дженту Линукс и с ядром 2.2. Однако, учитывай, что ты потеряешь много сливотных фишек, которые есть только в ядрах серии 2.4, таких как поддержка файловых систем XFS, tmpfs; ip-таблицы и другое. Загрузочные скрипты Дженту линукс требуют поддержку на уровне ядра либо tmpfs, либо ramdisk, так что пользователям ядра 2.2 придется убедиться, что поддержка ramdisk задействована в ядре, а не выложена в виде модуля. Жизненно важно, чтобы флаг gentoo=notmpfs был добавлен в строку ядра в /boot/grub/grub.conf для ядра 2.2, чтобы для загрузочных скриптов монтировался ramdisk вместо tmpfs. Если ты выберешь не использовать devfs, тогда должен быть включен параметр gentoo=notmpfs,nodevfs.

Твое привычное ядро и модули теперь установлены. Сейчас тебе надо выбрать судовой журнал системы который ты хотел бы установить. Мы предлагаем sysklogd, который является традиционным набором демонов судового журнала. У нас так же есть msyslog и syslog-ng, а так же metalog. Сильные пользователи склонны отказываться от sysklogd, который не очень быстрый, в пользу более новых альтернатив. Если не уверен, попробуй metalog, так как он, кажется, довольно популярен. Чтобы закачать судовой журнал своего выбора, набери едину из следующих четырех строк:

Выписка кода 17.3: закачка выбранного судового журнала системы

# emerge app-admin/sysklogd # rc-update add sysklogd default или # emerge app-admin/syslog-ng # rc-update add syslog-ng default или # emerge app-admin/metalog # rc-update add metalog default или # emerge app-admin/msyslog # rc-update add msyslog default

Предупреждение: в случае выбора syslog-ng, тебе нужно создать /etc/syslog-ng/syslog-ng.conf. Читай /etc/syslog-ng, пример конфигурационного файла.

Внимание: Metalog сливает вывод на диск блоками, так что сообщения не сразу записываются в судовой журнал системы. Если ты пытаешься дебуггить демона, это поведение, призванное увеличить скорость, менее чем полезно. Когда твой Дженту Линукс заработает на полную мощность, ты сможешь послать Металогу сигнал USR1, чтобы временно выключить буферизацию сообщений, в связи с чем tail -f /var/log/everything/current не будет работать в реальном времени как должен, и сигнал USR2 чтобы снова включить буфеиризацию. Если ты хочешь изменить буферизацию насовсем, ты можешь поменять METALOG_OPTS="-B" на METALOG_OPTS="-B -s" в /etc/conf.d/metalog.

Теперь можно по желанию выбрать ту упаковку cron (планировщика задачь), которая тебе больше нравится. На данный момент мы предлагаем dcron, fcron and vcron. Если ты не знаешь какой выбрать, попробуй vcron. Вот как их устанавливать:

Выписка кода 17.4: выбор демона cron

# emerge sys-apps/dcron # crontab /etc/crontab или # emerge sys-apps/fcron # crontab /etc/crontab или # emerge sys-apps/vcron Для vcron запускать crontab /etc/crontab не надо. Не забудь добавить свой *cron к нужному уровню init. # rc-update add *cron default

Для получения дополнительной информации о запуску програм и демонов во время старта системы смотри rc-script guide.

18. Заключительные шаги: установка дополнительных упаковок

Если тебе нужен rp-pppoe для подключения к сети, учти что он все еще не установлен! Сейчас самое время установить его.

Выписка кода 18.1: установка rp-pppoe

# USE="-X" emerge rp-pppoe

Заметка: USE="-X" предотвращает pppoe от попытки установить необязательный X-интерфейс (XWindow), что очень здорово, так как иначе вся иксня, и все ея зависимости тоже начнут сейчас грузиться. Ты всегда сможешь перекомпилировать rp-pppoe с поддержкой иксов вручную.

Заметка: учти, что rp-pppoe скомпилирована, но еще не отконфигурирована. Тебе придется сделать это заново используя adsl-setup когда ты загрузишь компьютер в твою новую систему Дженту в первый раз.

Тебе могут понадобиться другие дополнительные упаковки в дереве Портаж, если ты используешь какие-нибудь необязательные фишки, такие как XFS, ReiserFS или LVM. Если ты используешь XFS, тебе следует загрузить упаковку xfsprogs:

Выписка кода 18.2: закачка инструментов файловых систем

# emerge sys-apps/xfsprogs Если у тебя стоит ReiserFS, тебе неплохо бы затариться инструментом для него: # emerge sys-apps/reiserfsprogs Если ты используешь LVM, тебе понадобится упаковка lvm-user: # emerge sys-apps/lvm-user

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

Выписка кода 18.3: закачка PCMCIA-cs

# emerge sys-apps/pcmcia-cs

Предупреждение: Тебе придется снова сделать emerge для pcmcia-cs после установки, чтобы PCMCIA заработали.

19. заключительные шаги: /etc/fstab

Твоя система Дженту Линукс почти готова к эксплуатации. Все что нам осталось - это сконфигурировать несколько важных системных файлов и установить загрузчик системы GRUB (или LILO на выбор - прим.перев.). Первым делом надо настроить /etc/fstab. Помни, что ты должен использовать опцию notail для своего загрузочного раздела, если ты создал на нем файловую систему ReiserFS (предупреждали же! - прим.перев.). Не забудь указать как положено тип файловой системы: ext2, ext3 или reiserfs.

Используй что-то вроде нижеследующего примера для файла /etc/fstab, заменяя "BOOT", "ROOT" and "SWAP" всамделишным устройством, который ты используешь, таким как hda1, и так далее (Советую воспользоваться редактором nano - прим.перев.).

Выписка кода 19.1: редактирование файла fstab

# /etc/fstab: Статическая информация о файловых системах # # noatime выключает atime'ы для увеличения производительности, atime'ы обычно # не нужны; notail увеличивает скорости ReiserFS за счет эффективности # хранения данных. Можно без опаски выкинуть опции noatime если ты хочешь # свободно переключаться между notail и tail # <fs> <mountpoint> <type> <opts> <dump/pass> # ЗАМЕТКА: Если твой загрузочный раздел BOOT ReiserFS, добавь notail к opts. /dev/BOOT /boot ext2 noauto,noatime 1 2 /dev/ROOT / ext3 noatime 0 1 /dev/SWAP none swap sw 0 0 /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0 proc /proc proc defaults 0 0

Предупреждение: пожалуйста, обрати внимание на то, что /boot не монтируется при загрузке. Это сделано специально для защиты данных в /boot от повреждения. Если тебе надо зайти в /boot, пожалуйста, смонтируй его командой mount /boot

20. Заключительные шаги: пароль администратора

Пока ты не забыл(а), поставь пароль администратора (root) набрав следующее:

Выписка кода 20.1: установка пароля администратора

# passwd

21. Заключительные шаги: /etc/hostname

Отредактируй этот файл чтобы он содержал твое официальное имя домена в едину строку, например, mymachine.mydomain.com.

Выписка кода 21.1: имянаречение компьютера

# echo mymachine.mydomain.com > /etc/hostname

22. Заключительные шаги: /etc/hosts

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

Выписка кода 22.1: шаблон файла hosts

127.0.0.1 localhost # следующая строка содержит твой адрес ИП для твоей локальной сети и имя твоего компьютера 192.168.1.1 mymachine.mydomain.com mymachine

Заметка: Если ты в сети DHCP (Dynamic Host Configuration Protocol - Протокол Динамической Конфигурации Хостов), полезно установить localhost на всамделишое имя компьютера. Это поможет GNOME 'у и многим другим программам в разрешении имен.

23. Заключительная конфигурация сети

Добавь имена модулей, необходимых для нормального функционирования твоей системы к файлу /etc/modules.autoload . Ты также можешь перечислить все нужные опции в единой строке. Когда Дженту Линукс стартует, эти модули будут автоматически загружены. Особо важными являются модули карт Ethernet, если ты по какой-то непонятной причине выложил их в отдельный модуль:

Выписка кода 23.1: /etc/modules.autoload

В этом примере карта 3com. Проверь /lib/modules/`uname -r`/kernel/drivers/net для своей карты. 3c59x

Отредактируй скрипт /etc/conf.d/net так, чтобы настроить свою сеть для твоего первого старта компьютера:

Выписка кода 23.2: конфигурация сети при загрузке

# nano -w /etc/conf.d/net # rc-update add net.eth0 default

Если у тебя несколько сетевых карт, создай дополнительный скрипт net.ethx для каждой из них (x = 1, 2, ...):

Выписка кода 23.3: несколько сетевых интерфейсов

# cd /etc/init.d # cp net.eth0 net.ethx # rc-update add net.ethx default

Если у тебя вставлена карта PCMCIA, загляни в файл /etc/init.d/pcmcia чтобы проверить все ли готово к старту, затем дабавь следующую строку к началу файла /etc/init.d/ethx:

Выписка кода 23.4: зависимости PCMCIA в /etc/init.d/net.ethx

depend() { need pcmcia }

Эта функция раз удостоверится в том, что драйвера PCMCIA загружаются каждый раз когда загружается сеть.

24.Заключительные шаги: конфигурация основных настроек и клавиатуры

Выписка кода 24.1: основная конфигурация

# nano -w /etc/rc.conf

Следуй инструкциям в файле чтобы настроить основные установки. Всем пользователям следует удостовериться что переменная параметров часов CLOCK установлена по их вкусу. Пользователи иностранных клавиатур должны установить переменную KEYMAP (открой /usr/share/keymaps чтобы увидеть список всех вариантов разкладки клавиатуры).

25. заключительные шаги: настройка GRUB

Самая трудная часть в освоении загрузчика GRUB - это смирение с тем, как GRUB обзывает жесткие диски и разделы. Твой раздел Линукса /dev/hda1 в GRUB называется (hd0,0). Обрати внимание на скобки вокруг hd0,0 - они обязательны. Жесткие диски отсчитываются с нуля, а не с буквы "a", а разделы отсчитываются, опять же, с нуля, а не с единицы. Знай так же что среди жестких дисков посчитаны лишь жесткие диски, а не устройства atapi-ide, такие как проигрыватели и выжигатели компакт дисков. И такая же схема может быть использована с устройствами Скази. Обычно, последние обретают более высокие номера чем дисководы IDE, кроме тех случаев когда BIOS настроен на загрузку с устройств Скази. Допустим, у тебя есть жесткий диск на /dev/hda, дисковод компакт дисков на /dev/hdb, выжигалка на /dev/hdc и второй жесткий диск на /dev/hdd, и никаких Скази-жестких дисков. Тогда, к примеру, /dev/hdd7 становится (hd1,6). Это может казаться запутанным, и так оно и есть, но, как мы скоро увидим, GRUB предоставляет мехадизм автозаполнения с помощью клавиши [Tab], который помогает тем, у кого много жестких дисков и разделов и кто не успел разобраться в схеме нумерации GRUB. Итак, в предчувствии неслыханного удовольствия, приступим к установке GRUB!

Простейший способ установить GRUB - это просто набрать grub в твоей раковине, в которой в свое время был проделан chroot:

Выписка кода 25.1: установка GRUB

# grub

Внимание: если у тебя стоит железный RAID, эта часть не будет работать на данном этапе. Пропусти до секции о создании файла grub.conf. После этого мы закончим установку GRUB для контроллеров RAID.

Пред тобой предстанет приглашение командной строки GRUB grub>. Теперь тебе надо набрать верные команды для установки загрузчика GRUB на твоем жестком диске. В моем примере настройки, я хочу установить загрузчик GRUB в MBR (Master Boot Record - Главная Загрузочная Запись, или просто бут-сектор) моего жесткого диска так, что первое что я буду видеть когда я включаю свой компьютер будет приглашение GRUB. В моем случае, команды которые мне предстоит набрать следующие:

Выписка кода 25.2: команды GRUB

grub> root (hd0,0) grub> setup (hd0) grub> quit

Вот как эти две команды работают. Первая команда root ( ) сообщает GRUB'у местонахождение твоего загрузочного раздела в терминологии GRUB'а. Затем, вторая команда setup ( ) сообщает GRUB'у куда устанавливать загрузочную запись (загрузчик) - он будет настроен чтобы искать особые файлы в месте, которое ты указал командой root ( ). В моем случае, мне нужна загрузочная запись в MBR жесткого диска, так что я просто указываю /dev/hda (который известен GRUB'у как (hd0)). Если бы я использовал другой загрузчик и хотел бы установить GRUB как вторичный загрузчик, я мог бы установить GRUB в загрузочной записи того конкретного раздела. Тогда я указал бы конкретный раздел вместо всего диска. Когда загрузочная запись GRUB'а успешно установлена, можно набрать quit чтобы выйти из программы GRUB.

Заметка: механизм автозаполнения клавишей [Tab] может быть использован внутри GRUB лишь тогда тогда, когда ты сам написал уже root (. Теперь при нажатии клавиши [Tab] ты получишь список всех доступных устройств, и не только жесткие диски. После нажатия [Tab], предварительно набрав root (hd, GRUB выведет лишь все доступные жесткие диски, а если сперва набрать root (hd0, и уже потом нажать [Tab], то GRUB выдаст список разделов на первом жестком диске. Вышеизложенная справка о синтаксисе автозаполнения в программе GRUB должна помочь сделать правильный выбор.

Дженту Линукс теберь практически установлен. Но нам надо бы еще создать файл /boot/grub/grub.conf чтобы получить красивое загрузочное меню GRUB когда система перезагружается. Вот как это делать:

Внимание: чтобы обезпечить обратную совместимость с прошлыми версиями GRUB, не забудь сделать ссылочку до grub.conf от menu.lst. Это можно сделать, набрав ln -s /boot/grub/grub.conf /boot/grub/menu.lst .

Теперь создай файл grub.conf (nano -w /boot/grub/grub.conf), и набери в нем следующее:

Выписка кода 25.3: фалй grub.conf

default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=Мой пример с Дженту Линуксом root (hd0,0) kernel /boot/bzImage root=/dev/hda3 # Ниже - для установки с использованием железного RAID title=Мой Дженту Линукс на железном RAID root (hd0,0) kernel /boot/bzImage root=/dev/ataraid/discX/partY # Нижеследующее нужно только тем, у кого двойной загрузчик. title=Windows NT Workstation root (hd0,5) chainloader +1

Заметка: (hd0,0) должно быть написано безо всяких пробелов внутри скобок.

Внимание: если ты настроил эмуляцию для выжигателя на IDE, тогда чтобы тебе его задействовать, надо будет добавить фрагмент "hdx=ide-scsi" к строке ядра в файле grub.conf (где "hdx" должно быть устройство твоего выжигателя компакт-дисков).

После сохранения этого файла, установка Дженту Линукс будет официально завершена. Выбрав первую опцию ты сообщишь GRUB'у чтобы он запускал Дженту Линукс без вопросов. Вторая часть файла grub.conf необязательна, и она показывает тебе как использовать GRUB для старта загружаемого раздела Форточек.

Заметка: выше, (hd0,0) должно указывать на твой загрузочный раздел "boot" (/dev/hda1 в нашем примере) и /dev/hda3 должно указывать на твой корневой раздел (root partition). Раздел (hd0,5) содержит загрузчик NT.

Заметка: путь к Образу ядра относителен от загрузочного раздела. Если, например, ты отделил загрузочный раздел (hd0,0) от корневого раздела (hd0,1), все пути к ядру в файле grub.conf, приведенном выше, станут /bzImage.

Если тебе надо передать дополнительные опции ядру, просто добавь их в конец команды kernel. Мы уже передаем опцию (root=/dev/hda3), но ты можешь передать и другие. В частности, ты можешь выключить devfs по умолчанию (не рекомендуется если не знаешь что ты делаешь) добавив опцию gentoo=nodevfs к команде kernel.

Заметка: в отличие от ранних версий Дженту Линукс, тебе больше не придется добавлять devfs=mount в конец строки kernel чтобы задействовать devfs. Начиная с rc6, devfs задействована по умлчанию.

26. Заключительные шаги: настройка LILO

В то время как GRUB может стать новой альтернативой для многих людей, это не всегда лучший выбор. LILO (LInux LOader - Загрузчик Линукс) - испытанная и верная рабочая лошадка для загрузчиков Линукс. Вот как можно установить ЛИЛО вместо GRUG:

Первый шаг - это закачка ЛИЛО:

Выписка кода 26.1: закачка LILO

# emerge lilo

Теперь надо сконфигурировать ЛИЛО. Я дам тебе небольшой lilo.conf в личное пользование, и объясню разные части файла.

Выписка кода 26.2: примерный lilo.conf

boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 message=/boot/message lba32 default=linux image=/boot/vmlinuz-2.4.20 label=linux initrd=/boot/initrd-2.4.20.img read-only root=/dev/hda5 #Для двойных загрузчиков windows/других ОС other=/dev/hda1 label=dos
  • boot=/dev/hda командует ЛИЛО установить себя на первый жесткий диск первого контроллера IDE.
  • map=/boot/map объявляет файл карты (map). Эту установку, как правило, не трогают.
  • install=/boot/boot.b требует от ЛИЛО установить указанный файл загрузчиком на загрузочном секторе (boot sector). Обычно, это не так же не должно меняться. Если строка установки отсутствует, ЛИЛО использует значение по умолчанию, коим является /boot/boot.b .
  • Наличие prompt требует от ЛИЛО вывести то, на что ссылается строка сообщения (message). В то время как не рекомендуется убирать эту строку приглашения, ты все же можешь получить приглашение, удерживая кнопку [Shift] нажатой во время начальной загрузки компьютера.
  • timeout=50 устанавливает время ожидания ввода выбора пользователя перед продолжением загрузки значения в строке по умолчанию. Это время измеряется в десятых секунды, со значением 50 по умолчанию
  • message=/boot/message ссылается на экран, который ЛИЛО показывает для выбора операционной системы или ядра для загрузки.
  • lba32 описывает ЛИЛО геометрию жесткого диска. Другое частое значение - linear. Не следует изменять это если ты не уверен в том что ты нелаешь. В противном случае, ты поставишь систему в незагружаемое состояние.
  • default=linux указывает на операционную систему по умолчанию которую ЛИЛО может загрузить из списка опций под этой строкой. Имя linux соответствует единой из строк ярлыков (label), идущих далее в каждой из опций загрузки.
  • image=/boot/vmlinuz-2.4.20 указывает на ядро Линукса, которое предстоит загрузить в данной опции.
  • label=linux дает название опции, появляющееся на экране ЛИЛО. В данном случае, эта опция является опцией по умолчанию, так как на это имя ссылается строка default.
  • initrd=/boot/initrd-2.4.20.img ссылается на изначальный Образ ОЗУ-диска (ram disk), используемый во время загрузки, являющийся программой, инициализирующей и стартующей устройства, которые делают возможным загрузку ядра. Изначальный ОЗУ-диск - это коллекция специфических для данной машины драйверов, наобходимых для управления картой Скази, жестким диском, или любым другим устройством необходимым для загрузки ядра. Не пытайся использовать общий ОЗУ-диск для двух или нескольких машин.
  • read-only сообщает что корневой раздел (boot partition), который указан далее в строке root, только для чтения и не может быть записан в течении процесса загрузки.
  • root=/dev/hda5 сообщает ЛИЛО какой раздел диска использовать в качестве корневого раздела (root partition).
  • Заметка: благодарим Redhat.com за эту информацию.

    После того, как ты отредактировал свой файл lilo.conf , можно загонять загрузчик ЛИЛО в MBR (бут-сектор).

    Выписка кода 26.3: запуск ЛИЛО

    # /sbin/lilo

    ЛИЛО настроено и теперь твой компьютер готов стартовать Дженту Линукс!

    27. Заключительные шаги: загрузочные дискеты

    Загрузочные дискеты GRUB

    Всегда полезно иметь загрузочную дискету когда первый раз устанавливаешь дистрибутив Линукс. Это и страховка на всякий пожарный, и просто неплохая идея. Если ты пользуешься каким-нибудь железным RAID, тебе придется сделать бутовый диск GRUB. С такими RAID, если ты попытаешься поставить GRUB из chroot-раковины, ничего не выйдет. Если ты в этом лагере, сделай загрузочную дискету GRUB, и когда ты уже перезапустишь в первый раз, ты сможешь установить GRUВ на бут-сектор (MBR). Вот как сделать стартовую дискету:

    Выписка кода 27.1: создание стартовой дискеты GRUB

    # mke2fs /dev/fd0 # mount /dev/fd0 /mnt/floppy # mkdir -p /mnt/floppy/boot/grub # cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub/ # cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub/ # grub grub> root (fd0) grub> setup (fd0) grub> quit

    Теперь перезапустись с дискеты. По приглашению дискетного GRUB> выполни необходиные команды root и setup.

    ЛИЛОвые загрузочные дискеты

    Если ты пользуешься ЛИЛО, сделать стартовую дискету - тоже неплохая идея.

    Выписка кода 27.2: создание стартовых дискет LILO

    # dd if=/boot/your_kernel of=/dev/fd0 Это работает только для ядра Линукса меньше 1.4 мегабайт

    28. Установка завершена!

    Теперь Дженту Линукс полностью установлен. Обнови необходимые конфигурационные файлы, выйди из раковины chroot, аккуратно размонтируй свои разделы и перезагрузи компьютер:

    Выписка кода 28.1: перезагрузка компьютера

    # etc-update # exit // Это для выхода из раковины chroot; это можно также сделать нажав ^D # cd / # umount /mnt/gentoo/boot # umount /mnt/gentoo/proc # umount /mnt/gentoo/dev # umount /mnt/gentoo # reboot

    Заметка: после перезагрузки, всегда хорошая идея запустить команду update-modules чтобы создать файл /etc/modules.conf. Вместо изменения этого файла напрямую, тебе следует делать изменения в файлах в директории /etc/modules.d.

    Внимание: запони, если ты держишь железный RAID, тебе обязательно надо первый раз загрузиться с дискеты. Затем, вернись к установке GRUB тем же способом, как все остальные это делали сразу. Готово - поздравления!

    Если у тебя есть вопросы или ты хочешь присоединиться к разработке Дженту Линукс, подумай о присоединении к нашим почтовым разсылкам gentoo-user и gentoo-dev. Ссылочка подписки "click to subscribe" есть на нашей основной странице. У нас так же есть удобный гид конфигурации рабочего стола Desktop configuration guide, который поможет продолжить настройку твоей новой системы Дженту Линукс, и полезная инструкция по эксплуатации Портаж Portage user guide для того чтобы помочь тебе освоить основы Портаж. Ты можешь найти остальную документацию Дженту на Английском здесь: here. Если у тебя есть другие вопросы по поводу установки или чего-то еще связанного с ней, пожалуйста проверь раздел часто задаваемых вопросов Дженту Линукс на Английском: FAQ. Приятного времяпрепровождения и добро пожаловать в Дженту Линукс!

    29.Статистика Дженту

    Программа Статистики использования Дженту Линукс была начата как попытка дать разработчикам способ узнать об их пользовательской базе. Она собирает информацию об использовании Дженту Линуксом чтобы помочь нам поставить приоритеты в нашей разработке. Установка совершенно не обязательна, и мы будем очень признательны если ты решишь использовать ея. Собранную статистику можно посмотреть на сайте http://stats.gentoo.org/.

    Сервер статистики Дженту назначит твоей системе уникальный идентификационный номер (ID). Этот ID нужен для того, чтобы каждая система обсчитывалась лишь единожды. Этот номер не будет использовать для поисков твоего компьютера, так же как он не будет сочетаться с адресом Интернет протокола (IP) равно как и другой личной информацией. Были предприняты все возможные усилия чтобы обеспечить твою секретность в разработке этой системы. Вот за чем следит программа "gentoo-stats":

    • Установленные упаковки и их версии
    • Информация о скорости, изготовителе, модели, особенности (такие как "mmx" или "3dnow") ЦПУ.
    • Информация о памяти (объем всего доступного физического ОЗУ, всего доступной виртуальной памяти)
    • Карты PCI и микросхемы сетевых карт
    • Профиль, используемый твоим компьютером, то есть, куда указывает ссылочка /etc/make.profile .

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

    • Покуда ты не станешь изменять программу gentoo-stats, она никогда не передаст личную информацию, такую как твой пароль, подробности конфигурации, размер обуви...
    • Передача адреса электронной почты необязательна и по умолчанию выключена.
    • Адрес Интернет протокола (IP), который передается при соединении никогда не будет записан так, чтобы мы могли тебя определить: в нашей базе данных нет связей между адресом ИП и идентификационным номером системы.

    Установка простая - нужно лишь запустить следующие команды:

    Выписка кода 29.1: установка gentoo-stats

    # emerge gentoo-stats // Устанавливает gentoo-stats # gentoo-stats --new // Назначает системе новый идентификационный номер

    Вторая команда востребует новый идентификационный номер для системы и автоматически занесет его в /etc/gentoo-stats/gentoo-stats.conf. Ты можешь посмотреть этот файл чтобы увидеть дополнительные опции настроек.

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

    Выписка кода 29.2: обновление статистики Дженту с помощью программы cron

    0 0 * * 0,4 /usr/sbin/gentoo-stats --update > /dev/null

    Программа gentoo-stats - это простой перловый скрипт, который можно посмотреть любимым пейджером или редактором: /usr/sbin/gentoo-stats.



    Copyright 2001-2003 Gentoo Technologies, Inc. Questions, Comments, Corrections? Email www@gentoo.org.