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 часто содержит ошибки, делающие невозможной установку приложений. Работать в этой системе удобно и приятно, но только после того, как вы преодолеете ряд неудобств и неприятностей.


Содержание

  1. Поддержка русского языка
  2. Apache + PHP
  3. Flash + Mozilla Firefox
  4. Качество шрифтов TrueType
  5. Латинские буквы в Mozilla - странная ошибка
  6. Установка пакетов с компакт-диска
  7. Установка Gentoo 2004.0 - подводные камни
  8. Подключение винчестера SATA
  9. Сборка программы Kkbswitch в Gentoo 2004.1
  10. Gentoo 2004.2: «по дороге разочарований»
  11. Медленный запуск KDM
  12. Проигрывание *.mp3 в среде KDE
  13. Настройка брандмауэра Shorewall
  14. 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, к сожалению, этого основного требования не признаёт... Жаль, жаль, очень жаль!

Hosted by uCoz