- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF139:Gentoo
Материал из Linuxformat.
- Дистростроение Настроим Gentoo индивидуально с головы до пят
Содержание |
Gentoo: Ставим и пользуемся
- Если вы предпочитаете, чтобы ваш дистрибутив Linux отражал вашу личность, прочтите руководство Боба Мосса по черной магии сборки.
«Живая» среда содержит Links, браузер командной строки — он развлечет вас, пока идет длительная сборка.
Gentoo хорошо документирован; подробное руководство ищите по адресу http://www.gentoo.org/doc/en/handbook.
Нам в Башнях LXF присылают много запросов на учебники про дистрибутивы, и более всех других – про Gentoo. Поясним для тех, кто с ним пока не сталкивался: это дистрибутив, который можно выстроить с нуля благодаря умной системе менеджмента пакетов Portage (см. далее на данном уроке более подробную информацию).
Данный дистрибутив заработал репутацию трудно настраиваемого и долго компилируемого – что не совсем лишено оснований; но время сборки варьируется в зависимости от оборудования и подключения к Интернету. Мы озаботились сократить этапы сборки, ограничившись созданием базовой системы на основе голой необходимости, а вы сможете дополнить ее чем-то более занимательным. Сюда входят установка вашего любимого рабочего стола или написание документов в OpenOffice.org на системе, построенной по вашему вкусу. Не обольщайтесь, что установите полностью рабочую систему с Gentoo в течение часа – увы, этого не будет. Но заверяем вас: полученные скачок производительности и удовольствие от установки и настройки своей собственной системы однозначно стоят трудов.
Поехали
Сперва установим основную систему Gentoo с помощью минимального ISO x86 (его можно найти на http://distfiles.gentoo.org/releases/x86/autobuilds/current-iso – возьмите ISO самой свежей сборки, только не тот, что находится в «укрепленной» папке [hardened folder]. После загрузки просто нажмите Enter и введите
passwd net-setup eth0
Первая строка позволяет задать пароль root для нашей «живой» сессии, а вторая устанавливает проводное соединение. Рекомендуется использовать ifconfig для проверки, что все ваши настройки сети присутствуют и верны. Аналогично настраивается и беспроводное соединение.
Настала пора разбиения диска. Для целей данного урока мы создадим один большой раздел, покрывающий весь диск – при желании получше разобраться в fdisk и разбивке диска, более подробную информацию ищите на http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?chap=4&part=1. Но сейчас просто наберите fdisk, а затем, по порядку, o, n и w в появившейся строке подсказки. Создастся разбиение и новый раздел (появится текстовый помощник), а затем изменения запишутся на диск, и инструмент fdisk закончит работу. Для случая, когда имеется один жесткий диск SATA, этот раздел будет назван /dev/sda1. Разбиение на разделы всегда можно просмотреть, просто скомандовав
fdisk -l /dev/sda
Теперь, обзаведясь разделом, создадим на нем файловую систему. Для тех, кто решил добавить раздел подкачки, понадобится нечто вроде
mkswap /dev/sda2 && swapon /dev/sda2
– вместо /dev/sda2 подставьте соответствующий раздел. В корневом разделе, однако, мы установим файловую систему ext3:
mke2fs -j /dev/sda1
Без флажка j создастся файловая система ext2 (она особенно полезна тем, кто создал отдельный загрузочный раздел /boot).
Монтируем тома
С виду такое подвластно только зрелым и матерым хакерам ядра, но без монтирования корневой файловой системы нам не обойтись, поскольку мы хотим использовать chroot (хитрый способ входа с терминала из «живой» среды в Linux-систему). Для начала просто скомандуйте
mount /dev/sda1 /mnt/gentoo cd /mnt/gentoo
Вскоре мы еще кое-что смонтируем, но пока займемся скачиванием архива под названием stage 3. В недобрые старые времена вам пришлось бы устанавливать Gentoo в три отдельных этапа, прежде чем браться за что-нибудь полезное; но, к счастью, теперь можно обойти первые два и скачать всего один файл (хотя энтузиастам не возбраняется пройти и первые два этапа). Минимальный Live CD поставляется с Links, web-браузером командной строки, и он поможет скачать наш архивный файл. Введите следующее для запуска браузера на соответствующем сайте:
Альтернативная пошаговая установка доступна по адресу HTTP://www.gentoo.org/doc/en/altinstall.xml.
links www.gentoo.org/main/en/mirrors.xml
Используйте стрелки вверх и вниз для выбора ближайшего к вам зеркала сайта (на уроке взято зеркало Великобритании Virgin Media), затем перейдите в папку с релизами. Выбирайте имя папки, а не значок [DIR] рядом с папкой, не то Links примется загружать файл изображения. Здесь отыщите архитектуру вашей целевой системы (наш урок использует архитектуру i686 из папки x86, но вы можете выбрать любую альтернативу, в зависимости от целевой системы и реальной среды). Выберите current-stage3, выполните загрузку и сохраните stage3‑i686‑*.tar.gz (где * – дата создания сборки). Нажмите Q, чтобы выйти из Links по завершении загрузки, а затем распакуйте архив командой
tar xjpf stage3-i686-*.tar.gz
Нажатие клавиши Shift после ввода части имени файла велит Bash автоматически дополнить это за вас. Завершив распаковку, подключим еще два тома и сделаем копию live/etc/resolv.conf в устанавливаемую систему:
cd / mount -t proc proc /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev cp -L /etc/resolv.conf /mnt/gentoo/etc/
Теперь все нужные тома смонтированы, и мы можем влезть с chroot в устанавливаемую среду:
chroot /mnt/gentoo /bin/bash env-update && source /etc/profile
Ядерное вооружение
Прежде чем приступать к компиляции ядра, зададим начальные условия среды. Для ввода информации по хосту, перейдите в /etc и наберите:
echo “127.0.0.1 mypc.at.home. mypc localhost” > hosts sed -i -e s/HOSTNAME.*/HOSTNAME=”mypc”/conf.d/ hostname hostname mypc
Используйте hostname -f для проверки, все ли настроено правильно (результат должен быть mypc.at.home). Затем установите часовой пояс в системе, заглянув в /usr/share/zoneinfo и скопировав соответствующий файл в /etc /localtime. И, наконец, просмотрите посредством eselect profile list возможные опции (сервер, рабочая станция и т. д.). В нашем примере мы воспользуемся eselect profile set 2
Теперь мы готовы настроить и установить ядро Linux для нашей системы Gentoo. Откройте /etc/make.conf и установите такие параметры для строки USE:
USE=”-gtk -gnome qt4 kde dvd alsa cdr”
Сохраните изменения, выйдите и введите:
emerge gentoo-sources
В этом пункте рекомендуем пойти попить чайку. Если у вас широкополосное Интернет-соединение, времени загрузки примерно хватит заварить и выпить одну чашку!
По завершении загрузки переберитесь в /usr/src/linux и введите
make menuconfig
Здесь нужно настроить работу ядра. Особый интерес для вас будет иметь поддержка файловой системы NTFS, которую вы найдете в Filesystems > DOS/FAT/NT Filesystems; а в разделе драйверов устройств ищите поддержку всякого экзотического оборудования, сверх имеющегося в базовой системе. После сохранения и выхода из этого меню запустите make -j2. Скомпилируется ядро с поддержкой двух параллельных потоков, что ускорит его компиляцию (если у вас одноядерный процессор, опустите параметр j; если ваш процессор поддерживает четыре потока, можно замахнуться на j4). Далее постройте свои модули ядра.
make modules_install
и в завершение установки ядра просто скопируйте 'arch/i386/boot/bzlmage в /boot/kernel.
Для окончательной настройки основной системы осталось несколько правок. Откройте /etc/fstab в любимом текстовом редакторе и замените строку с ROOT:
/dev/sda1 /ext3 noatime 0 1
Если вы задумали добавить раздел подкачки swap, дополнительно припишите
/dev/sda2 none swap sw 0 0
к строке SWAP. Удалите все ненужные строки, сохранитесь и выйдите, а затем добавьте поддержку сети, открыв файл /etc/conf.d/net и приписав в конце следующие три строки:
config_eth0=( “192.168.1.10/24” ) routes_eth0=( “default via 192.168.1.1” ) dhcpd_eth0=”-I ‘””
Сохранитесь и нажмите выход, затем запустите
rc-update add net.eth0 default echo r8169 >> /etc/modules.autoload.d/kernel-2.6
Тут необходимо будет установить пароль администратора с passwd, как мы уже делали в «живой» среде, а затем свой часовой пояс – через переменную TIMEZONE в /etc/conf.d/clock (у нас – Европа / Лондон).
Прежде чем создать финальный набор необходимых системных инструментов, стоит пошарить в /etc/rc.conf, /etc/conf.d/rc и /etc/conf.d/keymaps. Настройки по умолчанию и так будут работать, но вы, возможно, захотите изменить локализацию, поддержку распараллеливания или другие глобальные переменные.
Каша из демонов
Два наиболее важных системных инструмента, которые вам понадобятся – это демон ведения журнала и планировщик задач. Вы можете установить оба сразу:
emerge syslog-ng vixie-cron
и, когда это завершится, переместить их в запуск по умолчанию командой
rc-update add <daemon> default
где <daemon> – это crond и т. п. На данном этапе вы должны следовать шагам для установки Grub на предыдущих действиях, размонтировать все тома, установленные ранее, а затем перегрузиться в нашу минимальную среду Gentoo. Войдите как root, затем добавьте обычного пользователя с помощью:
adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m bob gpasswd -a bob plugdev cdrom cdrw usb passwd bob
где bob – имя вашего пользователя. Последним шагом, прежде чем мы приступим к установке рабочего стола, является проверка на наличие обновлений и избежание будущих проблем:
emerge -vpuD --newuse world emerge libtool dispatch-conf perl-cleaner all python-updater
За рабочий стол
Первый шаг – добавить новую строку USE в /etc/make.conf. Три строки USE, из которых нужно выбрать, таковы:
Gnome: USE=”nptl nptlonly -ipv6 -fortran unicode svg hal dbus -kde -qt4 -arts -eds -esd gnome gstreamer gtk firefox alsa gdu extras gnutls device-mapper policykit sqlite kdrive” KDE: USE=”nptl nptlonly -ipv6 -fortran unicode svg hal dbus kde qt4 -arts -eds -esd -gnome -gstreamer -gtk -firefox alsa extras sql webkit mysql” XFCE: USE=””-gnome -kde -minimal -qt4 branding dbus hal jpeg lock session startup-notification thunar X alsa”
Когда вы будете это читать, некоторые из этих зависимостей могут измениться, но у emerge хватит ума сообщить вам, что именно нужно добавить к строке USE для завершения установки.
Для установки Gnome, просто запустите emerge gnome, для Xfce — emerge xfce4‑meta, а для KDE emerge kdebase-meta kdegames-meta kde-meta
Настоятельно рекомендуем запустить эти установки на ночь: они-таки отнимают довольно много времени (даже на мощных компьютерах с хорошим широкополосным каналом Интернет). По их завершении, мы переходим к той части, где все становится более специфично, так как каждый рабочий стол взаимодействует с Х-сервером, XDM и ядром системы чуть по-своему.
В Gnome сразу после установки запустите
env-update && source /etc/profilе /etc/init.d/hald start rc-update add hald default
Последние две строчки нужно будет повторить для D-BUS. Чтобы GDM запускался при загрузке, войдите как стандартный пользователь и наберите
echo “exec gnome-session” > ~/.xinitrc
Поменяйте права на root и повторите то же самое для HALD и D-BUS под XDM. И, наконец, перейдите в /etc/conf.d/xdm и после строчки DISPLAYMANAGER впишите gdm вместо xdm. GDM запустится автоматически после перезагрузки.
В KDE, как и в Gnome, нужно переместить XDM в уровень запуска по умолчанию и установить DISPLAYMANAGER в kdm вместо xdm. Однако потребуется также установить HAL, D-BUS и ConsoleKit, а затем переместить их в уровень запуска по умолчанию. Жизненно важна следующая строка:
chmod 755 -R /usr/share/config /usr/share/config
Если вам нужны дополнительные настройки (например, программная поддержка RAID), зайдите на http://www.gentoo.org/doc/en/gentoo-x86-tipsntricks.xml.
После этого установите вот что:
emerge kdebase-startkde xdm xorg-x11
Это установит startkde и проверит, что есть необходимые драйверы для соответствующего X-сервера. И, наконец, войдите как стандартный пользователь и введите
echo “exec startkde” > ~/.xinitrc
Для Xfce сразу после его установки нужно запустить фрагмент кода на три первых строки из раздела Gnome (вы заметите, что Xfce работает гораздо быстрее, чем Gnome и KDE, поскольку содержит меньше компонентов). Подлинные эстеты могут использовать Xterm вместо Bash, для чего установите z11‑terms/terminal через emerge. Для запуска Xfce при загрузке, установите Xdm и Xorg-x11, войдите в систему как обычный пользователь и введите:
echo “exec startxfce4” > ~/.xinitrc
Любые другие модули расширения, которые вам потребуются в дальнейшем, можно просто установить обычным порядком, и если вы хотите использовать приложения Gnome, позаботьтесь, чтобы сервисы, работающие под Gnome (например, HAL и D-BUS), запускались по умолчанию. Gentoo непрост, но любая система, где все компилируется с нуля, вероятно, заставит вас разок поскрести в затылке, при всем вашем опыте в Linux. Если у вас проблема (или вы хотите помочь другим), перейдите на http://www.linuxformat.com/forums для обмена советами с сообществом.
Минималисты увидят, что Xfce весит гораздо меньше рабочих столов KDE и Gnome.
Что такое Portage?
Portage – система управления пакетами в Gentoo. Она состоит из двух основных компонентов: ebuilds и emerge. Ebuild – это специализированный скрипт Bash, применяемый в Gentoo для автоматизации компиляции и установки пакетов с исходными файлами (поэтому Gentoo иногда называют Linux-дистрибутивом на базе исходников).
Emerge – инструмент Gentoo, применяемый для извлечения ebuild из репозитория CVS (с контролем версий) и разрешения зависимостей перед запуском ebuild в вашей системе.
Установка загрузчика
Заполучив ядро и готовую к работе минимальную систему, следует сделать вашу установку Gentoo загружаемой. Как ни весело влезать в Linux через chroot, загрузка-то гораздо практичнее. Первым делом надо установить Grub для системы с помощью Emerge, как показано на уроке. Затем откройте /boot/grub/grub.conf в текстовом редакторе – например, Nano – и убедитесь, что ваш файл выглядит примерно так:
default 0 timeout 3 title Gentoo Linux root (hd0,0) kernel /boot/kernel root=/dev/sda1
Ваш файл конфигурации может выглядеть иначе, если вы установили корневую файловую систему поверх другой файловой системы, или имеете двойную загрузку, или создали особый загрузочный раздел /boot. Можно также определить место для раздела подкачки swap, но если вы не используете указанные два раздела, удалите строки SWAP и BOOT. Файл определяет Gentoo разделом по умолчанию для загрузки, с тайм-аутом в 3 секунды, а также задает расположение ядра. По завершении правки сохраните и закройте файл; затем, введя в терминале grub, наберите после появившейся подсказки строки
root (hd0,0) setup (hd0) quit
Если все хорошо, ошибок в отчете не будет, и когда вы покончите со всякими изменениями в «живой» среде, ваша система будет готова к загрузке.
Бьемся в сетях
При работе с Gentoo в «живой» среде могут возникнуть трудности при подключении к сети – из-за вашего адаптера (или если вы почему-либо перезагрузитесь и вдруг обнаружите, что потеряли доступ). Тогда обычное
net-setup eth0
для проводного соединения должно помочь решению вопроса. Можете запустить ifconfig для проверки, есть ли у вас IP-адрес и подключается ли ваше соединение Ethernet через шлюз по умолчанию вашего маршрутизатора. Может также понадобиться настроить ваш профиль eselect еще раз, как мы делали ранее на уроке.
Установленные настройки
Иногда случается, что сеть прекрасно работает в «живой» среде, но вдруг отказывает при переходе в систему, установленную на жестком диске.
Быстро это исправить можно, просто удалив первые две строки, которые мы добавили к /etc/conf.d/net: они определяют фиксированные IP-адреса. Без них вы обнаружите, что даже если модуль r8169 не загружается, система получит IP от dhcpd. Более подробная информация о сетевых интерфейсах также имеется по адресу http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=3.