ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут
- Puppy Linux -
Хороший друг


ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один
- Linux Mint -
С родинкой на щеке!
- CentOS -
Копейка рубль бережёт!
- Fedora -
По следам Red Hat
- Ubuntu Linux -
Мы одной крови!
- Mageia -
Красота и удобства
- openSUSE -
Настоящее немецкое качество
- Slackware -
Линукс из кубиков
- ALT Linux -
Что русскому хорошо





ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!
- PCLinuxOS -
Просто линукс
- Aptosid -
Почувствуй силу!


ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё
- LinuxFromScratch -
Линукс с нуля


ДЛЯ ДЕЛА: ЛЁГКИЕ

- DeLiCate -
Старость в радость!
- SLAX -
Тысяча и один модуль


ЗАЩИТА

- OpenWall -
Не стучите, закрыто!
- Kali -
Вам, хакеры!


ПРИЛОЖЕНИЯ

- Planet CCRMA -
Работа со звуком
- VegaStrike -
Каждому по планете!


ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус
- GoboLinux -
Очевидно и вероятно
- ReactOS -
Освободите Виндоус!


РОДНЯ

- BSD-семейство -
На плечах гигантов
- OpenIndiana -
До звёзд рукой подать


АРХИВ (2003-2016)
ФОРУМ




НАШИ ПРОЕКТЫ

MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ
ПИНГВИН В КАРМАНЕ
ЗАКЛАДКИ
СТАТЬИ
КОНТАКТЫ


ПОМОЧЬ






Личный архив ЕЗ

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 года. По-моему, он мне не поверил.


При частичной или полной перепечатке, переводе, переработке материалов сайта ссылка на Knoppix.ru обязательна.
(c) Knoppix.ru 2003 - 2016