BSD + Linux = Gentoo?
Gentoo Linux был создан Дэниелом Роббинсом, бывшим разработчиком
Stampede Linux и FreeBSD. Знакомство с FreeBSD и ее средством автоматической
сборки, т. н. "портами", привело создателя системы к мысли
включить "порты" в Gentoo под именем "portages"... Первый
устойчивый выпуск Gentoo вышел в марте 2002 года.
Gentoo Linux - дистрибутив, основанный на исходных текстах... Хотя
установочные диски предоставляют некоторые пакеты в уже собранном виде, основная
идея Gentoo в том, чтобы собирать все пакеты из исходных текстов прямо на
компьютере пользователя. Основное преимущество этого в получении системы,
использующей все возможности компьютера, на котором она была собрана. Кроме
того, одна простая команда позволяет обновлять установленные пакеты из
центрального хранилища, обычно содержащего достаточно свежие версии программ.
С другой стороны, установка Gentoo утомительна и длинна - рассчитывайте на
несколько дней работы даже на быстром компьютере, если вам нужно установить
новейшие версии, например, KDE или GNOME.
За: легкая установка отдельных пакетов; всегда свежие
версии программ; возможность подгонки системы под свои нужды.
Против: долгая и утомительная установка системы; возможная
неустойчивость, опасность сбоев, недопустимая для машин, занятых критически
важными задачами.
www.distrowatch.com
|
|
Gentoo можно определить, как дистрибутив, подающий надежды, но обреченный на вечную
незрелость. По меньшей мере, со времен Gentoo 1.4 и до Gentoo 2004.3 не произошло
никаких утешительных перемен. Достоинствами Gentoo были и остаются напоминающая
BSD система портов/пакетов (portage), управляемая универсальной командой emerge,
а также простота настройки (всё зависит от небольшого числа конфигурационных файлов:
/etc/rc.conf, /etc/make.conf, /etc/conf.d/net...). Неплоха документация (с оговоркой,
о которой ниже). Однако проклятием Gentoo до сих пор остается невнимание к пользователю.
Документация может не соответствовать действительности. На установочных компакт-дисках
может не быть программ, которые должны на них находиться. Система portages часто
содержит ошибки, делающие невозможной установку приложений. Работать в этой системе
удобно и приятно, но только после того, как вы преодолеете ряд неудобств и неприятностей.
Содержание
- Поддержка русского языка
- Apache + PHP
- Flash + Mozilla Firefox
- Качество шрифтов TrueType
- Латинские буквы в Mozilla - странная ошибка
- Установка пакетов с компакт-диска
- Установка Gentoo 2004.0 - подводные камни
- Подключение винчестера SATA
- Сборка программы Kkbswitch в Gentoo 2004.1
- Gentoo 2004.2: «по дороге разочарований»
- Медленный запуск KDM
- Проигрывание *.mp3 в среде KDE
- Настройка брандмауэра Shorewall
- Gentoo 2004.3: бывает хуже, но редко
Поддержка русского языка
a) Установки "локали":
nano -w /etc/env.d/00basic
Добавляем строки:
LANG="ru_RU.KOI8-R"
LC_CTIME="ru_RU.KOI8-R"
LC_MESSAGES="C"
LANGUAGE="C"
Теперь выполним `env-update && source /etc/profile`. Готово.
b) в /etc/rc.conf пишем:
KEYMAP="ru"
CONSOLEFONT="cp866-8x16"
CONSOLETRASLATION="koi2alt"
CLOCK="local"
c) Настройка X Window:
nano -w /etc/X11/XF86Config
В разделе "InputDevice" должно быть:
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:rctrl_toggle"
Apache + PHP - беглый очерк.
Установим Apache:
emerge apache
Выясним завимости PHP, чтобы установить только нужное...
emerge -vp mod_php
...и запустим установку с такими, например, параметрами:
USE="-X -berkdb -crypt -gdbm -pam -pdflib -qt -spell -ssl \
-ldap -ncurses -readline -truetype" emerge mod_php
Поддержка MySQL в моем примере отключена - на самом деле ее, скорее всего,
придется задействовать.
Для работы с PHP придется изменить строку OPTS в файле /etc/conf/apache2 :
APACHE_OPTS="-D SSL -D PHP4"
Чтобы Apache загружался при старте системы:
rc-update add apache2 default
Пожалуй, это всё. :-)
Flash
emerge mozilla-firefox-bin
emerge netscape-flash
Это установит уже скомпилированный пакет Mozilla Firefox (объем загружаемых файлов - мегабайт
8) и добавит к нему поддержку Macromedia Flash.
Качество шрифтов TrueType (Gentoo 2004.0)
Установив Gentoo 2004.0, я удивился тому, как бледно смотрелись шрифты по сравнению
с моим рабочим дистрибутивом последнего времени - Slackware 9.1. Включение нижеследующих команд
в файл /etc/fonts/local.conf :
<match target="pattern">
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
</match>
улучшило качество шрифтов в KDE/GNOME, но в OpenOffice всё осталось по-прежнему.
Оказалось, виновен некий bytecode interpreter - поддержка которого в Gentoo
включена по умолчанию. Отделаться от него можно, удалив freetype и собрав его
снова с ключом bindist:
emerge -C freetype && USE="bindist" emerge freetype
После этого шрифты TrueType отлично выглядят во всех программах.
Латинские буквы в Mozill'е. Не знаю почему, но на некоторых
сайтах, просматриваемых через Mozill'у, латинские буквы исчезают. Konqueror (на тех же
сайтах) латиницу показывает, но другим шрифтом. Лечение: вписать в /etc/fonts/local.conf
следующие строки:
<match target="pattern">
<edit name="prefer_outline">
<bool>true</bool>
</edit>
</match>
Установка пакетов с компакт-диска. Чтобы поставить нужные
пакеты, не копируя их в каталог /usr/portage/packages , нужно задать
переменную среды PKGDIR:
export PKGDIR=/mnt/cdrom
и после этого запускать emerge обычным порядком:
USE="bindist" emerge -k ...
Есть, кстати, еще несколько полезных переменных окружения из того же ряда:
PORTDIR |
путь к "портам" |
DISTDIR |
путь к загруженным исходным текстам |
RPMDIR |
путь к пакетам RPM |
См. http://www.gentoo.org/doc/en/portage-manual.xml.
Установка Gentoo 2004.0. Вообще-то установка очень
подробно описана в руководстве, доступном на www.gentoo.org. Однако в этом руководстве есть несколько несоответствий.
О главных из них ниже.
Во-первых, рекомендуемый способ установки исходных текстов ядра:
emerge gentoo-sources
не срабатывает. Система пытается загрузить ядро из интернета... Решение:
вместо указанной команды вводить:
emerge =vanilla-sources-2.4.24
или:
emerge /usr/portage/sys-kernel/vanilla-sources/vanilla-sources-2.4.24-r1.ebuild
Уже не помню, какой из этих способов мне помог, ;-) кажется, второй.
Вторая большая неприятность - отсутствие на диске программы genkernel, нужной для сборки
ядра. Решение: либо ручная настройка (make menuconfig) и сборка ядра, либо выход в
интернет... Недостающие файлы (genkernel и его зависимости) имеют объем, сколько мне
помнится, около 3,5 мегабайт. Кстати, загружая genkernel, я обнаружил, что требуемая
установщиком версия - 3.0.1-r1, по-моему - на ftp-серверах уже отсутствует... К счастью,
у меня нашелся недавний "слепок" системы портов, я распаковал его в /usr/portage
и установил-таки более новую версию genkernel. Как раз тогда я и подумал, что
Gentoo слишком хорош для меня. На самом деле, с установкой первого выпуска Gentoo 1.4 - того,
который продавался в LinuxCenter.ru - дело было гораздо хуже. Изменения к лучшему! ;-)
P. S. Рад сообщить, что в Gentoo 2004.1 обе эти неприятности устранены. ;-)
Подключение жесткого диска с интерфейсом SATA
Недавно я столкнулся с задачей: как заставить Gentoo работать с диском Seagate Barracuda ST380013AS
(материнская плата Gigabyte GA-8IG1000MK) в "родном" режиме Serial-ATA. Решение:
1. Установить ядро из пакета gentoo-sources. Оно отличается, кроме прочего, поддержкой дисков
SATA.
emerge sys-kernel/gentoo-sources
2. Запустить genkernel, указав ему путь к исходным текстам нового ядра. Можно, конечно, собрать
ядро вручную, но, на мой взгляд, genkernel упрощает сборку - хотя к простоте FreeBSD, замечу,
не приближает.
genkernel --menuconfig --kerneldir=/usr/src/linux-2.4.25-gentoo-r2/ all
3. В меню выбрать следущие настройки для работы с SATA:
SCSI ->
SCSI support (не модуль!) ->
SATA support (не модуль!) ->
Intel PIIX support (не модуль!)
4 (необязательный пункт). Заодно можно выбросить из ядра различный мусор, создающий ошибки при
запуске системы. У меня Gentoo жаловался на невозможность загрузить драйверы для i810_rng, hw_random,
e100 и rivafb. Да кстати же, владельцам материнских плат от Gigabyte нужно убрать т. н. устройства
WatchDog из раздела Character devices. Итак, кроме WatchDog я убрал: из Character devices - Intel i8x0
random number generator, Intel/AMD/VIA HW random number generator, из Network devices - Ethernet (10
or 100 MBit) - EtherExpress Pro/100 (e100, alternative Intel driver), и из Framebuffer options - все
драйверы, кроме стандартных VESA и VGA (тем самым избавляемся от ошибки rivafb).
5. В /etc/fstab все вхождения вида /dev/hdX заменить на /dev/sdX (диски SATA новое ядро считает
устройствами SCSI - что же, назови хоть горшком, только в печь не ставь).
6. Добавить новую запись в /boot/grub/menu.lst:
title=Gentoo Linux (Original)
root (hd0,4)
kernel /kernel-2.4.25-gentoo-r2 root=/dev/ram0 real_root=/dev/sda7 \
init=/linuxrc ramdisk_size=4256 vga=0x317 splash=verbose
initrd /initrd-2.4.25-gentoo-r2
Передаваемое ядру значение ramdisk_size должно быть именно таким, какое сообщил genkernel
по окончании сборки ядра.
Готово.
Сборка программы Kkbswitch в Gentoo 2004.1
Переключатель клавиатур Kkbswitch
не хочет компилироваться в новом Gentoo 2004.1. Сборка прекращается со следующим сообщением
об ошибке:
libtool: link: cannot find the library `/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/libstdc++.la'
Выход очень простой: в каталоге /usr/lib/gcc-lib создать символическую ссылку:
cd /usr/lib/gcc-lib
ln -s i686-pc-linux-gnu i386-pc-linux-gnu
Gentoo 2004.2 - «по дороге разочарований»
С сожалением должен отметить, что установка ни одной версии Gentoo, от 1.4 до 2004.2, не
проходила у меня спокойно. Документация не соответствует действительному положению дел; на установочном
диске находятся не те или не совсем те программы, что обещаны разработчиками - это в Gentoo обычное
дело. Версия 2004.2 не стала исключением. Всё было неплохо, пока я не дошел до установки X-сервера.
Инструкция предлагала установить Иксы командой (имеется в виду т. н. GRP-установка):
USE="bindist" emerge -k xfree
И что же - в ответ на emerge xfree началась сборка XFree86 из исходных текстов. Нигде
на сайте Gentoo я не встретил упоминания о том, что устанавливать X-сервер следует совсем, совсем иначе:
USE="bindist" emerge -k xorg-x11
(или, хотя бы, так: USE="bindist" emerge -k x11). Согласитесь - навязать пользователю 3-часовую
компиляцию программы, «забыв» внести поправки в документацию,это сильно...
Syslog-ng установить вообще не удается, т. к. вместо него уже присутствует sysklogd. Но
инструкция, конечно, об этом умалчивает.
Честно говоря, я просто удивлен...
Медленный запуск KDM
В Gentoo 2004.2 я столкнулся со странной задержкой при старте KDM. От запуска X-сервера
до загрузки KDM проходило 3-5 секунд... В интернете я нашел средство: запустить fc-cache от имени root.
Сработало!
Проигрывание *.mp3 в среде KDE
Как мне довелось убедиться, Noatun (проигрыватель MP3 для KDE) звучит довольно бледно... Однако XMMS
в среде KDE играть отказывается. Есть, конечно, трюк: запускать XMMS через artsdp:
artsdsp xmms
- но у меня это не сработало. Можно также использовать отличный проигрыватель mpg123 - также через
artsdsp. Это работает, но mpg123 - консольная программа. Лучший выход, какой я нашел - установить
xmms-arts:
emerge xmms-arts
- и затем в XMMS выбрать в качестве "output plugin" (приставки для вывода звука) -
aRts Output.
Этот совет никак не относится к Gentoo, но надо же мне куда-то его поместить... ;-)
Настройка брандмауэра Shorewall
Для модемного соединения и локальной сети на eth0:
а) В файл /etc/shorewall/interfaces вписываем 2 интерфейса:
loc eth0 detect
net ppp0 detect
б) В файле /etc/shorewall/policy указываем следующие "политики":
loc net ACCEPT
# Разрешаем свободный доступ в интернет и наоборот с машины,
# где установлен брандмауэр
fw net ACCEPT
# Готово
net all DROP info
all all REJECT info
в) В файле /etc/shorewall/rules указываем следующие правила:
# SAMBA rules
ACCEPT fw loc udp 137:139
ACCEPT fw loc tcp 137,139,445
ACCEPT fw loc udp 1024: 137
ACCEPT loc fw udp 137:139
ACCEPT loc fw tcp 137,139,445
ACCEPT loc fw udp 1024: 137
# LISa rules
ACCEPT loc fw tcp 7741
ACCEPT fw loc tcp 7741
# Kopete (ICQ for KDE) rules
ACCEPT fw net tcp 5190
ACCEPT fw net tcp 6891
ACCEPT net fw tcp 5190
ACCEPT net fw tcp 6891
# NAMED rules - если установлен DNS-сервер на локальной машине
AllowDNS loc fw
AllowDNS fw net
Gentoo 2004.3
К сожалению, на этой версии я утратил всякое уважение к Gentoo. А может быть, наоборот,
разработчики Gentoo утратили всякое уважение к пользователю. Не знаю... Перечислю вкратце
"достоинства" Gentoo 2004.3:
- невозможно установить систему без доступа к интернету: отсутствуют пакеты usbutils и pciutils,
нужные, в свою очередь, для hotplug;
- установить KDE из пакетов невозможно: требуется отсутствующий на CD пакет glib-1.2.10;
- протокол smb:// не поддерживается Konqueror'ом (ошибка в KDE 3.3?);
- Midnight Commander не может быть скомпилирован, причем обновление portages до новейшей
версии ничего не дает. Есть вероятность, что mc зависит от более новой версии glib, чем
установленная, но проверять я не стал;
- в наборе готовых пакетов на втором CD отсутствует PPPD. Это меня особенно поразило,
т. к. означает разрыв с 99% пользователей в России.
Это можно назвать политикой крайней враждебности к пользователю и крайней незаинтересованности
в пользователе. "Лопай, что дают", как сказано у Чехова. Если бы подобном образом вел
себя Microsoft, крику было бы до небес. Но это "open source", которому принято многое прощать...
Что же остается сказать? По-видимому, этот (весьма многообещающий) дистрибутив загублен во младенчестве и ждать от него
больше нечего. Я многое могу простить мощной и универсальной системе, но я вправе ожидать определенной
устойчивости и предсказуемости - работоспособности системы сразу после установки, для начала. Gentoo,
к сожалению, этого основного требования не признаёт... Жаль, жаль, очень жаль!
|