Инструкции по установке Gentoo Linux 1.4
Daniel Robbins Chief Architect1. Об Установке
Если вы здесь впервые, то позвольте сказать 'Добро пожаловать!'. Gentoo Linux можно установить несколькими способами. Те кто хотят провести установку быстро, могу воспользоваться набором заранее собранных пакетов. Желающие настроить как можно больше параметров могут собрать Gentoo Linux полностью из исходных кодов (source code). Метод выбирать вам.
Серьезным отличием релиза 1.4 является новый двухдисковый комплект, который вы можете заказать в Магазине Gentoo или загрузить с наших зеркал. В настоящий момент у нас есть комплекты состоящие из 2x CD для x86 (486 и выше), i686 (Pentium Pro, Pentium II, Athlon/Duron и выше), Pentium III, Pentium 4 и Athlon XP. Что бы узнать, какой комплект вам подходит лучше всего, прочитайте описание каждого продукта в нашем магазине.
Теперь о том, что находится на каждом из дисков. Первый диск ("CD 1") называется "Live CD Installation" и является загрузочным CD-ROM - это означает, что вы можете вставить его в свой CD-Drive и загрузить Gentoo Linux прямо с диска. Затем вы можете использовать эту версию Gentoo для установки Gentoo Linux 1.4 на ваш жесткий диск. Кроме загрузочной среды, каждый CD1 содержит все, что вам необходимо, чтобы быстро установить Gentoo Linux, даже не имея Internet подключения. Плюс к этому этот диск содержит несколько заранее собранных пакетов, таких как XFree86 X сервер. Если у вас есть ISO образ диска CD 1, то его имя будет оканчиваться на "-cd1.iso".
Второй диск ("CD 2") не является загрузочным и содержит набор заранее собранных пакетов для вашей системы. На этом диске вы найдете собранные и оптимизированные версии таких программ, как KDE, Gnome, OpenOffic, Mozilla, Evolution и другие. CD 2 является выборочным и предназначен для тех, кто хочет установить Gentoo Linux быстро. Пакеты на этом диске займут потребуют около 36 часов компиляции на стандартной однопроцессорной машине, если вы захотите собрать их из исходников. Если у вас есть ISO образ диска CD 2, то его имя будет оканчиваться на "-cd2.iso".
Note: Полный двух-дисковый комплект Gentoo Linux содержит Gentoo Reference Platform, который является полной, заранее собранной системой Gentoo Linux, включающей GNOME, KDE, Mozilla и OpenOffice. Gentoo Reference Platform (GRP) был создан, что бы позволить провести установку Gentoo Linux быстро, если вам это необходимо. Возможность "сборки из исходных кодов", которая является краеугольным камнем Gentoo Linux всегда будет является полностью поддерживаемым вариантом установки. Целью GRP является сделать Gentoo Linux более удобным некоторым пользователям, не затронув при этом возможность "установки из исходников" никаким образом. |
Помимо двухдискового комплекта, мы также предоставляем очень маленький "базовым" Live CD, который вы можете использовать для загрузки системы. После загрузки вы можете настроить подключение к Internet и установить Gentoo через сеть. Плюсом этого "базового" CD является то, что он маленький и ISO образ может быть загружен очень быстро. Если вы опытный пользователь и хотите установить самую свежую версию Gentoo Linux, и при этом у вас быстрое сетевое подключение, то вы можете выбрать этот вариант установки.Если у вас есть ISO образ этого диска, то его имя будет оканчиваться на "-basic.iso".
Чтобы воспользоваться любым методом установки Gentoo Linux с CD, вам нужно иметь процессор 486+ и, в идеале, 64 МБ RAM. (Gentoo Linux был успешно собран с 64 МБ RAM + 64 МБ подкачки, но установка проходит крайне медленно.)
После загрузки с Live CD вам предоставляется еще больший выбор. Установка Gentoo Linux возможна из 3-х тарболов "stage". Выбор тарболла зависит от того, что именно из системы вы хотите скомпилировать сами. Тарбол stage1 позволяет загрузится и полностью построить всю систему с нуля. Тарбол stage2 строит Gentoo Linux на базе 'полусобранной' системы. Тарбол stage3 уже содержит базовый Gentoo Linux. Если вас интересует GRP установка, то вы должны использовать stage3.
Если вы делаете GRP установку, то с какого пакета вам начать - stage1, stage2 или stage3? Дальнейшая информация поможет вам принять правильное решение.
Stage1 позволяет полностью контролировать процесс установки и оптимизации и, по желанию, предварительно задействованную функциональность системы времени сборки.Пожалуй stage1 наиболее подойдет опытным пользователям, которые точно знают что они делают. Кроме того этот метод прекрасно подходит тем, кто хочет побольше узнать о внутренней работе Gentoo Linux.
Установка из тарбола Stage2, позволяет опустить процесс начальной сборки (bootstrap) и довольствоваться тем уровнем оптимизации, который был предусмотрен разработчиками.
Быстрее всего можно установить систему используя тарбол stage3. Но это подразумевает, что настройки оптимизации будут теми, которые мы выбрали для вас (честно говоря, они достаточно хорошие и были тщательно выбраны, чтобы обеспечить максимальную производительность при высокой стабильности.) Так как основные релизы содержат stage3 пакеты специально оптимизированные под различные популярные процессоры, начав со stage3 позволяет вам убить двух зайцев одним выстрелом: вы получаете быструю установку при высокой степени оптимизации.
Stage3 или Stage3 + GRP наиболее подходит для тех пользователей, которые решили установить Gentoo Linux впервые.
Note: Опытным пользователям:Если вы используете stage3 установку, то вы не должны менять установки CHOST в make.conf. Если вам нужно внести такие изменения, начните с stage1 и соберите систему с нужными установками CHOST. Установки CHOST как правило выглядят таким образом: i686-pc-linux-gnu |
Important: Если вы сталкиваетесь с проблемой в ходе установки и хотите сообщить о ней как об ошибке, вы можете сделать это на http://bugs.gentoo.org. Если об ошибке нужно сообщить непосредственно разработчикам программы (например KDE), то разработчики Gentoo Linux займутся этим. |
Note: Замечание: Инструкция по установке Gentoo Linux, которая находится на установочном диске может быть не самой новой так что рекомендуется использовать самую свежую версию с адреса http://www.gentoo.org/doc/en/gentoo-x86-install.xml. Разработчики Gentoo Linux рекомендуют использовать всю документацию с сайта т.к. там лежат самые свежие версии всех инструкций. |
Давайте взглянем в целом на процесс установки. Сначала нужно скачать образ диска, записать его с помощью cd-rw привода и загрузиться с него. Из консоли после загрузки диска уже с правами суперпользователя мы создадим партиции и соответствующую файловую систему на них, распакуем необходимый архив: stage1, stage2 или stage3. Если вы выбрали stage1 или stage2 то придется выполнить некоторые действия чтобы довести его до готовности stage3 архива. Когда наша система доведена до состояния stage3, мы сможем ее настроить (настроить конфигурационные файлы, установить загрузчик и т.д.), загрузиться и получить полностью работоспособную систему Gentoo Linux. После того, как базовая система запущена, вы можете, по желанию, использовать CD 2 и установить заранее собранные пакеты, такие как KDE, GNOME, OpenOffice, Mozilla или другие, которые вы хотите, чтобы присутствовали в системе.
В зависимости от того, с какого тарбола мы начинали, вот перечень того, что будет необходимо для инсталляции:
Тарбол | Интернет доступ | Необходимый носитель | Шаги |
1 | Да | basic или CD 1 | разбиение диска/установка файловых систем, sync, боотстрап, установка системы, конечная настройка |
2 | Да | basic или CD 1 | разбиение диска/установка файловых систем, sync,установка системы, конечная настройка |
3 | Нет если используется CD 1, иначе - Да | basic или CD 1 | разбиение диска/установка файловых систем, sync(не нужен если используется CD 1),конечная настройка |
Note: Владельцам ATA RAID прежде чем приступить к установке следует ознакомиться с разделом ATA RAID в конце документа. |
2. Загрузка
Warning: Прежде чем приступить к установке, внимательно ознакомьтесь с документом, особенно с разделом посвященным типам загрузки. Это может повлиять на работу клавиатуры,бездействие pcmcia, и.т.д. |
Загрузитесь с выбранного вами LiveCD. Вы увидите прикольный логотип Gentoo Linux logo на экране. Нажмите Enter чтобы приступить к загрузке или же предварительно укажите тип ядра и опции загрузки. Например gentoo nousb nohotplug. Если вы устанавливаете Gentoo на систем с более чем одним процессором, то укажите smp вместо gentoo. Это позволит LiveCD видеть все процессоры, а не только первый.
Смотрите таблицу ниже для частичного списка доступных ядер или нажмите F2 и F3, чтобы увидеть экраны помощи.
Типы ядра. | описание |
gentoo | базовое ядро gentoo (по умолчанию) |
nofb | без framebuffer |
smp | загрузка smp ядра с отключенным framebuffer-ом |
acpi | поддержка acpi=on с загрузкой модулей acpi вовремя инициализации |
memtest | загрузка программы тестирования памяти |
Типы загрузки. | описание |
doataraid | загружает модули ide raid из initrd |
dofirewire | загрузка модулей firewire для устройств firewire (firewire cd-rom, и др.) из initrd |
dokeymap | выбор раскладки клавиатуры |
dopcmcia | запуск службы pcmcia |
doscsi | ищет устройства scsi (может негативно повлиять на работу некоторых сетевых карт) |
noapm | отключение модуля apm при загрузке |
nodetect | отключает запуск программ hwsetup/kudzu и hotplug |
nodhcp | не включает службу dhcp если обнаружен nic |
nohotplug | отключает загрузку службы hotplug устройств |
noraid | отключает загрузку модулей evms |
nousb | отключает загрузку модулей usb из initrd, также отключает hotplug |
ide=nodma | отключает dma режим для некорректно работающих устройств ide |
cdcache | Кэширует содержимое cd-rom в оперативную память, используется 40mb RAM , но это зато позволит выполнить размонтировать /mnt/cdrom и подключить другой диск. |
После нажатия Enter wвы увидите еще более прикольный экран и индикатор загрузки:
После окончания загрузки вы автоматически входите в систему "Live" Gentoo Linux с аккаунтом администратора- "root" - супер пользователь. После получения стандартного приглашения командной строки пользователя root ("#") вы можете переключать консоли с помощью Alt-F2, Alt-F3 и Alt-F4. Чтобы вернутся на исходную консоль, нажмите Alt-F1. Консоль будет выглядеть примерно так:
Note: Опытным пользователям: Когда вы загрузитесь с Gentoo Live CD пароль от суперпользователя будет выбран случайно в целях безопасности. Если вы планируете sshd подключение к Live CD то необходимо задать пароль для суперпользователя командой passwd и следовать ею инструкциям.В противном случае пароль от суперпользователя останется неизвестным и вы не сможете подключаться к Live CD по сети. |
Вы также заметите, что приглашение командной строки # будет сопровождаться различными подсказками по настройке сети и местом расположения stage тарболов Gentoo Linux на компакт-диске.
3. Настройка оборудования
При загрузке Live CD пытается определить ваше оборудование и загрузить модули ядра необходимые для его поддержки. В большинстве случаев это работает. Однако иногда необходимые модули могут оказаться не загружены. Если автоопределение PCI пропустило ваше оборудование, следует вручную загрузить соответствующие модули ядра. Для просмотра списка доступных модулей сетевых карт наберите ls /lib/modules/`uname -r`/kernel/drivers/net/*. Для загрузки модуля наберите:
Code Listing 3.1: Конфигурация PCI модулей |
# modprobe pcnet32 (замените pcnet32 на модуль вашей сетевой карты) |
На получения доступа к SCSI устройствам, которые не были найдены автоматически, загрузите соответствующие модули из /lib/modules, опять таки используя modprobe:
Code Listing 3.2: Загрузка модулей SCSI |
# modprobe aic7xxx (замените aic7xxx на модуль вашего адаптера SCSI) # modprobe sd_mod (sd_mod - это модуль для поддержки SCSI-дисков) |
Note: Поддержка SCSI CD-ROM-а и дисков уже включена в ядро. |
Note: Опытным пользователям Gentoo LiveCD также включит поддержку DMA на ваших дисках, для увеличения скорости доступа, но если этого не произошло, используйте hdparm чтобы самостоятельно установить необходимые параметры . |
Code Listing 3.3: Настройка DMA |
Замените hdX на имя вашего диска. # hdparm -d 1 /dev/hdX Включает DMA # hdparm -d1 -A1 -m16 -u1 -a64 /dev/hdX (Включает DMA и другие безвредные опции, улучшающие быстродействие) # hdparm -X66 /dev/hdX (Принудительно включает Ultra-DMA -- опасно -- может привести к нестабильной работе дисков) |
4. Конфигурация сети
Если ваша система включена в Ethernet сеть, высока вероятность, что поддержка сети была автоматически сконфигурирована. Если так, то будут доступны команды с LiveCD типа ssh, scp, ping, irssi, wget and lynx, и прочие.
Проверьте конфигурацию сети с помощью /sbin/ifconfig, и просмотрите функционирующие сетевые интерфейсы кроме lo, такие как eth0:
Code Listing 4.1: /sbin/ifconfig for a working network card |
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 |
Можно попробовать пропинговать DNS сервер вашего провайдера(адрес DNS сервера указывается в/etc/resolv.conf), чтобы проверить что пакеты достигают сети, DNS работает корректно и др.
Code Listing 4.2: Дальнейшее тестирование сети |
# ping -c 3 www.yahoo.com
|
Ну что, сеть работает? Тогда можете следующий раздел не читать.
Если вы пользуетесь соединением интернет типа PPPoE, то с помощью пакета rp-pppoe, он есть на всех LiveCD (любой версии) настройка будет очень легкой. С помощью скрипта adsl-setup конфигурируем соединение - указываем сетевое устройство подключенное к adsl модему,имя пользователя и пароль, IP адреса DNS серверов, а также необходимость использования базового файервола.
Code Listing 4.3: Конфигурация PPPoE |
# adsl-setup # adsl-start |
Если возникли неполадки, проверьте правильность написания имени пользователя и пароль в файле /etc/ppp/pap-secrets или /etc/ppp/chap-secrets, и убедитесь что имя сетевого устройства указано правильно.
Автоматическое конфигурирование сети
Наиболее простой способ быстро сконфигурировать сеть, если она не была сконфигурирована автоматически, это запустить скрипт net-setup.
Code Listing 4.4: Скрипт установки сети |
# net-setup eth0
|
Хотя конечно вы можете сделать тоже самое вручную. Об этом далее.
Использование DHCP позволяет очень легко настроить сеть; Если же ваш провайдер не использует DHCP, пропустите эту часть и следуйте с раздел конфигурирования сети со статическим адресом.
Code Listing 4.5: Конфигурирование сети с использованием DHCP |
# dhcpcd eth0
|
Note: Некоторые ISP требуют от вас имя компьютера. Для этого добавьте флаг -h myhostname к команде демона dhcpcd ниже. |
Если вы получили предупреждения dhcpConfig, не волнуйтесь; ошибки скорее всего пустяковые и следуйте далее к тестированию сети ниже.
Конфигурирование сети со статическим адресом вручную.
На этом этапе сеть нам нужна исключительно для того, чтобы мы смогли выкачать исходники для построения системы, равно как и для локального интерфейса.Информацию об этом вы найдете далее.
Информация | Описание | Пример (значение) |
IP адрес | IP-адрес, назначаемый вами сетевой карте | 192.168.1.2 |
Широковещательный адрес | IP-адрес транслирующий пакеты всем компьютерам сети. | 192.168.1.255 |
Маска сети | Маска используемая для определения, какая часть IP адреса идентифицирует сеть, а какая компьютер | 255.255.255.0 |
Шлюз | IP-aдрес компьютера, перенаправляющего пакеты не предназначенные для локальной сети (чаще всего компьютер, напрямую подключенный к интернет) | 192.168.1.1 |
Наберите следующие команды, заменив $IFACE вашим сетевым интерфейсом (обычноeth0), $IPNUM своим IP адресом,$BCAST широковещательным адресом, и $NMASK маской сети. Для команды route замените $GTWAY своим шлюзом.
Code Listing 4.6: Конфигурация сети со статическим IP адресом |
# ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK # /sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1 $IFACE |
Теперь пора создать файл/etc/resolv.conf для того, чтобы корректно работало разрешение имен (необходимо для поиска веб и ftp страниц по имени, а не по IP-адресу). Так же можно использовать nano -w /etc/resolv.conf для создания файла /etc/resolv.conf. nano это такой маленький и простенький редактор.
Вот типовой шаблон для создания вашего /etc/resolv.conf:
Code Listing 4.7: Шаблон /etc/resolv.conf |
domain mydomain.com nameserver 10.0.0.1 nameserver 10.0.0.2 |
Замените 10.0.0.1 и 10.0.0.2 IP адресами ваших первичного и вторичного DNS серверов соответственно.
Если доступ в интернет осуществляется через прокси-сервер, обязательно нужно настроить и его. Мы экспортируем несколько переменных чтобы настроить прокси.
Code Listing 4.8: Конфигурирование прокси |
// Если прокси запрещает трафик HTTP : # export http_proxy="machine.company.com:1234" // Если прокси не пускает на FTP: # export ftp_proxy="machine.company.com" // Если запрещен RSYNC : # export RSYNC_PROXY="machine.company.com" |
Теперь сеть сконфигурирована и готова к работе. Теперь команды ssh, scp, lynx, irssi и wget полностью доступны и можно подключаться к интернету и другим компьютерам в локальной сети и через интернет.
5. Установка времени и даты
Теперь необходимо установить системное время и дату. Это делается с помощью команды date.
Code Listing 5.1: Установка даты |
# date Thu Feb 27 09:04:42 CST 2003 (Если дата отображается неверно, попробуйте следующую команду) # date 022709042003 (date MMDDhhmmCCYY) |
6. Файловые системы, разделы и блочные устройства
В этой секции мы рассмотрим работу Gentoo Linux и Linux в общем с дисковыми устройствами, включая файловые системы Linux, разделы дисков и блочные устройства. После того как вы получите представление о работе дисков и файловых систем, можно будет приступать к разбиению диска на разделы для установки Gentoo Linux.
Для начала, начнем с "блочных устройств". Наиболее известным блочным устройством, пожалуй будет первый IDE диск в системе Linux:
Code Listing 6.1: /dev/hda, блочное устройство - первичный мастер IDE диск в вашей системе |
/dev/hda |
Если ваша система использует SCSI, то первым жестким диском будет:
Code Listing 6.2: /dev/sda, блочное устройство, первый логический SCSI диск в системе |
/dev/sda |
Блочное устройство представляет из себя абстрактный интерфейс диска. Благодаря этому, программы пользователя могут свободно общаться с диском, не волнуясь по поводу того IDE это диск или же это SCSI или что-то еще. Программа может обращаться к хранилищу на диске просто как набор всяческих 512-байтных блоков.
В Linux, файловые системы создаются с помощью команды mkfs (или mke2fs, mkreiserfs, и т.д.,) с указанием непосредственного блочного устройства в командной строке в качестве аргумента.
И хотя теоретически возможно использовать все блочное устройство, представляющее целый диск под одну файловую систему (например /dev/hda или /dev/sda), этого на практике практически никогда не случается. Наоборот, все диски разбиваются на более мелкие, более компактные и управляемые блочные устройства под названием "разделы". Разделы создаются инструментом под названием fdisk, с помощью которого можно создавать, редактировать таблицу разделов, хранящуюся на каждом диске. А сами таблицы определяют, как именно разбит целый диск.
Взглянем на таблицу разделов запустив fdisk, и указав в качестве аргумента нужный диск как блочное устройство:
Note: Альтернативные варианты fdisk называются cfdisk, parted и partimage. Мы рекомендуемfdisk потому что он является наиболее мощным средством из используемых в мире Unix/Linux. |
Code Listing 6.3: Запуск fdisk |
# fdisk /dev/hda
|
или
Code Listing 6.4: Запускаем fdisk чтобы просмотреть таблицу разделов на /dev/sda |
# fdisk /dev/sda |
Important: Обратите внимание, что не следует сохранять или делать какие либо изменения в таблице разделов диска, если он уже содержит информацию о файловых системах или которые на данный момент используются - это приведет к потере данных. |
Строка приглашения fdisk выглядит следующим образом:
Code Listing 6.5: Строка приглашения fdisk |
Command (m for help): |
Type p to display your disk's current partition configuration:
Code Listing 6.6: Образец конфигурации диска |
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): |
Этот диск, в частности, разбит на 7 разделов с файловыми системами Linux ( каждая соответствующим разделом отмечена как "Linux") равно как и раздел swap. (помечен как "Linux swap").
Обратите внимание на соответствующие разделы блочных устройств с левой стороны: начиная с /dev/hda1 и заканчивая /dev/hda9. Ранее, на заре персональных компьютеров было дозволено не более 4-х разделов, называемых "primary" - первичные.Этого катастрофически не хватало, поэтому были придуманы extended - расширенные. Как и первичные, их количество ограничено четырьмя, но, в отличии от от первичных,они могут содержать неограниченное количество так называемых логических, что позволило обойти проблему ограничения создания первичных дисков.
Все разделы начиная с hda5 и выше являются логическими. Номера с 1-го по 4-й зарезервированы под первичные и расширенные разделы
Например, hda1 по hda3 являются первичными. hda4 это расширенный раздел, содержащий логические разделы с hda5 по hda9. Собственно, никогда не придется использовать /dev/hda4 для непосредственного хранения файловой системы -- она просто будет действовать как хранилище для разделов с hda5 по hda9.
Также обратите внимание, что каждый раздел имеет свой "Id", еще называемый "тип раздела". Когда бы вы ни создавали новый раздел, проверьте что корректно указали тип раздела.Тип раздела '83' говорит о том, что раздел размещает файловую систему Linux filesystems, '82' - подразумевает Linux swap а 'fd' рекомендуется для использования с разделами Software RAID.Тип раздела устанавливается опцией t в fdisk. Ядро Linux использует тип раздела для автоопределение файловой системы и раздела подкачки по время загрузки.
Разбиение диска на разделы с помощью fdisk
Теперь, когда у вас уже имеется общее представление о процессе разбиения дисков в Linux, подробно рассмотрим процесс создания разделов для Gentoo Linux. После разбиения, диск будет иметь следующую структуру:
Code Listing 6.7: Структура разделов после выполнения следующих операций |
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 Command (m for help): |
На нашем диске "для новичка" теперь 3 раздела. Первый, в начале диска, под именем (/dev/hda1) очень маленький раздел предназначенный для загрузки. На нем будет размещена информация о загрузчике GRUB, ( если это будет он) ну и конечно ядро(а) Linux. Подобное размещение информации о загрузке представляется наиболее оптимальным и безопасным. А во время обычного ежедневного использования Gentoo Linux, этот раздел должен оставаться размонтированным в целях безопасности. В случае со SCSI, загрузочный раздел будет называться /dev/sda1.
Для стабильной работы рекомендуется помещать загрузочный раздел (содержащий все необходимое для загрузки) в начале диска, хотя на сегодняшний момент это уже не является принципиальным. Это исключительно старая добрая традиция, когда загрузчик lilo не мог загрузить ядро системы из раздела находящегося дальше 1024 цилиндра.
Второй раздел(/dev/hda2) используется для подкачки (swap). Ядро использует файл подкачки на диске в качестве дополнительной виртуальной памяти в том случае, когда испытывается недостаток оперативной памяти RAM. Собственно этот раздел также не следует создавать очень большим, его типичный размер обычно не должен превышать 512MB. В случае со SCSI, раздел будет называться /dev/sda2.
Третий раздел (/dev/hda3) занимает оставшееся место на диске. Этот раздел называется основным или же раздел "root". Все ваши и служебные данные Gentoo Linux хранятся на этом диске. Если у вас SCSI диск, он будет называться будет /dev/sda3.
Прежде чем начать делить диск, ознакомьтесь с краткой сводкой о рекомендуемых разделах и файловых системах для установки и использования с Gentoo Linux:
Раздел | Размер | Тип | устройство |
загрузочный раздел, содержит ядро(а)и информацию необходимую для загрузки | 32 мегабайта | ext2/3 настоятельно рекомендуется (и просто);если все же ReiserFS тогда монтируется с опцией -o notail. При использовании ext3 или ReiserFS, следует добавить к размеру раздела размер журнала; в этом случае рекомендуется 64 Mб | /dev/hda1 |
раздел подкачки (swap) (более без ограничения в 128 Mб, теперь можно до 2GB) | Обычно размер свопа составляет количество оперативной памяти умноженное на 2. | Linux swap | /dev/hda2 |
основной раздел "root", содержит основную файловую систему и данные (/usr, /home, etc) | >=1.5 Гигабайта | ReiserFS, ext3 рекомендуется; ext2 тоже ничего | /dev/hda3 |
А теперь давайте создадим разделы, приведенные выше. Для начала наберем: fdisk /dev/hda или fdisk /dev/sda, в зависимости от типа диска- IDE или SCSI. Потом нажимаем на букву p для просмотра текущей конфигурации. Так, на диске есть что-то такое чтобы хотелось сохранить? Тогда срочно остановиться. Если продолжать дальше,ВСЯ существующая информация на диске исчезнет
Important: Если следовать следующим инструкциям, вся информация на диске будет стерта! Убедитесь, что на диске нет критично важной информации для вас и ее не жалко удалить. Еще раз проверьте что вы выбрали нужный диск чтобы не удалить данные не с того диска. |
А теперь начинаем все удалять. Для этого нажимаем на буковку d и подтверждаем действие нажатием Enter. Еще вас попросят указать номер раздела который следует удалить. Для удаления уже существующего /dev/hda1, набираем:
Code Listing 6.8: Deleting a partition |
Command (m for help): d Partition number (1-4): 1 |
Теперь раздел поставлен в очередь на удаление.Отобразить раздел уже не удастся нажав p, но данные будут находиться в целости до тех пор пока вы не сохраните изменения. Если вы ошиблись, и хотите выйти без сохранения изменений, срочно нажмите q и потом enter и раздел с данными останется.
Допустим что вы решились удалить все разделы на диске, тогда нажимайте p для вывода на экран информации об оставшихся разделах, а затем нажимайте d и номер раздела, который нужно удалить.В конце концов у вас на диске ничего не останется:
Code Listing 6.9: An empty partition table |
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): |
Теперь, когда в памяти таблица разделов опустела, можно создавать раздел загрузки или "boot partition". Для этого нажимаем n для создания раздела и p чтобы указать что раздел первичный. Дальше нажимаем 1 для создания первого первичного раздела. На запрос о номере первого цилиндра просто нажмите "enter". На вопрос о номере последнего цилиндра наберите +32M для создания раздела размером в 32MB. Вот так это будет выглядеть на экране:
Note: Журналируемые файловые системы требуют дополнительное место для журнала. Настройки по умолчанию требую дополнительно 33 мегабайта. Следовательно, если вы используете журналуруюмую файловую систему для /boot, вы должны набрать +64 в ответ на запрос о цилиндре. |
Code Listing 6.10: Steps to create our boot partition |
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, на экране появится следующее сообщение:
Code Listing 6.11: Our first partition has been created |
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 |
Теперь создаем своп он же swap. Для этого опять нажимаем n и создаем раздел, затем p чтобы сказать fdisk что раздел тоже первичный, потом нажимаем 2 - это значит что это будет второй первичный раздел, и конечно в нашем случае/dev/hda2. На вопрос о первом цилиндре просто жмем enter. На вопрос о последнем отвечаем: +512M и раздел получается размером в 512MB. После этого жмем t для выбора типа раздела, 2 для выбора только что созданного раздела и 82 что значит "Linux Swap" т.е. нужный нам своп. Заканчиваем и набираем p для просмотра информации и разделах и что мы видим? А видим мы что-то вроде:
Code Listing 6.12: Our swap partition has been created |
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 |
Ну и наконец создаем основной раздел.Опять таки жмем n и создаем новый раздел, потом p это у нас тоже будет первичный раздел. Укрываем номер раздела. Это конечно будет раздел номер 3 и затем /dev/hda3. Опять вопрос о первом цилиндре и опять жмем enter. Потом опять вопрос о последнем цилиндре и мы снова жмем enter и этот раздел займет оставшееся место на диске до самого конца. Закончив со всем нажимаем p и видим следующую таблицу разделов:
Code Listing 6.13: Сoздан основной раздел |
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 |
И вот наконец ставим флаг "bootable" т.е. загрузочный напротив первого, раздела загрузки и записываем изменения на диск.Чтобы отметить /dev/hda1 как "загрузочный" жмем a в меню и указываем номер раздела 1. Теперь, если нажать p, напротив /dev/hda1 стоит * в колонке "Boot". Теперь записываем изменения на диск - посему жмем w и затем enter. Теперь жесткий диск готов к установке на негоGentoo Linux.
Note: Если fdisk или cfdisk просят перезагрузиться, лучше перезагрузитесь, чтобы система смогла найти новые разделы. |
Теперь, когда были созданы все разделы, пора приступать к установке файловых систем на загрузочном и основном разделах, чтобы в дальнейшем их можно было смонтировать и использовать. Также мы настроим и раздел свопа.
В Gentoo Linux осуществлена поддержка большого количества файловых систем. Каждая из них имеет свои преимущества и недостатки. На данный момент поддерживается создание файловых систем ext2, ext3, XFS, JFS и ReiserFS.
Добрая старая ext2 очень неплохо себя зарекомендовала, но она не поддерживает журналирование метаданных, а это значит что рутинная проверка диска при загрузке может превратится достаточно длительную процедуру. Есть более современные системы, наследницы ext2, с поддержкой журналирования. Более надежные, и чья проверка занимает гораздо меньше времени.Обычно все предпочитают журналируемую систему которые предотвращают длительные задержки при загрузке когда файловая система находится в "бессознательном" состоянии.
ext3 это журналируемый вариант ext2. Она обеспечивает журналирование метаданных что позволяет быстро восстановить повреждения,и еще такие функции как журналирование данных и журналирование отсортированных данных. Это очень хорошая и надежная файловая система.Она работает практически в любых условиях и обеспечивает среднее быстродействие. Поскольку в ее основе не лежит "древовидная" организация структуры, она плохо масштабируется, а значит она плохо подходит для создания больших файловых систем или хранения большого количества файлов, особенно в одной директории. Но правильно настроенная и используемая в соответствующих условиях она практически идеальна.
Файловая система ReiserFS имеет B*-древовидную структуру построения, что положительно сказывается на производительности. Она оставила далеко позади ext2 и ext3 особенно в работе с небольшими файлами (меньше 4k),часто по фактору 10x-15x. ReiserFS хорошо масштабируется и поддерживает журналирование метаданных. Поддержка ReiserFS имеется во всех ядрах Linux начиная с ядра 2.4.18+, ее можно использовать как и на обычных компьютерах, так и на крупных системах для хранения маленьких, больших, средних файлов и директорий с десятками тысяч файлов. Мы рекомендуем ReiserFS для всех разделов кроме загрузочного.
XFS это еще одна журналируемая файловая система, которая поддерживается Gentoo Linux (ядро xfs-sources). Имеет большое количество возможностей и отлично масштабируется. Рекомендуется к использованию на SCSI устройствах класса high-end или/и оптоволоконных хранилищах с бесперебойным питанием.Из-за того что XFS интенсивно кэширует транзитные входящие данные в оперативную память, некоторые не совсем корректно написанные программы, могут привести к потери информации, при некорректном завершении работы.
JFS это высокопроизводительная файловая система от IBM с поддержкой журналирования данных. Поставляется недавно и по ней доступно очень мало информации, поэтому трудно комментировать ее положительные и отрицательные характеристики.
Наиболее простой в употреблении, из журналируемых систем, будет ext3. Если же вы ищете удобную и надежную систему общего пользования, берите ReiserFS; Обе, и ext3 равно как и ReiserFS зрелые отточенные файловые системы пригодные к использования в большинстве задач.
Основываясь на вышеприведенных примерах, будем использовать следующие команды для инициализации наших разделов:
Code Listing 6.14: Инициализация разделов (пример) |
# mke2fs -j /dev/hda1 # mkswap /dev/hda2 # mkreiserfs /dev/hda3 |
Для /dev/hda1 мы выбрали ext3, поскольку она поддерживается большинством загрузчиков. Мы пользовались mkswap для свопа на /dev/hda2 -- здесь все ясно И для основного раздела на /dev/hda3 мы выбрали ReiserFS, поскольку эта файловая система показывает отличное быстродействие. А теперь инициализируем разделы.
К сведению, вот ряд вариаций на тему mkfs-образных команд, которые можно использовать во время установки:
mkswap используется для инициализации свопа:
Code Listing 6.15: Инициализация раздела Swap |
# mkswap /dev/hda2
|
для создания ext2 берем mke2fs:
Code Listing 6.16: Создаем файловую систему ext2 |
# mke2fs /dev/hda1
|
Если все же собрались создавать ext3, делаем следующее: mke2fs -j:
Code Listing 6.17: Создаем файловую систему ext3 |
# mke2fs -j /dev/hda3
|
Note: Подробнее, об использовании ext3 под Linux 2.4 можно узнать на http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html. |
Для создания системы ReiserFS, используем команду mkreiserfs:
Code Listing 6.18: Создаем файловую систему ReiserFS |
# mkreiserfs /dev/hda3
|
Создание файловой системы XFS с помощью mkfs.xfs:
Code Listing 6.19: Создаем файловую систему XFS |
# mkfs.xfs /dev/hda3
|
Note: Можно добавить несколько дополнительных аргументов командой mkfs.xfs: -d agcount=3 -l size=32m. Аргумент -d agcount=3 уменьшает количество распределяемых групп. XFS настаивает на использовании как минимум 1 группы на 4 GB раздела поэтому на раздел размером 20 GB потребуется минимум 5 agcount. -l size=32m увеличивает размер журнала до 32 Mb, что улучшает быстродействие. |
Файловая система JFS создается с помощью команды mkfs.jfs:
Code Listing 6.20: Создаем файловую систему JFS |
# mkfs.jfs /dev/hda3
|
7. Точки монтирования
Теперь активируем только что инициализированный раздел свопа (swap), поскольку в дальнейшем нам может понадобиться дополнительная виртуальная память:
Code Listing 7.1: Активация Swap |
# swapon /dev/hda2
|
Далее создаем точки монтирования /mnt/gentoo и /mnt/gentoo/boot и монтируем туда наши файловые системы. Теперь все файлы которые мы создаем или копируем в /mnt/gentoo будут размещаться на новых файловых системах. Если вы создали отдельные разделы для /usr или /var, то тогда они будут смонтированы в /mnt/gentoo/usr и /mnt/gentoo/var соответственно.
Important: Если раздел,содержащий ядро форматирован под ReiserFS, убедитесь что он смонтирован с -o notail опцией, так что GRUB будет правильно установлен. Убедитесь, что и в /etc/fstab добавлено notail. Мы дойдем до этого чуть позже. Для LILO с ReiserFS, аргумент -o notail не требуется. Но все же лучше указать -o notail для ReiserFS на всякий случай. |
Code Listing 7.2: Создание точек монтирования |
# mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot |
Important: Если не удается смонтировать загрузочный раздел под ext2, попробуйте mount /dev/hXX /mnt/gentoo/boot -t ext2 |
8. Тарболы Stage и chroot
Теперь пора, если вы конечно еще не определились, выбрать тарбол который вы будете использовать для установки. Пакеты на LiveCD находятся в /mnt/cdrom/stages, и вы можете набрать ls /mnt/cdrom/stages/, чтобы посмотреть, что есть на CD.
GRP пользователи должны использовать пакет stage3-xx-yy.tar.bz2
Если для установки вы выбрали тарбол которого нет на компакт диске (что может случится если вы используете basic LiveCD) - это вполне возможно. Но перед этим следует выкачать нужный тарбол из интернета. Если же нужный тарбол имеется в вашем распоряжении, тогда пора переходить к разделу "Извлечение тарбола".
Code Listing 8.1: Загрузка необходимых тарболов |
# cd /mnt/gentoo Загрузите из интернета нужный тарбол с помощью браузера lynx: # lynx http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_rc4/x86/ Стрелки Up и Down (или TAB)используются для навигации. Начать загрузку можно нажав d. сохраните файл и закройте браузер. ИЛИ используйте wget из командной строки: # wget сюда впишите URL нужного тарбола. |
Теперь следует извлечь сжатый тарбол в /mnt/gentoo/. Помните что необходимо только распаковать один тарбол нужной стадии а не все 3 - один из stage1, stage2 или stage3. Поэтому если вы собрались производить установку из тарбола stage3,то просто распакуйте его следующим образом:
Important: Обязательно используйте опцию p с архиватором tar. Если вы забудете сделать это некоторые файлы могут распаковаться но с другими правами. |
Code Listing 8.2: Распаковка |
# cd /mnt/gentoo Замените на "stage3","stage2" или "stage1" в зависимости от вашего выбора. Если вы используете тарбол выкачанный из интернет,измените путь на "/mnt/gentoo/" вместо "/mnt/cdrom/stages/". # tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2 |
Если вы загрузили тарбол в /mnt/gentoo, теперь можете удалить его набрав rm /mnt/gentoo/stage*.tar.bz2.
Important: Следующие инструкции относятся только к пользователям GRP. |
GRP Пользователи: На LiveCD есть снимок дерева портежей. Вам надо будет воспользоваться этим снимком, чтобы избежать emerge sync далее в этом описании, так как emerge sync требует сетевого подключения. Распакуйте снимок следующим образом:
Code Listing 8.3: Использование снимка дерева портежей: |
Замените yyyymmdd меткой даты в имени файла. # tar -xvjf /mnt/cdrom/snapshots/portage-yyyymmdd.tar.bz2 -C /mnt/gentoo/usr |
Это распакует снимок дерева портежей в вашу свежую установку Gentoo. Теперь вам не потребуется Интернет подключение и не надо будет выполнять emerge sync для загрузки дерева из сети. Теперь скопируйте файлы distfiles и пакеты с LiveCD:
Code Listing 8.4: Копирование файлов GRP |
# cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles # cp -a /mnt/cdrom/packages/* /mnt/gentoo/usr/portage/packages/ |
Теперь все файлы, необходимы для использования GRP, находятся на месте. Теперь вы можете установить Gentoo Linux даже без сетевого подключения
mirrorselect - это для автоматического выбора наиболее быстрых зеркал, в зависимости от вашего местоположения. Также она позваляет выбрать сервер из списка. К сожалению, mirrorselect работает не со всеми рутерами.
Code Listing 8.5: Использование mirrorselect |
Автоматический выбор зеркала: # mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf Выбор в интерактивном режиме: # mirrorselect -i -o >> /mnt/gentoo/etc/make.conf |
Если, по какой-то причине mirrorselect не сработает, то вы все равно сможете продолжить, так как не будет сделано никаких изменений.
Теперь сменим корень с помощью chroot установку Gentoo Linux и "войдем" в новую систему Gentoo Linux.
Note: Во время env-update может появиться следующее сообщение: /etc/make.profile/make.defaults не доступен: не обращайте внимание. Далее мы запустим emerge sync и, таким образом, решим эту проблему. |
Code Listing 8.6: Подготовка ко входу в среду chroot |
# mount -t proc proc /mnt/gentoo/proc # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf # chroot /mnt/gentoo /bin/bash # env-update Regenerating /etc/ld.so.cache... # source /etc/profile (Теперь оболчкe указаны новые пути и обновленныe бинарники.) |
После выполнения этих команд, вы будете "внутри" вашей новой среды Gentoo Linux в /mnt/gentoo. Мы можем оставшуюся часть установки проделать внутри chroot.
9. Получение текущего дерева портежей с использованием sync
Important: Если вы делаете установку с использованием GRP, то можете пропустить следующий раздел о emerge sync. |
Теперь следует выполнить emerge sync. Эта команда говорит Portage загрузить самую последнюю копию дерева портежей Gentoo Linux из Интернет. Если вы распаковали снимок дерева с CD 1 ранее, то можете спокойно пропустить этот шаг. Дерево Portage содержит все скрипты, (называются ebuilds) необходимые для сборки каждого пакета под Gentoo Linux. На текущий момент существует порядка 4000 скриптов для разных пакетов. После окончания emerge sync дерево портежей будет расположено в/usr/portage.
Code Listing 9.1: Обновление с помощью sync |
# emerge sync
|
10. Настройка оптимизации Gentoo (make.conf)
Теперь, когда у нас есть работоспособное дерево портежей, можно начинать настраивать оптимизацию и различные настройки вашего Gentoo Linux. В дальнейшем Portage будет использовать их для компиляции программ. Для изменения этих настроек, отредактируйте файл /etc/make.conf. Укажите ваши флаги USE, где указываются дополнительные функции которые можно будет вкомпилировать; В принципе достаточно и настроек по умолчанию: (пустое или опущенное значение переменной USE) Более подробная информация по переменной USEнаходится в здесь. Полный список флагов USE лежит на здесь.
Если вы начинаете со stage1, также следует указать нужные параметры для CHOST, CFLAGS и CXXFLAGS в зависимости от типа системы вы хотите получить. (откоментированные примеры находятся ниже.) Если вы используете stage2 или stage3,то эти переменные уже сконфигурированы и их не надо трогать.
Important: Опытным пользователям: Настройки CFLAGS и CXXFKAGS будут использоваться для того чтобы компиляторы C и C++ знали как следует оптимизировать код который создается в вашей системе. Например, пользователи Athlon XP обычно указывают "-march=athlon-xp" в CFLAGS и CXXFLAGS, для корректной оптимизации под инструкции этого процессора. Файл /etc/make.conf содержит общие указания по корректным настройкам для CFLAGS и CXXFLAGS. |
При желании тут также можно указать информацию о прокси сервере, если вы находитесь за firewall'ом. Этой командой можно начать редактирование /etc/make.conf с использованием простенького редактора nano.
Code Listing 10.1: Редактирование файла make.conf |
# nano -w /etc/make.conf
|
Note: Опытным пользователям: Те, кто хочет детально настроить процесс сборки, могут также посмотреть файл /etc/make.globals.В этом файле приведены настройки gentoo по умолчанию и его редактирование очень нежелательно. Если все же настройки по умолчание не устраивают, то новые значения следует отдельно указать в /etc/make.conf, значения приведенные в make.conf перекрывают значения в файле make.globals. Если вас заинтересовали настройки USE, загляните в /etc/make.profile/make.defaults. Если вы хотите отключить любую опцию USE, добавьте соответствующую USE="-foo" в /etc/make.conf После этого соответствующие настройки по умолчанию USE в файлах /etc/make.globals или /etc/make.profile/make.defaults будут отключены. |
Warning: Не пытаетесь добавить значение 'static' к переменной USE до установки тарбола stage1. |
11. Установка начиная с тарбола Stage1
Note: Если установка производится без использования тарбола stage1, то можете пропустить этот раздел. |
Тарбол stage1 позволяет полностью контролировать процесс настройки и оптимизации. Если вы уж начали с него, то похоже вы надеетесь получить супер производительную систему. В этом случае милости просим! В данном случае установка займет некоторые время, но в результате система будет полностью оптимизирована под ваш компьютер.
Посему начнем загрузку. У меня на 1200MHz AMD Athlon это заняло 2 часа. Будут построены библиотекиe GNU C, компиляторы и другие ключевые компоненты. Начнем со следующего:
Code Listing 11.1: Предварительная загрузка |
# cd /usr/portage # scripts/bootstrap.sh |
Сейчас начнется загрузка - "bootstrap".
Note: bootstrap.sh теперь поддерживает опцию --fetchonly. Для пользователей диалапа это должно показаться особенно удобно.Загрузятся все файлы необходимые для загрузки и дальнейшей компиляции. bootstrap.sh -h для дополнительной информации. |
Note: Для построения пакетов по умолчанию Portage используется /var/tmp, причем иногда размер /var/tmp достигает до нескольких сот мегабайт. Сменить директорию временных файлов можно указав PORTAGE_TMPDIR перед началом загрузки следующим образом: |
Code Listing 11.2: Изменение директории временных файлов Portage |
# export PORTAGE_TMPDIR="/otherdir/tmp"
|
bootstrap.sh соберет binutils, gcc, gettext, и glibc, перестроит gettext после glibc. Разумеется на все это уйдет прилично времени. После окончания процесса, система будет эквивалентна "stage2"а следовательно, пора переходить к рекомендация по установке stage2 .
12. Начало установки Stage2 и продолжение установки Stage1
Note: В этой секции описывается продолжение установки из stage1 и начало установки из stage2. Если вы решили использовать тарбол stage3, то вам это читать не обязательно. |
Warning: Если вы начали устанавливать из stage2, не меняйте значение переменной CHOST в файле /etc/make.conf. Это может привести к довольно странным ошибкам во время компиляции. Но мы конечно над этим работаем. |
В пакете stage2 процесс bootstrap уже выполнен. Вам остается только самостоятельно до установить оставшиеся компоненты.
Note: Если вы используете предварительно построенный stage2 и вы хотите проверить свежесть компилятора, добавьте к командам указанной ниже опцию -u. Если вы не знаете что это такое, можете оставить все как есть. |
Code Listing 12.1: Установка остальных компонентов |
# emerge -p system (Список компонентов для установки) # извлечение системы |
Окончание установки всей системы займет некоторое время. Но наградой вам будет исключительно оптимизированная система. Единственный недостаток - куча свободного времени во время установки. По мнению автора его можно потратить с помощью "Star Wars - Super Bombad Racing" для PS2.
Построение системы закончено. Теперь переходим к секции "Настройка времени и даты".
13. Установка из Stage3
Note: Этот раздел предназначен для тех, кто решил произвести установку с stage3, тем кто устанавливал из тарболов stage1 или stage2 можно не читать.GRP пользователи могут перейти к следующему разделу. |
Warning: Не меняйте значение переменной CHOST в /etc/make.conf, если установка производится из stage3. Это может привести к ошибкам во время компилирования. |
Тарбол stage3 заключает в себе полно-функциональный базовый Gentoo, поэтому построения системы не будет.
Note: Опытным пользователям В связи с тем, что тарбол stage3 частично предпостроен, он может быть несколько устаревшим. В этом случае можно автоматично обновить существующий тарбол stage3 для получения наиболее новой версии всех системных пакетов. Это делается следующим образом: export CONFIG_PROTECT="-* /etc/make.conf" emerge -u sytem (это потребует сетевого подключения). Учтите, что если ваш тарбол stage3 сильно устарел, то потребуется больше времени; Иначе сам процесс будет достаточно скор, да к тому же вы станете обладателем наиболее новых пакетов. Обновления и исправления Gentoo. В принципе ничего особенного, Можете смело переходить к следующему разделу. |
14. Установка временной зоны
Теперь пора установить временную зону.
Найдите вашу временную зону ( или GMT, если это ваше время) в папке /usr/share/zoneinfo. Создайте символьную ссылку на нее в /etc/localtime набрав:
Code Listing 14.1: Создание символьной ссылки на вашу временную зону |
# ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime
|
15. Редактирование /etc/fstab
Important: Для редактирования файлов используйте nano -w "filename". |
Ваш Gentoo Linux уже почти готов к работе. Осталось подправить несколько файлов конфигурации системы и установить загрузчик. Сначала мы отредактируем файл /etc/fstab. Не забывайте, что для ReiserFS на загрузочном разделе следует использовать опцию notail. Правильно укажите тип файловой системы: ext2, ext3 или reiserfs.
Идем в /etc/fstab и заменяем "BOOT","ROOT" и "SWAP" на нормальные блочные устройства (типа hda1, и др.)
Code Listing 15.1: Редактирование fstab |
# /etc/fstab: содержит информацию о файловых системах.
#
# опция noatime отключает atimes, что увеличивает производительность (обычно atime
# не нужен; notail увеличивает производительность ReiserFS (но за счет емкостиat the expense of storage
# efficiency). It is safe to drop the noatime options if you want and to
# switch between notail and tail freely.
# <fs> <mount point> <type> <opts> <dump/pass>
# NOTE: Если раздел содержащий ядро и отформатирован в ReiserFS, добавьте опцию notail.
/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
|
Warning: Обратите внимание, что раздел /boot не монтируется во время загрузки. Это сделано ради того, чтобы уберечь данные на /boot от повреждения. Для доступа к /boot просто подключите его! |
16. Установка ядра и системного журнала
Существует два варианта установки ядра. Вы можете или сконфигурировать свое собственное ядро или воспользоваться genkernel для автоматической конфигурации и компиляции ядра.
Не зависимо от того, собираете вы ядро сами, или используете genkernel, вам надо установить исходники ядра, которое вы хотите использовать. Gentoo предоставляет несколько ebuild для разных ядер.Список можете найти здесь. Если вы сомневаетесь, какое именно ядро выбрать, рекомендуем воспользоваться gentoo-sources. Если требуется поддержка XFS, для этого есть xfs-sources. Кстати, в LiveCD Gentoo используются gs-sources и xfs-sources. Также доступно ядро gaming-sources, оптимизированное под игры. Оно прекрасно подходит для этой цели при включенной опции "Preemptible kernel".
Выберите подходящее ядро и выполните следующее:
Code Listing 16.1: Извлечение исходного кода ядра |
# emerge -k sys-kernel/gentoo-sources
|
Путь /usr/src/linux является символьной ссылкой на извлеченное вами ядро, она используется Portage для своих целей. Все пакеты содержащие модули ядра будут сконфигурированы для использования того ядра, на которое указывает /usr/src/linux. /usr/src/linux создается Portage после распаковки первого пакета ядра, но после этого уже не меняется.
Использование genkernel для сборки ядра
Теперь когда дерево исходников ядра установлено, пора его собрать. Существует два способа это сделать. Первый способ заключается в использовании gentkernel для автоматической сборки ядра. genkernel конфигурирует ядро почти идентичное тому, что присутствует на LiveCD. Это означает, что когда вы используете genkernel ваша система определит оборудование при загрузке почти также, как это делает LiveCD. Поскольку genkernel не требует ручной настройки ядра, он идеально подходит для пользователей, которые неуютно себя чувствуют при необходимости настроить ядро самим.
Теперь давайте посмотрим, как пользоваться genkernel. В первую очередь его надо установить:
Code Listing 16.2: Установка genkernel |
Если вы используете genkernel 1.2 (включая тот, что в GRP наборе 1.4-20030803 x86/i686), используйте следующее: # genkernel gentoo-sources Если вы используете 1.4 или новее, то не надо указывать тип ядра: # genkernel |
Теперь собираем исходники ядра командойgenkernel:
Note: Опытным пользователям: вы можете использовать genkernel --config - это позволит вам провести некоторую настройку, прежде чем genkernel соберет ядро. |
Code Listing 16.3: Запуск genkernel |
# genkernel
Gentoo Linux genkernel, version 1.4
Copyright 2003 Gentoo Technologies, Inc., Bob Johnson, Daniel Robbins
Distributed under the GNU General Public License version 2
Settings:
compile optimization: 1 processor(s)
source tree: /usr/src/linux-2.4.20-gaming-r3
config: gentoo (customized)
config loc: /etc/kernels/config-2.4.20-gaming-r3
initrd config: (default) /etc/kernels/settings
* Running "make oldconfig"... [ ok ]
* Logging to /var/log/genkernel.log... [ ok ]
* Starting 2.4.20-gaming-r3 build... [ ok ]
* Running "make dep"... [ ok ]
* Running "make bzImage"... [ ok ]
* Running "make modules"... [ ok ]
* Running "make modules_install"... [ ok ]
* Moving bzImage to /boot/kernel-2.4.20-gaming-r3... [ ok ]
* Building busybox... [ ok ]
* Creating initrd... [ ok ]
* Build completed successfully!
* Please specify /boot/kernel-2.4.20-gaming-r3 and /boot/initrd-2.4.20-gaming-r3
* when customizing your boot loader configuration files.
#
|
После того как genkernel закончит свою работу, у вас будет ядро, полный набор модулей и начальный корневой диск - initial root disk (initrd). Мы будем использовать ядро и initrd при настройке системного загрузчика далее в этом документе. initrd будет запущен сразу после загрузки для определения оборудования (как это делает LiveCD) прежде чем будет запущена ваша "настоящая" система.
Теперь давайте выполним еще несколько операций, чтобы система была еще более похожа на LiveCD - давайте установим hotplug. Если initrd определяет оборудование необходимое для загрузки, то hotplug определяет все остальное. Для установки hotplug выполним:
Code Listing 16.4: Установка и включение hotplug |
# emerge -k hotplug # rc-update add hotplug default |
Наконец, установите пакеты, необходимые для поддержки вашего оборудование. Вот список ebuild, которые могли бы вам пригодится:
ebuild | Назначение | Команда |
nvidia-kernel | Ускоренна NVIDIA графика для XFree86 | emerge -k nvidia-kernel |
nforce-net | Встроенные ethernet контролер на материнских платах NVIDIA NForce(2) | emerge nforce-net |
nforce-audio | Встроенное аудио на материнскую платах NVIDIA NForce(2) | emerge nforce-audio |
e100 | Intel e100 Fast Ethernet адаптер | emerge e100 |
e1000 | Intel e1000 Gigabit Ethernet адаптер | emerge e1000 |
emu10k1 | Поддержка Creative Sound Blaster Live!/Audigy | emerge emu10k1 |
ati-drivers | Ускоренная ATI Radeon 8500+/FireGL графика для XFree86 | emerge ati-drivers |
xfree-drm | Ускоренная графика для ATI Radeon up to 9200, Rage128, Matrox, Voodoo и других карт для XFree86 | VIDEO_CARDS="ваша_карта" emerge xfree-drm |
nvidia-kernel, ati-drivers и xfree-drm packages потребуют включения дополнительных опций. Все остальные перечисленные ebuild будут автоматически определены hotplug при загрузке.
Теперь, когда вы сконфигурировали систему с помощью genkernel, вы можете пропустить раздел о ручной конфигурации.
Если вы решили не использовать genkernel, то этот раздел расскажет вам, как настроить и собрать ядро вручную. Пожалуйста обратите внимание, что /usr/src/linux является символьной ссылкой на ваш текущий пакет ядра и создается Portage при установке. Если у вас есть несколько пакетов ядра, то не забудьте правильно установить /usr/src/linux прежде чем продолжить.
Warning: Если вы настраиваете ядро сами, то будете осторожны с настройками grsecurity. Слишком агрессивная настройка безопасности может привести к неработоспособности некоторых программ (таких как X). Если не уверены, то лучше не трогайте эти опции. |
Note: Для использования типичной конфигурации ядра с LiveCD или для того чтобы взять за основу конфигурацию ядра LiveCD, выполняется следующая команда cd /usr/src/linux && cat /proc/config > .config && make oldconfig. Если вы не брали за основу xfs-sources, у системы возникнут вопросы о разнице между вашим ядром и xfs-sources. |
Code Listing 16.5: Конфигурация ядра |
# cd /usr/src/linux # make menuconfig |
Warning: Для нормального функционирования системы, следует включить в ядро поддержку нескольких функций, причем, они не должны быть выполнены в качестве модулей а встроены в само ядро. Обязательно включите поддержку "ReiserFS" если у вас есть разделы с ReiserFS; тоже самое относится и к "Ext3". Для использования XFS,задействуйте "SGI XFS filesystem support". Вне зависимости от того, используете вы ext2 или нет, поддержка ext2 также должна быть включена. |
Ниже приведены некоторые из опций которые вам пригодятся:
Code Listing 16.6: make menuconfig options |
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers" (Понадобится для задействования некоторых функций, указанных ниже.) ... File systems ---> <*> Reiserfs support (Необходимо только если используется reiserfs.) ... <*> Ext3 journalling file system support (Необходимо для использования ext3.) ... [*] Virtual memory file system support (former shm fs) (Требуется Gentoo Linux.) ... <*> JFS filesystem support (Поддержка JFS.) ... [*] /proc file system support (Требуется for Gentoo Linux.) [*] /dev file system support (EXPERIMENTAL) [*] Automatically mount at boot (Требуется for Gentoo Linux.) [ ] /dev/pts file system for Unix98 PTYs (можно и не включать.) ... <*> Second extended fs support (Поддержка ext2.) ... <*> XFS filesystem support (Поддержка XFS.) |
Если для соединения с интернет используется PPPoE, вам следует включить поддержку (на уровне ядрa хотя желательно в виде модуля)следующие опции : "PPP (point-to-point protocol) support", "PPP support for async serial ports", "PPP support for sync tty ports". Парочкa методов компрессии вряд ли будут необходимы, разве что также включить и "PPP over Ethernet"но эта опция применима только в случае дополнительного задействования rp-pppoe, причем PPPoE должно быть сконфигурировано не модулем а встроено в ядро.
Если у вас есть IDE CD-RW, необходимо включить в ядро эмуляцию SCSI следующим образом"ATA/IDE/MFM/RLL support" ---> "IDE, ATA and ATAPI Block devices" ---> "SCSI emulation support" (у меня на машине это модуль), далее в разделе "SCSI support" включите "SCSI support", "SCSI CD-ROM support" и "SCSI generic support" (опять таки, у меня это модуль). Если вы планируете использовать модули, то тогда echo -e "ide-scsi\nsg\nsr_mod" >> /etc/modules.autoload для автоматической загрузки модулей во время загрузки компьютера.
Также в ядро можно включить и поддержку вашей сетевой карты.
Note: Кроме всего прочего, теперь с Gentoo Linux можно использовать и ядра серии 2.2. Правда это будет стоить вам многих полезных функций из 2.4.: например отсутствие поддержки XFS и tmpfs, iptables,и др., хотя существуют патчи для поддержки 2.2. ReiserFS и devfs. Загрузочные скрипты Gentoo linux boot требуют поддержки ядром либо tmpfs или ramdisk. Поэтому убедитесь что в ядре 2.2 включена поддержка ramdisk (именно в ядре а не модулем). И обязательно добавьте строку gentoo=notmpfs в /boot/grub/grub.conf или /etc/lilo.conf для ядра 2.2, чтобы подключался для загрузки скриптов не tmpfs а ramdisk. Если же вы не используете devfs, тогда следует добавить следующее gentoo=notmpfs,nodevfs . |
Code Listing 16.7: Сборка и установка ядра |
# make dep && make clean bzImage modules modules_install # cp /usr/src/linux/arch/i386/boot/bzImage /boot |
Теперь, когда вы установили ядро и модули ядра, следует выбрать системный журнал. Мы предоставляем sysklogd, с достаточно традиционным набором журналов. Конечно есть еще msyslog, syslog-ng и metalog. Опытные пользователи предпочитают не пользоваться sysklogd (который не очень то шустрый) и выбирают другие варианты. Если вы сомневаетесь, попробуйте metalog, он тоже достаточно популярный. Чтобы установить ваш журнал, выберите что-то одно из списка:
Code Listing 16.8: Выбор и установка системного журнала |
# 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 |
Important: Metalog не записывает события сразу же в журнал, а сначала складывает данные в блоки на диск. Поэтому если вы решили заняться отладкой демона, его попытки улучшить производительность вряд ли вам помогут, так что после старта Gentoo Linux можно отправить metalog сигнал USR1 чтобы временно отключить буферизацию (это значит,что tail -f /var/log/everything/current будет работать в реальном времени). А чтобы обратно включить буферизацию, посылается сигнал USR2. Если вы хотите на всегда отключить буферизацию, то следует поменять METALOG_OPTS="-B" на METALOG_OPTS="-B -s" в /etc/conf.d/metalog. |
Code Listing 16.9: Отключение буферизации в metalog |
// Чтобы отключить буферизацию: # killall -USR1 metalog // Чтобы включить обратно: # killall -USR2 metalog |
Теперь можно выбрать какой пакет cron будет использоваться. В распоряжении имеются dcron, fcron и vcron. Если сомневаетесь, ставьте vcron.
Code Listing 16.10: Выбор CRON демона |
# emerge sys-apps/dcron # rc-update add dcron default # crontab /etc/crontab или # emerge sys-apps/fcron # rc-update add fcron default # crontab /etc/crontab или # emerge sys-apps/vcron # rc-update add vcron default Для использования vcron можно не запускать crontab /etc/crontab. |
За дополнительной информацией о программах которые стартуют при загрузке и демонах, подробнее читайте здесь: rc-script guide.
17. Установка прочих пакетов
Если для доступа к интернет используется rp-pppoe, установим его прямо сейчас.
Code Listing 17.1: Установка rp-pppoe |
# USE="-X" emerge rp-pppoe GRP пользователи должны выполнить: # USE="-X bindist" emerge -K rp-pppoe |
Note: USE="-X" отключает установку интерфейса для X-ов. Интерфейс штука неплохая и удобная, но требует наличия X'ов. В любом случае позже можно пересобрать пакет с поддержкой Х. |
Note: Не забывайте, что rp-pppoe установлен, но он не отконфигурирован. Следует обратиться к adsl-setup при первой загрузкой Gentoo. |
Если вы используете XFS, ReiserFS или LVM, возможно вам захочется установить несколько дополнительных пакетов из Portage. Можно установить xfsprogs, если используется XFS:
Code Listing 17.2: Установка средств управления файловыми системами |
# emerge -k sys-apps/xfsprogs Для ReiserFS устанавливается пакет ReiserFS tools: # emerge -k sys-apps/reiserfsprogs Для JFS, установите JFS tools: # emerge -k jfsutils Для LVM, ставится пакет lvm-user package: # emerge -k sys-apps/lvm-user |
Если у вас ноутбук и вы хотите чтобы после перезагрузки заработали PCMCIA слоты, установите пакет pcmcia-cs.
Code Listing 17.3: Установка PCMCIA-cs |
# emerge -k sys-apps/pcmcia-cs
|
18. Создание пользователей
Пока не забыли, установите пароль root'a:
Code Listing 18.1: Установка пароля root |
# passwd
|
Добавление пользователя для повседневной работы
Работать с привилегиями пользователя root в системах Unix/Linux опасно и следует стараться этого избегать. Поэтому рекомендуется создать пользователя для обычной работы на компьютере.
Code Listing 18.2: Добавление пользователя |
# useradd имя_пользователя -m -G users,wheel,audio -s /bin/bash # passwd имя_пользователя |
И замените имя_пользователя на что-то другое.
В случае, если прав пользователя не хватает для того чтобы выполнить какую либо задачу,, воспользуйтесьsu - чтобы изменить привилегии до привилегий пользователя root или воспользуйтесь пакетом sudo.
19. Задание имени компьютера
Имя компьютера хранится в /etc/hostname можно его задать одной строкой, что-то типа: мойкомп.
Code Listing 19.1: Конфигурация имени |
# echo mymachine > /etc/hostname
|
Укажите в /etc/dnsdomainname имя домена:mydomain.com.
Code Listing 19.2: Конфигурация имени домена |
# echo mydomain.com > /etc/dnsdomainname
|
Если у вас домен NIS, его следует указать в /etc/nisdomainname.
Code Listing 19.3: Конфигурация домена NIS |
# echo nis.mydomain.com > /etc/nisdomainname
|
20. Правка /etc/hosts
Здесь содержатся названия и IP-адреса машин в сети. /etc/hosts используется для хранения имен машин, не привязанных к какому либо серверу имен. Вот шаблон файла:
Code Listing 20.1: Шаблон hosts |
127.0.0.1 localhost
# следующая строка содержит IP-адрес машины в локальной сети и ее имя.
192.168.1.1 mymachine.mydomain.com mymachine
|
Note: Если у вас сеть DHCP, не помешает добавить имя компьютера и в файл localhost. Это поможет GNOME и другим программам правильно определить имена. |
21. Окончательная конфигурация сети
Укажите названия всех необходимых модулей в /etc/modules.autoload. Кроме этого, рядом с именем модуля можно добавить туда любые опции. При загрузке Gentoo Linux эти модули буду автоматически загружаться. Особое внимание уделите модулю вашей сетевой карты, если вы скомпилировали его как ядро:
Code Listing 21.1: /etc/modules.autoload |
Предположим что у вас сетевая от 3com.
проверьте /lib/modules/`uname -r`/kernel/drivers/net для вашей карты.
3c59x
|
Отредактируйте скрипт/etc/conf.d/net чтобы сеть заработала после перезагрузки:
Code Listing 21.2: Конфигурация сети во время загрузки |
# nano -w /etc/conf.d/net # rc-update add net.eth0 default |
Для каждой дополнительной сетевой карты или интерфейса tokenring создайте отдельный дополнительный скриптnet.ethx или net.trx (x = 1, 2, ...):
Code Listing 21.3: Несколько сетевых интерфейсов |
# cd /etc/init.d # cp net.eth0 net.ethx # rc-update add net.ethx default |
Если у вас есть карта PCMCIA, загляните в /etc/init.d/pcmcia и убедитесь что там все в порядке и готово к установке, а после добавьте строки в начало /etc/init.d/net.ethx:
Code Listing 21.4: PCMCIA depend in /etc/init.d/net.ethx |
depend() { need pcmcia } |
Теперь драйвер карты PCMCIA будет автоматически загружаться каждый раз при включения сети.
22. И последнее: Конфигурация основных параметров (включая раскладку клавиатуры)
Code Listing 22.1: Основная конфигурация |
# nano -w /etc/rc.conf
|
Следуйте указаниям в файле чтобы настроить основные параметры. Для все пользователей должны быть созданы настройки CLOCK. Настроить клавиатуру для использования дополнительных раскладок, можно изменив значение KEYMAP. Возможные варианты расположены в /usr/share/keymaps
23. Настройка загрузчика
В Gentoo на выбор есть несколько загрузчиков. Вы сами можете выбрать, каким именно загрузчиком вы собираетесь пользоваться: GRUB или LILO.
Только помните, что устанавливать оба загрузчика совсем не обязательно. Это может лишь привести к проблемам, так что выберите только один вариант.
Кроме всего прочего вам придется сконфигурировать загрузчик по разному, в зависимости от того использовали ли вы genkernel (ядро с initrd) или собирали ядро вручную. Обратите внимание на разницу в настройках.
Important: Если ваша материнская плата на основе чипсета от NVIDIA nForce или nForce2 с интегрированной видеокартой GeForcе, все таки воспользуйтесь LILO и не трогайте GRUB. Дело в том, нижняя часть оперативной памяти будет использоваться под нужды видео, а GRUB также использует нижнюю часть памяти во время загрузки, и это может привести к "нехватке" памяти. Так что если у вас nForce и встроенная видеокарта, пользуйтесь LILO. Даже если сейчас вы не используете интегрированную видео карту, а отдельную плату, было бы здорово иметь возможность убрать видео плату и вернутся к интегрированной карте. |
Главное в GRUB, это понять как он обращается к жесткому диску и разделам. Разделы Linux /dev/hda1 называются в GRUB (hd0,0). Обратите внимание, что правописание GRUB требует наличие скобок вокруг hd0,0 . Отсчет дисков ведется с нуля а не с "a",тоже относится и к разделам. Также под "hd" подразумеваются только жесткие диски, а не CD-ROM, CD-RW и любые другие устройства atapi-ide.Тот же механизм при наименовании и scsi дисков. (Обычно они просто получают другие, большие номера, за исключением тех случаев, когда в bios разрешена загрузка со scsi.) Предположим у нас есть жесткий диск на /dev/hda, cdrom на /dev/hdb, cdrw на /dev/hdc, второй жесткий диск на /dev/hdd, scsi диска нет, тогда /dev/hdd7 будет выглядеть как (hd1,6). Это может показаться несколько мудреным, но, как мы увидим дальше, GRUB позволяет дополнять уже набранный текст, что может быть особенно удбон тем, у кого много жестких дисков и разделов, и кто немного запутался в системе нумерации GRUB. Ну удобно, теперь пора установить GRUB.
Чтобы установить GRUB достаточно просто набрать находясь в вашей среде измененного корня (chroot) grub :
Code Listing 23.1: Установка GRUB |
# emerge -k grub # grub |
Далее в командной строке последует приглашение grub> grub. Теперь главное правильно набирать команды для установки загрузочной записи GRUB. В образце, приведенном ниже, загрузочная запись GRUB будет записывать на жесткий диск в MBR (главная загрузочная запись), так что первое что будет видно после включения компьютера, это приглашение GRUB. В моем случае все выглядело так:
Code Listing 23.2: Запись GRUB в MBR |
grub> root (hd0,0) // Загрузочный раздел grub> setup (hd0) // Место куда устанавливается GRUB,собственно MBR |
Code Listing 23.3: Запись GRUB вне MBR |
Можно установить загрузчик и вне MBR grub> root (hd0,0) // Загрузочный раздел grub> setup (hd0,4) // Место установки записи загрузчика /dev/hda5 grub> quit |
А вот как работают эти команды. Первая root ( ) указывает GRUB размещение загрузочного раздела (в нашем случае это /dev/hda1 или (hd0,0) в грамматике GRUB. А вторая setup ( ) указывает GRUB куда прописать загрузочную запись - причем свои собственные файлы он будет искать по адресу указанному в root( ). В моем случае, загрузочная запись расположена в MBR, поэтому я просто указываю /dev/hda (он же (hd0)). Если у вас был установлен другой загрузчик,и вы хотите установить GRUB вторым загрузчиком, то GRUB можно установить в загрузочную запись другого раздела. В этом случае, следует указывать именно раздел а не целый диск. После того как GRUB установится, можно выйти из программы набрав quit.
Note: Механизм автоматического заполнения строки по tab в grub можно использовать предположим набрав root ( и нажав TAB,после чего отобразится список доступных устройств (не только жестких дисков). Если же нажать TAB предварительно набрав root (hd, grub отобразит список всех жестких дисков.А набрав root (hd0, и нажав TAB, выведет список всех разделов на этом диске. Эта функция должна помочь получить команды с правильным синтаксисом и указанием дисков. |
Gentoo Linux уже установлен, но еще необходимо создать /boot/grub/grub.conf чтобы на экран, выводилось после перезагрузки удобное меню GRUB.Это делается так.
Important: Пожалуй стоит еще добавить ссылочку с grub.conf на menu.lst. Делаем следующее: ln -s /boot/grub/grub.conf /boot/grub/menu.lst . |
Теперь создаем grub.conf (nano -w /boot/grub/grub.conf),и добавляем туда:
Code Listing 23.4: grub.conf for GRUB |
default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz #Если вы собирали ядро сами: title=My example Gentoo Linux root (hd0,0) kernel (hd0,0)/boot/bzImage root=/dev/hda3 #Если вы использовали genkernel: title=My example Gentoo Linux (genkernel) root (hd0,0) kernel (hd0,0)/boot/kernel-KV root=/dev/hda3 initrd (hd0,0)/boot/initrd-KV #Только для тех, кто использует двойную загрузку title=Windows XP root (hd0,5) chainloader (hd0,5)+1 |
Note: (hd0,0) пишется без пробелов внутри кавычек. |
Important: Для правильной работы CD-RW, эмуляцию scsi следует добавить в grub.conf строку "hdx=ide-scsi" (где "hdx" адрес cdrw). |
После сохранения изменений в grub.conf, установка Gentoo Linux завершена. Первая часть GRUB отвечает за загрузку Gentoo Linux. Вторая часть необязательна и может использоваться для загрузки той же Windows.
Note: Здесь (hd0,0) это адрес загрузочного раздела (/dev/hda1 в нашем случае), а /dev/hda3 указывает на основной раздел. На (hd0,5) расположен загрузчик NT. |
Note: Путь к ядру указывается относительно корневого раздела. Если у вас boot раздел это (hd0,0), а root - это (hd0,1), то все пути выше превратятся в bzImage |
Если требуется передать ядру дополнительные опции загрузки, добавьте их в конец команды kernel. Опция (root=/dev/hda3)пропускается, но можно опустить и другие. В частности можно отключить devfs (не стоит этого делать ясли вы толком не знаете, что делаете), просто добавьте gentoo=nodevfs к kernel.
Note: Так же теперь можно не указывать devfs=mount чтобы devfs заработала. Теперь devfs включена по умолчанию. |
Пускай многим нравится GRUB, но он не всегда самое лучшее из того что есть. LILO, (LInuxLOader), давно известный загрузчик Linux.Если не устанавливать GRUB, установка LILO произойдет следующим образом:
Установка LILO:
Code Listing 23.5: Установка LILO |
# emerge -k lilo
|
Теперь настроим LILO. Это образец конфигурационного файла /etc/lilo.conf
Code Listing 23.6: Пример lilo.conf |
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 lba32 default=linux #Если вы собирали ядро сами image=/boot/bzImage label=linux read-only root=/dev/hda3 #Если вы использовали genkernel: image=/boot/kernel-KV label=gk_linux root=/dev/hda3 initrd=/boot/initrd-KV append="root=/dev/ram0 init=/linuxrc" #Для загрузки Windows или другой ОС: other=/dev/hda1 label=dos |
После окончания редактирования lilo.conf, записываем LILO в MBR:
Code Listing 23.7: Запуск LILO |
# /sbin/lilo
|
Теперь LILO настроено, и можно загружать Gentoo Linux!
Те кто включил в ядро поддержку framebuffer, надо добавить vga=xxx в конфигурационный файл их загрузчика, как параметр ядра. xxx примет значение из следующей таблицы:
640x480 | 800x600 | 1024x768 | 1280x1024 | |
8 bpp | 769 | 771 | 773 | 775 |
16 bpp | 785 | 788 | 791 | 794 |
32 bpp | 786 | 789 | 792 | 795 |
Пользователи LILO должны добавить vga=xxx наверху файла конфигурации
Пользователи GRUB должны добавить vga=xxx к строке kernel (hd0,0)...
24. Создание загрузочных дисков
Important: Не забудьте вставить флоппи диск в дисковод, прежде продолжить. |
Если linux устанавливается впервые, не будет лишним создать и загрузочный диск. Это вопрос безопасности, и диск никогда не помешает. Если существуют системные ограничения, не позволяющие установить рабочий загрузчик под chroot-ом, то вам придется создать загрузочный диск GRUB. Если это так, создайте загрузочный диск GRUB, а после перезагрузки, установите GRUB в MBR. Диск создается так:
Code Listing 24.1: Создание загрузочного диска GRUB |
# cd /usr/share/grub/i386-pc/ # cat stage1 stage2 > /dev/fd0 |
Теперь перезагрузитесь с дискеты. Из строки grub>, можно выполнить любые нужные для установки команды.
Important: Не забудьте вставить флоппи диск в дисковод, прежде продолжить. |
LILO также позволяет создать загрузочный диск:
Code Listing 24.2: Создание загрузочного диска |
# dd if=/boot/your_kernel of=/dev/fd0 Но это сработает только в том случае, если ядро меньше 1.4MB |
25. Использование GRP
GRP пользователи могут начать установку бинарных пакетов:
Code Listing 25.1: Установка из GRP |
# USE="bindist" emerge -k xfree // Переменная USE="bindist" должна быть установлена при установке GRP пакетов, использующих XFree86. |
CD 1 содержит достаточно пакетов для установки работающей системы с XFree86. Второй диск из комплекта содержит дополнительные приложения, включая KDE, GNOME, Mozilla и другие. Для установки этих пакетов вам надо будет перезапустить систему (это описывается в следующем разделе). После того, как ваша базовая система Gentoo будет запущена с жесткого диска, вы сможете смонтировать второй CD и скопировать файлы:
Code Listing 25.2: Загрузка бинарных пакетов со второго CD |
# mount /dev/cdrom /mnt/cdrom # cp -a /mnt/cdrom/packages/* /usr/portage/packages/ |
Теперь разные приложения можно устанавливать тем же способом. Например:
Code Listing 25.3: Установка KDE из GRP |
# USE="bindist" emerge -k kde
|
26. Установка завершена!
Gentoo Linux наконец установлен. Осталось только обновить конфигурационные файлы, выйти из под chroot среды, отключить диски и перезагрузиться:
Warning: etc-update может предоставить список файлов, для которых доступны более свежие версии. Проверьте, чтобы эти файлы не внесли больших изменений (такие как /etc/fstab, /etc/make.conf, /etc/rc.conf, ...). Объедините файлы, которые не вносят столь больших изменений, удалите обновления остальных или посмотрите разницу и вручную обновите конфигурационные файлы. |
Code Listing 26.1: Перезагрузка |
# etc-update # exit (это выведет вас из среды chroot; еще можно нажать ^D) # cd / # umount /mnt/gentoo/boot # umount /mnt/gentoo/proc # umount /mnt/gentoo # reboot |
Note: После перезагрузки неплохо бы выполнитьupdate-modules для создания /etc/modules.conf. Вместо редактирования этого файла надо изменять файлы в /etc/modules.d. |
Для получения ответов по вопросам разработки Gentoo Linux а также по любым другим, подпишитесь на наши рассылки: gentoo-user и gentoo-dev. (дополнительная информация находится на странице наших рассылок). Еще мы написали Руководство по настройке рабочей станции Там вы также найдете много полезной информации, посвященной настройке Gentoo Linux, и еще загляните на Руководство по использованию Portage для того чтобы ознакомится с базовыми понятиями Portage. Остальная документация Gentoo находится на : here. Если у вас возникли вопросы по установке Gentoo обратитесь к Gentoo Linux FAQ. Удачи и добро пожаловать в Gentoo Linux!
27. Gentoo-Stats
Программа сбора статистической информации Gentoo Linux был начата с целью ознакомить разработчиков с кругом пользователей. Программа собирает информацию по использованию Gentoo Linux с целью помочь разработчикам с определением приоритетных направлений развития. Устанавливать программу совсем необязательно, но команда Gentoo была бы вам очень признательна.С результатами можно ознакомиться здесь http://stats.gentoo.org/.
Сервер gentoo-stats присвоит вашей системе уникальный ID. Сделано это для того, чтобы избежать многократной регистрации одной машины.Этот ID не будет использоваться для индивидуальной идентификации, равно как и для сбора информации об IP-адресах или персональной информации. Приняты все необходимые меры для неразглашения информации о пользователях Gentoo. Программа "gentoo-stats" собирает следующую информацию:
Мы знаем, что разглашение частной информации может привести к нежелательным последствиям для пользователей Gentoo Linux. (равно как и разработчиков).
Установка проста - выполните просто следующие команды:
Code Listing 27.1: Установка gentoo-stats |
# emerge gentoo-stats // Устанавливает gentoo-stats # gentoo-stats --new // Получение нового ID |
Вторая команда запросит новый ID для вашей системы, и автоматически занесет его в /etc/gentoo-stats/gentoo-stats.conf. Просмотрите этот файл для ознакомления с дополнительными настройками.
Теперь, программа будет регулярно, по расписанию выполняться. (ее не обязательно выполнять от имени пользователя root). Добавьте в crontab следующее:
Code Listing 27.2: Обновление gentoo-stats с помощью cron |
0 0 * * 0,4 /usr/sbin/gentoo-stats --update > /dev/null
|
gentoo-stats это простой скрипт, написанный на perl, его можно просмотреть в любом текстовом редакторе: /usr/sbin/gentoo-stats.
28. Gentoo и нестандартное оборудование
Тем кто использует оборудование ATA RAID и планирует установить Gentoo, следует обратить внимание на следующее, для успешного проведения установки:
Code Listing 1: Загрузка модулей RAID |
# modprobe ataraid Для контроллеров Promise Raid: # modprobe pdcraid Для контроллеров Highpoint Raid: # modprobe hptraid |
Code Listing 2: Mounting /dev into /mnt/gentoo/dev |
# mount -o bind /dev /mnt/gentoo/dev
|
Code Listing 3: Конфигурирование ядра Linux для использования RAID |
Для контроллеров Highpoint RAID: ATA/IDE/MFM/RLL support ---> [*] HPT36X/37X chipset support [*] Support for IDE Raid controllers [*] Highpoint 370 software RAID Для контроллеров Promise RAID: ATA/IDE/MFM/RLL support ---> [*] PROMISE PDC202{46|62|65|67} support и/или [*] PROMISE PDC202{68|69|70|71|75|76|77} support [*] Support for IDE Raid controllers [*] Support Promise software RAID (Fasttrak(tm)) |
Code Listing 4: Установка GRUB для использования с Hardware RAID |
grub> root (hd0,0) grub> setup --stage2=/boot/grub/stage2 (hd0) grub> quit |
Code Listing 5: grub.conf и RAID |
title=Мой Gentoo Linux на RAID root (hd0,0) kernel (hd0,0)/boot/bzImage root=/dev/ataraid/dXpY |
Code Listing 6: lilo.conf и RAID |
image=/boot/bzImage label=linux read-only root=/dev/ataraid/dXpY |
The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.