Старт Linux.SU Рассылка Архив Форум Купить Linux.SU(Knoppix.ru)
Какой Линукс выбрать?

ЛУЧШЕЕ ИЗ ЛУЧШЕГО

ДЛЯ ЛЮБОПЫТСТВУЮЩИХ

- Knoppix -
Линукс за пять минут

- Блин -
Линукс на мини-CD

ДЛЯ НАЧИНАЮЩИХ

- Русский Комплект -
Всё по-русски

- Mandrake Linux Official -
Красота и удобства

- Ubuntu Linux -
Мы одной крови!

- Linux Docs -
Документация на CD

ДЛЯ ОПЫТНЫХ

- ASP Linux -
Для дома и офиса

- Fedora Linux -
По следам Red Hat

- GoboLinux -
Очевидно и вероятно

- SuSE Linux -
Настоящее немецкое качество

ДЛЯ ПРОДВИНУТЫХ

- Debian -
Он такой один

- Gentoo -
Каждому своё

- Slackware -
Линукс из кубиков

ИГРЫ

Новогодний комплект
Игры на Live-CD

- VegaStrike -
Каждому по планете!

ПРИЛОЖЕНИЯ

- OpenOffice.org -
100% свободный офис

- Firefox -
Браузер нового поколения

- Planet CCRMA -
Работа со звуком

- Linux MUSIC -
Музыка на Линуксе

- MediaLinux -
Linux-мультимедия

СОВЕТ ДНЯ
АПРЕЛЬ
04 11 18 25
05 12 19 26
06 13 20 27
07 14 21 28
01 08 15 22 29
02 09 16 23 30
03 10 17 24

МАРТ
07 14 21 28
01 08 15 22 29
02 09 16 23 30
03 10 17 24 31
04 11 18 25
05 12 19 26
06 13 20 27

АРХИВ
(2003 - 2005)
СТАТЬИ

- Шаг 1 -
Выбираем Линукс

- Шаг 2 -
Настраиваем Линукс

- Шаг 3 -
Подбираем софт

- Шаг 4 -
Решаем проблемы

- Шаг 5 -
Перспективы

Работает VegaStrike

Debian + X.org

Неземные красоты Дебиан

НАШИ ПРОЕКТЫ

ПИНГВИН В КАРМАНЕ
MATRIX GL
РУССКАЯ ОПЕРА

ВЫИГРАЙ LINUX!
ЗАКЛАДКИ
АНАЛОГИ
WINDOWS-ПРОГРАММ
ЧаВО
О ПРОЕКТЕ

Эмблема хакеров
Вернём Сеть!
#1594169
Gentoo Linux – среда для программиста

Алексей Паршин, Сан Франциско, май 2004

Я не знаю как Вы, а я успел попробовать по крайней мере несколько различных операционных систем Linux. Началось все с RedHat (ну, это классические грабли), потом был Mandrake (это было неплохо, в общем), затем промелькнули Black Cat и SuSE. Казалось бы, и версии были разные, но всё время хотелось чего-то более программерского, что ли. Что не нравилось? Да вот делаешь себе систему, настраиваешь её под себя, а потом появляется супер-пупер-бета версия (здесь подставьте свою любимую программу) и хочется сразу попробовать, но... Glibc или libc устарела или требуется куча пакетов, не входящих в любимый дистрибутив (rpm.org здесь неплохо выручает), и все их надо аккуратно поставить. Это достаточно часто ведёт к конфликту версий и заканчивается обновлением всей системы. А если я так не хочу?

Я увидел Gentoo первый раз на LinuxWorld в Сан Франциско. Лохматый парнишка восседал на участке 4 на 3 метра перед парой мониторов. На мониторах крутилась пара игр, и рыбка попалась – я подошел и стал выяснять детали. Сначала было похоже, что это еще одна маленькая команда, пытающаяся сделать свой маленький Linux (как AuroraLinux, например). Потом стало интересно – оказалось, что Gentoo может работать на Sparc, причем на любых (что уже прикольно), и понимает разницу между Sparc и Ultra Sparc (ну и, конечно, различает любой Pentium и AMD). Что значит различает? Вся установка ведётся компилированием из исходного кода, и в настройках компилятора вы сами обьявляете оптимизацию – по типу процессора, типу оптимизации кода. Хотите – задаёте банальный Pentium, и всю систему потом можно использовать на любом Pentium и выше, а хотите – обьявляете свой процессор (скажем, Athlon) и все оптимизации – специально для него. Работать будет заведомо быстрее чем generic дистрибутив из коробки.

Дальше – больше. Оказывается, в Gentoo можно очень неплохо задавать различные опции устанавливаемых программ – в редакторе опций ufed. Взять, хотя бы, мой любимый unixODBC. Он нужен для обеспечения работы с базами данных через ODBC-протокол. Если ничего не задавать в опциях установки, поставятся как сами библиотеки ODBC, так и графический менеджер настроек ODBC. На сервере он не нужен – проще руками подправить odbc.ini, а его установка требует также ставить QT и kdelibs. Убираем в ufed отметки напротив KDE и QT, и всё – поддержка GUI выключается, и установка становится намного быстрее и компактнее.

