From: Васильченко Е.В. <evg@sibmail.ru.>
Newsgroups: email
Date: Mon, 2 Aug 2006 14:31:37 +0000 (UTC)
Subject: Установка Gentoo 2006.0
Установка Gentoo 2006.0 (LinuxCenter Edition). Руководство для начинающих.
В данной статье рассказывается об установке Gentoo 2006.0 (LinuxCenter
Edition). Эта версия поставляется на 2 DVD. Целью этой статьи является
рассмотрение вопроса установки системы в более сокращенном, упрощенном и
последовательном виде, чем в документации, прилагаемой к дистрибутиву.
Статья предназначена для людей, впервые пытающихся поставить Linux и
основана как раз на опыте работы с такими людьми, т.к. использование
стандартной документации, прилагаемой к дистрибутиву иногда вызывает
затруднения. Здесь я постарался не освещать ничего лишнего и вместе с
тем оставил все необходимое для успешной установки системы. В статье
предполагается, что в компьютере находится один новый жесткий диск. Под
словом "новый" понимается, что винчестер находится в
неформатированном состоянии, как после отгрузки с завода-изготовителя.
1. Загрузка операционной системы с DVD.
Заходим в программу Setup BIOS. Для этого после включения компьютера
нажимаем клавишу Delete, Esc или F1 или F2. Возможно, клавиши будут
другие, это зависит от BIOS, нужную клавишу можно прочитать с экрана во
время запуска компьютера. Находим там в меню выбор загрузочного
устройства и устанавливаем первое загрузочное устройство CD-ROM. Обычно
это находится примерно в Advanced Setup -> 1st Boot Device.
Устанавливаем курсор на строке 1st Boot Device, нажимаем Enter,
выбираем стрелками модель своего привода DVD, либо надпись CDROM, еще
раз Enter для подтверждения и F10 для выхода и сохранения настроек,
либо нажатием клавиши ESC выходим из меню Advanced Setup, далее
выбираем Save Changes and Exit и давим Enter. После перезагрузки попрет
грузиться система с LiveDVD, если не забыть вставить первый из двух
дисков.
Через некоторое время на экране должен появиться текст следующего
содержания:
При нажатии F1 появится меню выбора доступных ядер из которых можно
будет подобрать себе по вкусу, если же давить F2, то можно увидеть
список параметров, передаваемых ядру при загрузке. Ими можно будет
поиграться в случае, если система не захочет грузиться.
Давим ENTER для продолжения загрузки, либо ждем, когда система сама
решит, что надо делать и начнет запускаться автоматически. В процессе
загрузки система поинтересуется раскладкой клавиатуры, которую мы
предпочитаем использовать.
Load keymap(ENTER for default:)
Кнопка ENTER, либо набираем 31 и также жмем на ВВОД в
случае желания писать стихи на родном языке, или ожидаем пару секунд, пока
не загрузится стандартная дефолтовая буржуйская раскладка.
В конце этого всего дела экран будет наполнен всякого рода текстом на
английском и русском языках и самой последней строчкой внизу экрана
должна быть разноцветная надпись (если монитор цветной, то так и будет):
livecd root #
Появление этой строки означает успешную загрузку операционной системы с КД.
2. Выбор необходимых разделов.
В принципе, схема разбиения зависит по большей части от назначения
компьютера и от личных потребностей, но, в любом случае, как минимум 2
раздела, должны быть. Это корневой раздел и раздел подкачки (swap). На
эту тематику имеется большое количество информации, поэтому просто
приведу пример, как это сделал я. Для домашнего использования я счел
нужным разбить винт на три раздела:
a) Загрузочный раздел (/boot) размером 32 МБ;
b) Раздел подкачки (swap) 512 МБ
c) Корневой раздел (/) объемом 4 ГБ.(=4096 МБ)
Обычно загрузочному разделу вполне достаточно от 30 до 100 МБ дискового
пространства. Размер раздела подкачки частенько выбирается в 2 раза
большим, чем объем ОЗУ. По моему мнению, при объеме оперативки, большем
или равном 512 МБ, для домашней машины, используемой в мультимедийных
целях, вполне хватит установить размер раздела подкачки, равным объему
ОЗУ. Размер корневого раздела выбран из личных соображений, для хранения
видео и музыки его явно не хватит, учитывая, что в нем будет находится
система, которая сожрет как минимум, процентов 60. Поэтому, если есть
потребность хранения больших объемов данных, есть два варианта. Первый -
увеличить размер корневого раздела до необходимого. Второй - создать
четвертый, пользовательский раздел нужного объема.
3. Создание разделов
В данном дистрибутиве имеются 3 программы для осуществления процедуры
разбивки на разделы. Рассмотрим эти варианты. Но вначале определим,
какое обозначение имеют жесткие диски и разделы. В случае винчестера с
интерфейсом IDE (второе обозначение - ATA), обозначение всего диска
будет иметь вид /dev/hdX, где X - символы от a до d в системе с двумя
IDE-контроллерами, т.е
primary master /dev/hda (главный на 1-ом канале)
primary slave /dev/hdb (подчиненный на 1-ом канале)
secondary master /dev/hdc (главный на 2-ом канале)
secondary slave /dev/hdd (подчиненный на 2-ом канале)
Кто есть кто - стандартно выставляется перемычками на самом винчестере,
практически на любом современном винте сверху имеется схема выставления
перемычек. Номер канала показан на системной плате (находится возле
разъема, куда втыкается шлейф от винчестера или CD-привода). У
SCSI-дисков обозначение несколько другое. Оно имеет вид /dev/sdX,
где X - (a-диск с наименьшим номером, b-следующий диск и т.д. Например,
/dev/sda, /dev/sdb и т.д. Винчестеры стандарта SATA и SATA2 имеют
обозначение, как SCSI. При одном установленном жестком диске SATA он
всегда будет обозначаться как /dev/sda в не зависимости от того, на
какой канал он подцеплен.
Разделы обозначаются добавлением цифр, начиная с 1 к обозначению диска.
Например:
/dev/hda1 - первый раздел на винчестере, подключенному мастером к первому каналу IDE;
/dev/hdb2 - второй раздел на винчестере, подключенному slave'ом к первому каналу IDE;
/dev/sdb3 - третий раздел на втором SCSI или SATA-диске.
3.1. Программа cfdisk
В командной строке пишем cfdisk, давим ENTER для начала выполнения и при
успешном ее запуске должна на экране появится информация, имеющая
примерно следующий вид:
cfdisk 2.12r
Disk Drive: /dev/hda
Size: 40020664320 bytes, 40.0 GB
Heads: 16 Sectors per track: 63 Cylinders: 77545
Name Flags Part Type FS Type Label Size(MB) Pri/Log Free Space 40020.67
[Help] [New] [Print] [Quit] [Units] [Write]
Print help screen
На экране будет выделена белым цветом строка в таблице, там где надпись
Free Space и кнопка HELP нижнем меню.
Если вместо этого появится веселое сообщение внизу экрана:
FATAL ERROR: Cannot open disk drive
Press any key to exit cfdisk
то это не повод для беспокойства. При запуске cfdisk
подрубается именно к /dev/hda. Поэтому либо подключаем винт как
/dev/hda, либо при запуске cfdisk указываем правильный винт, например:
cfdisk /dev/hdc или
cfdisk /dev/sdb
Первым делом создаем загрузочный раздел. Для этого стрелкой вправо (->)
на клавиатуре выбираем кнопку [New] в нижнем меню и нажимаем ENTER. Либо
вместо этого просто давим букву (n) на клавиатуре. Внизу нарисуются:
[Primary] [Logical] [Cancel]
Изначально будет выделена кнопка [Primary]. Поэтому сразу нажимаем
ENTER, либо, если она не выделена, а выделена не она, то в этом
критическом случае не теряемся и стрелками влево или вправо делаем так,
что она все-таки будет выделена и пинаем также ENTER, сразу жмем букву
(p) В результате должно появиться на свет еще более сложное предложение
типа этого:
Size (in MB): 40020,66
Но это не должно нас сбить с правильного пути, т.к. мы знаем
правильный ответ. В моем случае я резко набиваю
число 32, выбранное мной самим в п.2. Далее появляется:
[Beginning] [End] [Cancel]
Смысл в том, что система просит уточнить, с какого места будем нарезать
раздел - с начала [Beginning] или конца [End]. В случае обстоятельств
непреодолимой силы (например, абсолютно нетрезвого состояния, которое
препятствует принятию правильного решения) у нас есть выбор отменить все
операции и вернуться в главное меню, выбрав кнопку [Cancel]. Если такие
проблемы нас не смущают, то, как уже было неоднократно, левым мизинцем
правой руки щелкаем ENTER, если кнопка [Beginning] выделена , или
выделяем кнопку и ENTER или просто кнопка [b] тихо сделает свое дело.
В итоге всего на дисплее должна быть нарисована модернизированная
картина Малевича:
cfdisk 2.12r
Disk Drive: /dev/hda
Size: 40020664320 bytes, 40.0 GB
Heads: 16 Sectors per track: 63 Cylinders: 77545
Name Flags Part Type FS Type Label Size(MB) Pri/Log Free Space 40020.67
[Help] [New] [Print] [Quit] [Units] [Write]
Кнопки снизу упоминать не буду, не представляют они в данном случае
интереса. Просто обращаем внимание на некоторые изменения в таблице
относительно первоначального вида. Просто сразу бросается в глаза первая
строчка, которой не было. Из нее можно получить следующую информацию - создан
(на самом деле пока в проекте) первый раздел на винчестере, имеющем
привилегию master на первом IDE-канале. Это видно из графы Name
(просматриваем первую строку). Этот раздел является первичным - это
видно из столбца Part Type. Размер раздела составляет 32 МБ - это из
столбца Size (MB). Раздел отпилен с начала диска, а не с конца,это
заметно из того, что запись Free Space в колонке FS Type идет после
записи Linux в той же графе(все логично, так как изначально свободным
пространством (Free Space) , был весь диск, то, если мы нарезали раздел
сначала диска, то свободное пространство, естественно, должно остаться в
конце диска).
Создаем второй предусмотренный раздел - раздел подкачки. Для этого
выделяем вторую строку в таблице (там где Free Space) с помощью стрелок
вверх-вниз на клавиатуре (это естественно, когда новый раздел создается не в
уже созданном разделе, а на свободном пространстве, в данном случае я
имею ввиду только первичные разделы.). Как и при создании предыдущего
раздела, выделяем кнопку [New] в нижнем меню, либо нажимаем букву (n) в
случае обычной ординарной клавиатуры, либо громко говорим слово "Нью" в
случае клавиатуры голосовой. Появляются уже знакомые кнопки:
[Primary] [Logical] [Cancel]
Как известно, в связи с особенностями архитектуры современных машин,
основанных на машинах фирмы IBM в те времена, когда нас еще не было в
природе, положено быть лишь четырем разделам, называемым первичными
(primary). Здесь можно сделать примечание: при использовании
дополнительных средств, так называемых чудо-загрузчиков это число можно
изменить в большую сторону. Исходя из написанного выше можно сделать
определенный вывод - число первичных разделов в отличие от презерватива
не резиновое, оно жестко ограничено цифрой 4. А так как не все
операционные системы умеют грузиться с логического раздела (например,
некоторые версии Microsoft Windows), то надо подумать о будущем, вдруг
вернется ностальгия по той жe самой Windows, так лучше заранее
предусмотреть для нее удобное местечко, чтобы не было мучительно больно
за бесцельно прожитые годы. Исходя из этого однозначно выбираем
логический тип раздела для swap и корневого раздела. Смело выделяем
кнопку [Logical] стандартными стрелками (пора к ним привыкнуть) или же
букву (l). Система снова запрашивает размер. Забиваем размер,
придуманный в п.2 для раздела подкачки. В моем случае я набираю 512 и
нажимаю ENTER. Аналогично созданию предыдущего раздела указываем
создание партиции слева направо (сначала в конец), т.е. нужно применить
кнопку [Beginning], вместо нее также подойдет буква (b). В итоге на
дисплее вылезет:
cfdisk 2.12r
Disk Drive: /dev/hda
Size: 40020664320 bytes, 40.0 GB
Heads: 16 Sectors per track: 63 Cylinders: 77545
Name Flags Part Type FS Type Label Size(MB)
hda1 Primary Linux 32.00
hda5 Logical Linux 511.97
Pri/Log Free Space 39476.70
Цифры у вас будут, естественно, другие, т.к. сороковки уже имеются не у
всех. Мы видим, что появился раздел hda5. А почему не hda2!?
Дело в том, что hda1...hda4 - зарезервированы под первичные раздела, а у нас раздел
swap - логический, поэтому он и начинается с hda5.
Осталось совсем немного - создать корневой раздел. По аналогии в таблице
выделяем последнюю строчку (там, где Free Space). Кнопка (n), либо выбор
пункта меню [New] решит эту проблему. Делаем все тоже самое.
Отрезаем сначала диска [Beginning], тип раздела - [Logical], размер 4096 МБ.
Результирующая таблица выглядит, как и было задумано:
hda1 Primary Linux 32.00
hda5 Logical Linux 511.97
hda6 Logical Linux 4096.26
Устанавливаем флаг загрузки для загрузочного раздела. Для этого выделяем
первую строку (где hda1) и нажимаем кнопку [Bootable] или букву (b).
Моментально первая строка преобразится:
hda1 Boot Primary Linux 32.00
Видим, что в колонке Flags появилась запись Boot. Это означает, что этот
раздел стал активным (то есть с него можно грузиться).
Указываем тип раздела для раздела подкачки. Выделяем нужную строку (где
hda5) и выбираем кнопку [Type] в нижнем меню или просто букву (t).
Забиваем код 82 и подтверждаем ENTER'ом.
Окончательный вид таблицы:
hda1 Boot Primary Linux 32.00
hda5 Logical Linux swap / Solaris 511.97
hda6 Logical Linux 4096.26
Не забываем сохранить изменения кнопкой [Write], или вместо нее буквой
(w).Программа cfdisk задаст справедливый вопрос:
Are you sure you want write the partition table to disk? (yes or no):
Отвечаем yes для записи таблицы разделов на диск, ENTER.
Выходим из программы буквой (q) или меню [Quit].
3.2. Программа fdisk
Пишем:
fdisk /dev/hda
Если винт стоит мастером на первом канале, то это должно сработать. Если
не сработало, то вылезет сообщение:
Unable to open /dev/hda
В этом случае начинаем менять буквы, например, /dev/hdb, /dev/hdc,
dev/sda или перемычки на винте, если они есть, конечно. Кому что больше
нравится.
Создаем загрузочный раздел. После запуска программы нажимаем [n] на
клавиатуре для создания нового раздела. программа предложит нам выбор:
Command action
e extended
p primary partition (1-4)
Быстренько набираем [p] на клавиатуре и отвечаем на следующий уточняющий
вопрос:
Partition number (1-4)
Жмем [1] для создания первого первичного раздела и ENTER для
подтверждения. программа уточняет информацию о цилиндрах:
First Cylinder (1-77545, default 1):
Жмем на ENTER, чтобы первым цилиндром был первый цилиндр.
Появится текст следующего содержания
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-77545, default 77545):
То есть, cfdisk предлагает нам указать размер раздела или с помощью
указания последнего цилиндра, или числом цилиндров или нормальными
цифрами в мегабайтах или килобайтах. Например, для создания раздела
размером 1 МБ, мы можем написать 3 (последний цилиндр) или +2 (число
цилиндров) или +1M (размер в МБ) или 1024K (размер в килобайтах).
Пишем +32M, т.е. размер загрузочного раздела, выбранный ранее, а
любителям цилиндров желаю сосчитать все цилиндры.
Создаем расширенный раздел. Также кнопка [n] для создания нового
раздела, ENTER, потом кнопка [e] для создания расширенного раздела,
ENTER, далее указываем номер раздела (в нашем случае - 2), ENTER, следом
указываем номер цилиндра вручную от 64 до 77545 либо давим ENTER для
выбора системой цилиндра 64. Т.к. предыдущий цилиндр закончился на 63
цилиндре, то вполне определенно для второго раздела можно назначить
начальным цилиндр 64. Выставляем размер расширенного раздела +4068M
(получилась сложением размера раздела подкачки и корневого раздела, т.к.
их я решил сделать логическими), ENTER.
Устанавливаем флаг загрузки для загрузочного раздела. Для этого нажимаем
[a], ENTER, [1] (номер раздела), ENTER.
Устанавливаем тип раздела для раздела подкачки. Клавиша [t], ENTER,
[5](номер раздела), ENTER, [82] (шестнадцатеричный код раздела,
означает, что это Linux swap), ENTER.
Проверяем, что натворили. Вводим команду [p], ENTER. Должно получиться
вроде:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 63 31720+ 83 Linux
/dev/hda2 64 8993 4500720 5 Extended
/dev/hda5 64 1056 500440+ 82 Linux swap
/dev/hda6 1057 8993 4000216+ 83 Linux
Для выхода из программы и записи таблицы разделов на диск, нажимаем [w].
Примечание: квадратные и круглые скобки, использованные для обозначения
букв на клавиатуре, вводить не надо, а то ничего работать не будет.
3.3. Программа sfdisk
Эта программа для тех, кому не понравились предыдущие две. Она является
самой легкой в понимании из всех перечисленных, поэтому предлагаю
разобраться с ней самим.
4. Создание файловых систем
Итак, разделы создали, коды файловым системам присвоили. Переходим к
следующему этапу - создаем файловые системы.
Для начала определяемся, что это будут за системы. Системы бывают
разные, например FAT12, ext,ext2, ext3, NTFS, XFS, JFS, ReiserFS, UFS и
т.д. Linux поддерживает не все эти системы, Gentoo - тоже самое,
ставиться также она будет не на всё. Поэтому ищем информацию про них и
аргументированно исполняем свой выбор. Я же определился так -
загрузочный раздел у меня будет ext2, а корневой раздел - ext3.
Для создания ФС применяются следующие команды:
а) Файловая система ext2 создается командами mke2fs или mkfs.ext2
б) ext3 создается mke2fs -j или mkfs.ext3
в) reiserFS получается командой mkreiserfs
г) XFS командой mkfs.xfs
д) JFS командой mkfs.jfs
или все это можно сделать одной единственной командой, имеющей следующий
синтаксис:
mkfs [-V] [-t fstype] [fs-options] device [size]
Начинаем.
mke2fs /dev/hda1 (делаем ФС загрузочного раздела)
Должно появиться примерно следующее:
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block Size=1024 (log=0)
Fragment size=1024 (log=0)
7808 inodes, 31216 blocks
1560 blocks (5%) reserved for super user
First data block=1
4 block groups
8192 blocks per group, 8192 fragments per group
1952 inodes per group
Superblock backups stored on blocks: 8193, 24577
mkswap /dev/hda5 (инициализируем раздел подкачки)
swapon /dev/hda5 (активируем раздел подкачки)
mke2fs /dev/hda6 (создаем систему ext2 на корневом разделе)
tune2fs -j /dev/hda6 (превращаем ее в ext3)
5. Монтирование разделов
5.1 Монтирование корневого раздела:
mount /dev/hda6 /mnt/gentoo
5.2 Создание точки монтирования /mnt/gentoo/boot
mkdir /mnt/gentoo/boot
5.3 Монтирование загрузочного раздела
mount /dev/hda1 /mnt/gentoo/boot
6. Установка правильной даты и времени
6.1 Проверяем время командой date
6.2 Если время неверное, то исправляем его:
date MMDDHHMMYYYY, где
MM - месяц (2 цифры)
DD - день (2 цифры)
HH - час (2 цифры)
MM - минуты (2 цифры)
YYYY - год (4 цифры)
В моем случае я забиваю так:
date 072420012006
В переводе это 24 июля 2006 года, местное время 20.01.
7. Установка архива стадии 3 (stage3) на систему.
Эти архивы находятся на первом DVD в каталоге /stages. Смотрим, что там
есть:
ls /mnt/cdrom/stages
Как видим, там много чего есть. Архивы стадий stage1-stage3 для всяких
разных архитектур. Если у нас нечто типа Интел Пентиум-4, то выбираем
архитектуру i686. Для АМД-64 аналогично подбираем подходящую сборку amd64.
Переходим в каталог /mnt/gentoo
cd /mnt/gentoo
Распаковываем архив стадии:
tar xvjpf /mnt/cdrom/stages/stage3-i686-2006.0.tar.bz2
8. Установка portage
tar xvjf /mnt/cdrom/snapshots/portage-20060309.tar.bz2 -C /mnt/gentoo/usr
9. Редактируем /etc/make.conf для более подходящей компиляции системы и
программ. Описание всех используемых переменных находим в файле
/mnt/gentoo/etc/make.conf.example.
Если нет желания этим заниматься, то можно пропустить этот шаг, а если
желание есть, то:
nano -w /mnt/gentoo/etc/make.conf
10. Монтирование файловых систем /proc и /dev
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev/ /mnt/gentoo/dev
Для того, чтобы эта консоль отличалась от других, набиваем следующее:
export PS1=''work $PS1''
вместо work можно написать что-нибудь свое, более оригинальное.
12. Настройка часового пояса
Находим в /usr/share/zoneinfo свой часовой пояс и копируем его в /etc/localtime или создаем символическую ссылку:
cp /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime
или
ln -sf /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime
13. Установка исходников ядра
Предварительно необходимо скопировать ядро с DVD в
/usr/portage/distfiles/. По данному поводу можно сказать вот что: есть 2
основных варианта - либо скопировать все файлы с DVD, чтобы потом не
возвращаться к этому вопросу, либо только необходимые. Есть еще и третий
вариант - исправить пути к distfiles. Для первого варианта пишем
команду:
Эта тема явно не для первопроходцев. Она настолько обширна, что в данном
случае предлагаю почитать статьи и книги на эту тему, которые в немалом
количестве можно найти в интернете.
Набиваем пароль и еще раз вводим его для подтверждения.
Все - система поставлена. Перезагружаемся командой reboot и наслаждаемся.
Примечание: Чтобы каждый раз не копировать файлы с DVD, можно их
скопировать один раз: cp /mnt/cdrom/distfiles/* /usr/portage/distfiles
(Эта команда работает после того, как сменили корень системы). Для этого
нетрудно подсчитать необходимый размер корневого раздела, т.к. размер
стандартного DVD известен. Если нет желания делать размер корневого
каталога большим, то можно создать дополнительный раздел и
подмонтировать его в каталог /usr/portage/distfiles/ и скопировать файлы
с DVD в него, например:
mount /dev/hda7 /usr/portage/distfiles
cp /mnt/cdrom/distfiles/* /usr/portage/distfiles
Либо можно просто подмонтировать DVD в точку /usr/portage/distfiles:
mount /dev/cdrom /usr/portage/distfiles
При создании этого руководства было выпито 10 литров пива и выкурено 5
пачек сигарет. Поэтому, если будут встречены некоторые неточности,
особенно в конце текста, прошу все-таки сильно критически к этому не
относиться.