[УСТАРЕЛО] Gentoo: краткий обзор и HOWTO INSTALL
-
Доброго времени суток, Пингвинус! По просьбе пользователей Akellacom (http://pingvinus.ru/user/akellacom) и Cowpland (http://pingvinus.ru/user/cowpland) излагаю свое впечатление об OS GNU/Linux Gentoo.
Сразу хочу пояснить — я не асс и на Gentoo смотрю пока еще удивленно раскрыв рот, время от времени произнося: «Ой, а ты чего это такое???». Это намек на то, дорогие Пингвинщики, что от сложных вопросов я могу прийти в уныние. Также инструкции, которые приведены мной ниже не совсем верны (за то, что я сделал с USE флагами, необходимо карать всеми доступными способами, но я планирую все оптимизировать) И так, приступим... -
Во-первых я был напуган тем, что система распространяется в виде двух основных архивов - stage3 и portage - исходные коды и базовая система. Последний раз я видел инсталлятор в Gentoo 2007 или даже 2006. В начале я сетовал на отсутствие программы-установщика, теперь понимаю, что все так, как и должно быть. Следует заметить, что для установки Gentoo необходимо хорошее подключение с интернету (мне хватило 3G USB модема) и уже установленный дистрибутив какого-нибудь линукса на жестком диске. Или же Live-DVD с какими нибудь дистрибутивом. Главное, чтобы вы могли поднять в нем интернет и монтировать разделы. Я опишу лишь установку на своей машине, а "слышащий, да услышит", читающий, да почитает Gentoo Handbook (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml). Для установки и разбороа полетов с системой portage хэндбук - это незаменимая книга.
-
Основная соль в Gentoo приходится на файл /etc/make.conf и конкретно на USE флаги. USE - это переменная, которая говорит программе emerge поддержка чего должна быть собрана в компилируемом пакете и какие зависимости за собой тянуть. Если нам не нужна поддержка KDE и Qt то USE флаг будет USE="-kde -qt (остальные флаги)". Настроить эту переменную можно глобально в make.conf или локально
Это как плюс, так и минус системы:USE="-kde -qt (остальные флаги)" emerge имя_пакета
[+] можно собрать ОС исключительно под свои нужды и с поддержкой только необходимых библиотек
[-] (?+) новичкам в таких открытых ОС будет работать сложновато и придется много гуглить первое время
Безусловно является плюсом то, что большинство настроек производится вручную, что обязывает вникать в систему и изучать ее изнутри. За 2 года пользования Debian я могу сказать: друзья, я ничего не знал о линуксе до знакомства с Gentoo и Slackware! Но Слака - это отдельная история... -
Gentoo - это система на века. Ты устанавливаешь ее и после этого тебе остается лишь обновлять систему время от времени. Стабильная, простая (серьезно) в эксплуатировании. Наверное одна из лучших ОС семейства Unix-Like на базе Linux. Система Portage (http://ru.wikipedia.org/wiki/Portage) сама отслеживает и скачивает с зеркала необходимые зависимости для того или иного приложения. В Slackware например все отслеживание зависимостей ложится на плечи администратора, что неплохо с одной стороны для изучения Linux, но плохо для продуктивного ежедневного использования на Desktop.
-
Теперь я хочу провести краткую экскурсию по установке Gentoo Linux. Еще раз предупреждаю - мой мануал не вполне верен, пользуйтесь гуглом и поддержкой знающих людей. Я написал инструкцию лишь для того, чтобы вам проще было понять английский Gentoo Handbook (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml). И так...
Руководство: Gentoo Linux Install
-
Gentoo я устанавливал из уже имеющейся OS Debian. Всего в моем ПК 3 жестких диска:
- IDE железка с виндой (на ней же загрузочный сектор)
- SATA железка с Debian
- SATA железка с Gentoo (в начале она была пустая)
Потому мой рассказ будет вестись именно с этого ракурса.
Прежде всего я скачал два архива Gentoo: stage3 и portage. Для архитектуры x86 привожу ссылки:
- Зеркало Yandex (http://mirror.yandex.ru/gentoo-distfiles/ef=)
- Stage3 (http://mirror.yandex.ru/gentoo-distfiles/releases/x86/current-stage3/)
- Portage (http://mirror.yandex.ru/gentoo-distfiles/releases/snapshots/current/)
Необходимо скачать архив portage-latest.tar.bz2 (это последнее обновление). Теперь можно приступить к нарезке диска.
Как уже говорилось ранее, установку я буду описывать относительно Debian. Вы можете проводить установку даже с любого Live-DVD, лишь бы могли поднять в этом Live инет. И так, я нахожусь в Debian на устройстве sda, чистый диск для Gentoo — sdb. За схему я решил взять стандартную разбивку:
- /dev/sdb1 ext2 /boot (с меткой boot) 1 Gb
- /dev/sdb2 swap 1Gb
- /dev/sdb3 ext3 все оставшееся место
Размеры и кол-во разделов могут варьироваться в зависимости от нужд пользователя. В Gentoo Handbook приводится мануал по использованию fdisk (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=4#fdisk) для разбиения жесткого диска. Новички, заклинаю вас — вопреки крикам труъ линуксойдов о всех прелестях консоли, используйте утилиту типа gparted. Это не вижу смысла рыться в консоли там, где гуй значительно лучше. Как бы то ни было, диск разбит и нам необходимо примонтировать его и распаковать базовую систему. Теперь уже открываем эмулятор терминала, делаем su root и работаем рутом. Для начала создадим необходимые папки:
Перед распаковкой необходимо проверить корректность даты и времени. Если что-то не так — настраиваем. Далее распаковываем базовую систему на устройство:mkdir /mnt/gentoo mount -t auto /dev/sdb3 /mnt/gentoo mkdir /mnt/gentoo/boot mount -t auto /dev/sdb1 /mnt/gentoo/boot
tar xvjpf /путь/до/stage3.tar.bz2 -C /mnt/gentoo tar xvjf /путь/до/portage-latest.tar.bz2 -C /mnt/gentoo/usr
-
Сразу же настроим опции для компилятора:
В make.conf необходимо указать начальные параметры — опции компиляции, USE флаги. Изначально я сделал так:mkdir /mnt/gentoo/usr/portage/local nano /mnt/gentoo/etc/make.conf
# These settings were set by the catalyst build script that automatically # built this stage. # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. CFLAGS="-O2 -march=i686 -pipe" CXXFLAGS="${CFLAGS}" # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. CHOST="i686-pc-linux-gnu" # Number of jobs for your compiler MAKEOPTS="-j3" # Mirrors, what you like for your OS SYNC="rsync://mirror.yandex.ru/gentoo-portage" GENTOO_MIRRORS="ftp://mirror.yandex.ru/gentoo-distfiles" ACCEPT_KEYWORDS="~x86" FEATURES = "ccache" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTAGE_CONFIGROOT="/" PORTDIR_OVERLAY="/usr/portage/local" INPUT_DEVICES="keyboard mouse vmouse" VIDEO_CARDS="nvidia" LINGUAS="ru" USE="X a52 aac acl acpi alsa berkdb bluetooth branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus doc dri dts dvd dvdr emboss encode exif fam firefox flac fontconfig fortran gdbm gdu gif gnome gpm gtk iconv ipv6 jpeg kde kdrive lcms ldap libnotify mad mikmod mng modules mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python tk qt3support qt4 readline sdl session sip spell sqlite ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb vorbis wav x86 xcb xml xorg xulrunner xv xvid zlib jadetex x264 static-libs sasl apache2 gd mysql mysqli hal"
MAKEOPTS="-j3" - это опция -j для программы make. Она говорит сколько процессов назначать при компиляции. Если одно ядро установите j2, если 2 ядра, то j3, и так далее. Число ядер процессора +1.
Опции
говорят о поддержке видео и звуковых карт.VIDEO_CARDS="" ALSA_CARDS=""
Возможные значения можно посмотреть в
Однако устанавливать эти значения на данном этапе не обязательно.nano /usr/portage/profiles/desc/video_cards.desc nano /usr/portage/profiles/desc/alsa_cards.desc
-
Теперь (в OS, в которой мы находимся, долже нбыть подключен интернет) мы копируем информацию о DNS и примонтируем необходимые разделы:
Все, можно чрутиться в Gentoo. Колдуем:cp -L /etc/resolv.conf /mnt/gentoo/etc/ mount -t proc proc /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev mount -t devpts devpts /mnt/gentoo/dev/pts mount -t tmpfs shm /mnt/gentoo/dev/shm
chroot /mnt/gentoo /bin/bash env-update source /etc/profile export PS1="(chroot) $PS1"
-
Обновим дерево портежей:
# emerge --sync
Выведем список профилей установки:
Поскольку мне необходим был десктоп, я выбрал профиль default/linux/x86/10.0/desktop командой:# eselect profile list Available profile symlink targets: [1] default/linux/x86/10.0 * [2] default/linux/x86/10.0/desktop [3] default/linux/x86/10.0/server
Тут уже все от нужд и предпочтений пользователя зависит. В /etc/locale.gen я добавил локали:eselect profile set 2
en_US.UTF-8 UTF-8
en_US ISO-8859-1
ru_RU.KOI8-R KOI8-R
ru_RU.UTF-8 UTF-8
ru_RU ISO-8859-5
ru_RU.CP1251 CP1251
Затем выполняем:locale-gen
-
И переходим к настройке ядра. Устанавливаем временную зону:
Далее выполняем:ls /usr/share/zoneinfo cp /usr/share/zoneinfo/GMT /etc/localtime echo "GMT" > /etc/timezone
И загружаем исходники ядра и устанавливаем нужные программы:emerge portage etc-update
Гораздо лучше, чем я, вам о ядре расскажетemerge gentoo-sources emerge gentoolkit # по желанию ставим прогу для управления USE emerge -u ufed
- Gentoo Handbook (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=7)
Дам лишь пару рекомендаций:
1) поддержка SATA IDE дисков должна быть вкомпилирована в ядро, А не выполнена модулем. Иначе система просто не загрузится.
2) устанавливайте нормальным способом:
после конфигурирования ядра колдуем:
3) если вы будете использовать бинарники драйверов от nVidia, то отключите в ядре поддержку nVidia карт (погуглите на эту тему, не ленитесь!).make bzImage make modules make modules_install make install
Отключить поддержку nVidia можно тут:
Если что-то не будет получаться, то все проблемы будут решаться пересборкой ядра.Device Drivers ---> Graphics support ---> Support for frame buffer devices ---> < > nVidia Framebuffer Support < > nVidia Riva support
-
И так, ядро собрано. Нам необходимо поднять fstab.
Так выглядит мой файл с разделами. Тут уже все зависит от вашей разметки.# nano /etc/fstab /dev/sdb1 /boot ext2 defaults,noatime 1 2 /dev/sdb2 none swap sw 0 0 /dev/sdb3 / ext3 noatime 0 1 /dev/sr0 /mnt/cdrom auto noauto,user 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Теперь займемся настройкой основных параметров. Установим имя хоста (нашей машины). Я нескромно назвал ее hacker:# nano /etc/conf.d/hostname HOSTNAME="hacker"
Домен для сети (я оставил по хэндбуку, но DHCP не использовал):# nano /etc/conf.d/net dns_domain_lo="homenetwork" config_eth0=( "dhcp" )
И добавляем в демоны# rc-update add net.eth0 default
Настраиваем hosts:nano -w /etc/hosts 127.0.0.1 hacker.homenetwork hacker localhost
Устанавливаем пароль рута командой:# passwd
Если нужно, то редактируем/etc/rc.conf /etc/conf.d/keymaps
Настраиваем часы (это НЕ правильно, гуглим на эту тему. Просто таблетку я пока не нашел):nano /etc/conf.d/hwclock clock="local" clock_systohc="NO" clock_args=""
Устанавливаем необходимые программы. Во-первых:# emerge ccache
# emerge syslog-ng # rc-update add syslog-ng default
# emerge vixie-cron # rc-update add vixie-cron default
# emerge mlocate # USE="-gtk" emerge evms # emerge dhcpcd # emerge ppp # emerge wvdial
Поскольку граб я использую дебиановский, то я в gentoo его не поднимал, а просто дописал загрузку генты. Если кому-то нужен граб, то курим тут (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=10)
Установка базовой системы закончена.# exit # cd # umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo # reboot
Эта тема закрыта. Новые ответы добавлять нельзя.
← Все темы