Ну хорошо, а что вообще включено в Gentoo? Ответ парадоксальный – всё и ничего. Сам установочный диск включает только базовую систему – командная строка, сеть и компилятор. Вся установка заключается в разбивке дисков, установке базовой системы (просто un-tar), сетевых настроек, компиляции ядра и загрузчика (grub или lilo), после чего всё готово к установке собственно программ. Gentoo включает специальную базу, называемую portage, с описанием URL сайтов загрузки исходного кода программ и зависимостей между ними. Все зависимости удовлетворяются автоматически. Так, например, если в настройках ufed указано, что нужна поддержка Samba, а устанавливаете вы Midnight Commander, который способен соединяться с Samba, то команда:

emerge mc

поставит сначала всё, что необходимо, включая Samba, а потом и Midnight Commander. Где Gentoo все это возьмет? - Прямо из Internet. Gentoo обычно сначала закачивает исходный код с сайта разработчика или зеркала Gentoo, затем накладывает на него модификаторы (patches) для совместимости с Gentoo и, наконец, компилирует и устанавливает.

Чем это хорошо? Популярные дистрибутивы всегда пытаются заключить компромисс между желанием впихнуть побольше полезных программ и обьемом дистрибутива. Если Вы вдруг попробуете впихнуть все программы, доступные Gentoo, на CD – их понадобится штук 20. При этом весь этот набор программ устаревает в течение нескольких недель – появляются новые версии. Gentoo автоматически ставит свежие версии программ. Для любителей острых ощущений есть специальный способ задать установку стабильных или нестабильных версий пакетов. Причём, в отличие от Debian, можно смешивать стабильные и нестабильные пакеты. Т.е., если я хочу всю систему иметь стабильной, а один пакет – самый-самый свежий, то можно просто "сказать" из командной строки:

ACCEPT_KEYWORDS=”~86” emerge mc

и будет поставлен самый свежий Midnight Commander, известный в portage. Откуда portage узнаёт про новые версии? Для этого есть команда:

emerge sync

обновляющая portage периодически, например, из cron, раз в сутки, загружая информацию о новых пакетах и удаляющая информацию об устаревших пакетах. После этого можно использовать прекрасную возможность обновления всех пакетов, которые вы устанавливали (-u значит update):

emerge -u world

Из-за вот этой последней команды я, собственно, и стёр Mandrake со всех моих серверов и рабочих станций. Всего одна команда позволяет легко и непринуждённо держать всю систему в состоянии 'up-to-date'. Когда в ComputerWorld online вышла статья про проблемы в OpenSSH определённой версии – я слегка обеспокоился. Как обычно, у меня стояла именно эта версия OpenSSH. К счастью, на двух моих самых важных серверах уже стоял Gentoo Linux. Я всего-то набрал:

emerge -up world

и тут же (через 2-3 минуты) получил список пакетов, для которых есть обновления. Несмотря на очень короткий срок с момента обнаружения проблемы в OpenSSH – примерно 2-3 дня, обновление для OpenSSH уже было внесено в Gentoo и я смог немедленно его установить. Никакая перезагрузка сервера при этом не потребовалась.

Есть и еще полезные возможности в системе. Допустим, что у Вас в системе по каким-то причинам пропал (или испорчен) один из файлов. Хорошо, если вы знаете в какой пакет этот файл входит. А если нет? База Portage содержит для каждого пакета отдельную директорию, в которой содержится файл CONTENTS. Достаточно лишь поискать (командой grep, например) имя интересующего файла в файлах CONTENTS в /var/db/pkg и поддиректориях. После того, как имя пакета найдено, можно просто установить пакет заново и все его файлы будут переустановлены:

emerge my_package

Gentoo – система с огромными возможностями. А что если что-то не получается? У меня есть богатый опыт вопросов по Windows-системам, не находящих ответа даже в Microsoft. Ситуация с бесплатными Linux тоже не ясна. В RedHat по вопросам поддержки можно обращаться, если у вас есть контракт. В Mandrake – не знаю. А в Gentoo?

В Gentoo есть два способа решить проблемы с программами (кроме RTFM на сайте, разумеется). Первый способ – это BugZilla. После того, как вы зарегистрировались на сайте Gentoo (бесплатно), вы получаете возможность посылать баг-репорты. Если пакет, который вам нужен, не ставится, обычно в Gentoo вносятся исправления в пределах от 1-го до 3-х дней. Вы получаете уведомление о том, что проблема решена, и можно делать emerge или вам сообщается обходной путь установки. Уже неплохо. Есть ещё и второй способ – Gentoo forums. В моей практике, ответы на мои вопросы находятся в форуме в течение 10-15 минут, поскольку на каждые грабли в мире уже кто-то когда-то наступил.

Ну и последний больной вопрос, который меня очень волновал – как в Gentoo с Великим и Могучим? Неплохо, надо сказать. Во всех программах обеспечен ввод на русском языке, если необходимо. Переключатель клавиатуры входит и в Gnome, и в KDE. Печать на русском языке – через CUPS (сервис печать) и драйверы GIMP print. OpenOffice работает на русском языке. Я не любитель включать русскую locale, но и там вроде всё в порядке. Opera, Mozilla работают нормально как с русскоязычными сайтами, так и с почтой. Gaim, GnomeICU работают нормально, позволяя общаться с Windows-машинами через ICQ на русском языке.

Полгода назад, на последнем Linux World, я опять встречался с разработчиками Gentoo. Одному из них я сказал: Gentoo – это лучшее что случилось со мной за последние 3-4 года. По-моему, он мне не поверил.

При частичной или полной перепечатке, переводе, переработке материалов cайта ссылка на Linux.su обязательна
(c) Linux.su 2003/05