Gentoo logo

Нашел неплохой мануал по установке Gentoo Linux. Автор этого мануала Devel (devel(at)pcnews.biz – специально для PcNews.biz).

Gentoo Linux (http://gentoo.org) пожалуй, самый оригинальный и, на мой взгляд, самый хороший дистрибутив, оригинален он тем что дистрибутива, как такового, нет 🙂 , а нравится он мне тем, что собирается всё из исходников “с нуля” оптимизировано под конкретную систему и своей системой portage. Portage сильно напоминают BSD’шные порты, но сделаны удобнее и функциональнее.

Итак, что же такое portage?
Это набор текстовых файлов (ebuild), в которых описаны правила сборки софта и утилита emerge, с помощью которой можно легко управляться с сотней тысяч ebuild. Для установки Gentoo нужен LiveCD (взять можно с любого из зеркал gentoo, например http://mirror.aiya.ru/pub/gentoo/releases/x86/2005.0/installcd/ ). Как видно, LiveCD там не один, а два: minimal и universal, Universal – это диск на котором есть всё для того, чтобы поставить базу и смело грузить ОС с винта, а minimal – это диск, с которого можно загрузиться, примонтировать разделы, распаковать туда отдельно скачанный stage и portage, сделать chroot в смонтированный раздел и собрать отдельно скачанный загрузчик (lilo или grub), а только потом загрузить ОС с винта.

Если скачали minimal cd, то идём ещё на http://mirror.aiya.ru/pub/gentoo/releases/x86/2005.0/stages/ и качаем stage. Stages тоже не один, а целых много – с разной оптимизацией и количеством уже собранного в них софта. Stage 1 – самый маленький stage. Начнём с него, так будет понятно различие между им, stage2 и stage3. Грузимся с LiveCD, монтируем наш раздел для установки Gentoo в приготовленную папку /mnt/gentoo и копируем туда наш stage1

cp stage*.tar.bz2 /mnt/gentoo
cd /mnt/gentoo
tar xjvf stage*

Осталось распаковать portage, которые можно скачать с http://mirror.aiya.ru/pub/gentoo/snapshots/ (качать, конечно, лучше самые новые). Осталось распаковать portage

cp portage-* /mnt/gentoo/usr
cd /mnt/gentoo/usr tar xjvf portage-*

В принципе готово.

chroot /mnt/gentoo

Указываем ключи оптимизации, которые будут использоваться при сборке софта. Идём в /etc и открываем для правки файлик make.conf. Там всё и надо писать.

Посмотреть доступные ключи можно в man gcc, могу сказать коротко, что надо поставить свой проц в mcpu (march), указать что у нас i686, а не i386 🙂 и указать флаги USE последней строчкой. Последняя строчка при установке у меня выглядела так: USE=”-X -kde -gnome alsa nptl threads f77 gcj objc mmx sse 3dnow” Всё. Можно начинать ставить.

cd /usr/portage/scripts
./bootstrap.sh -f

Ключ -f говорит о том, что весь базовый софт будет качаться из инета, но если есть universal livecd, то можно взять его оттуда и скопировать в директорию /mnt/gentoo/usr/portage/distfiles (если такой папки нет, то надо её создать с помощью mkdir). Можно идти за пивом или за кофе (по вкусу), потому что есть около часа свободного времени (зависит от компа). Когда всё скомпилировалось, получили мы ни что иное как stage2. Надо из stage2 получить stage3, для этого набираем emerge -f system (если distfiles взяты с livecd, то этого не надо) и ждём, пока скачается всё, что нужно для системы. Как скачается – пишем emerge system и отправляемся опять пить пиво/колу/кофе. Теперь, когда собрана система, у нас ни что иное, как stage3. Ставим ещё парочку нужных утилит, которые почему-то не включены в system:

emerge module-init-tools pciutils

Осталось собрать ядро, поставить загрузчик, настроить загрузчик на наше ядро и можно грузить систему c харда. Исходники ядра тоже можно ставить с помощью emerge – gentoo предлагает много разных исходников типа vanilla-sources (стандартные 2.4), development-sources (стандартные 2.6), gentoo-sources (2.4 с патчами gentoo) и т.п., но я ставил по старинке 🙂

cp linux-2.*.*.tar.bz2 # звёздочки конечно меняем на цифры
cd /usr/src/linux*
make menuconfig

Конфигурируем ядро, затем компилируем его и инсталлируем модули, и вот она, долгожданная финишная прямая!

make
make modules_install

Делаем emerge grub (lilo)

cp /usr/src/linux*/arch/i386/boot/bzImage /boot
cp /usr/src/linux*/System.map /boot

Правим /boot/grub/grub.conf (/etc/lilo.conf) чтобы он грузил наше новое ядро, потом пишем grub. В открывшемся шелле выполняем root (hd0,0) – это мы указываем загрузчику, где наше ядро и setup (hd0) установит загрузчик в mbr (если lilo, то просто написать lilo -v). ReboooooT!!! Грузимся с харда и emerge нам в руки! Как пользоваться emerge, написано в man emerge 🙂 , но кое-что рассказать можно. Для установки программы (например gqview) достаточно написать emerge gqview, а для её удаления – emerge unmerge gqview. Если программы нет в директории /usr/portage/distfiles, то gentoo начнет её скачивать.
Посмотреть, сколько придётся качать и что будет доставлять программа? Пожалуйста! emerge -pv gqview 🙂 Есть так же флаги USE, которыми можно управлять, используя USE=”-kde” emerge licq. Все доступные флаги для устанавливаемой программы можно посмотреть с помощью всё тех же ключиков -pv. Обновлять gentoo проще простого – для этого достаточно выхода в интернет и emerge sync. Sync обновит всё дерево portage, и после этого можно набрать emerge -pv world, чтобы посмотреть какой софт из того, что установлен, обновился. World можно использовать и для обновления системы, т.е. если написать emerge world, то обновится весь установленный софт. Программы, которые не протестированы джентушниками помечены специальной маской ~, и если всё равно очень хочется поставить новую софтину то размаскируем все пакеты:

ACCEPT_KEYWORDS=”~x86″ emerge gqview.

В общем, довольно-таки хороший и удобный дистрибутив, запасайтесь терпением, пивом, временем и ставьте а в помощь – EMERGE 🙂 .