> man operating_systems
Gentoo GNU/Linux 2004.3
Emerge system!
на Четверг, 24 Март 2005, 03:01
добавил: Роман Химов список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Обзоры
комментарии: 10
авторская оценка: 95/100
просмотров: 7219


Обновлял и большие пакеты, вроде X.org, с версии 6.8.0 на 6.8.2. Gentoo в довесок к нему еще набрал патчей пару сот килобайт, что тоже интересно - в отличие от LFS, напрягаться поиском необходимых патчей в Gentoo не придется. Конечно, всегда будут такие патчи, которые в Gentoo не войдут, но могут быть кому-то необходимы, но это редкость и то же самое можно сказать про любой дистрибутив. А вот всевозможные исправления к уже выпущенным стабильным версиям разного ПО Gentoo подхватывает в систему portage без проблем, отслеживать все это самостоятельно (путь LFS) - дело довольно муторное и неблагодарное.

Заодно, на примере X.org оценил что такое флаги GCC - изначально я компилировал все как "<tt>-O3 -pipe -march=pentium2 -mcpu=pentium2 -fomit-frame-pointer</tt>", а потом поменял на "<tt>-Os -fno-inline-functions -pipe -march=pentium2 -mcpu=pentium2 -fomit-frame-pointer -fforce-addr -mmmx</tt>" (-mmmx и -mcpu=... чисто для самоуспокоения . Так вот, свежий X.org 6.8.2 уместился в 7 с небольшим МБ памяти при первой загрузке! Глядя на 20 Мб в своей SuSE... Справедливости ради отмечу, что чуть позже, во время работы, X все-таки был уличен в использовании аж 10 МБ, но все-таки?.. Попробовал перекомпилироваь Qt. Но тут сработала та самая "защита от ", из моих мега-опций в компиляции Qt участвовали только "-march... -mcpu...". Но обновил Qt 3.3.3 на 3.3.4. Потом обновил GCC до версии 3.4.3 (последняя стабильная), хотя в Gentoo он тоже числится в нестабильных (это неудивительно, так как смена компилятора "на " может отразиться на стабильности системы), после этого, конечно же, перекомпилирова новым компилятором Qt. Теперь есть новая задача - перекомпилироваь KDE (а там опции будут взяты целиком, кроме, разве что, библиотек), но с выходом версии 3.4.0 хочется заодно и обновиться. В общем, вот именно так Gentoo и используют.

Кстати, что еще интересно, поначалу я хотел обвинить Gentoo в навязывании кучи своих пакетов, когда на этапе инсталляции делается "<tt>emerge system</tt>". System - мета-пакет (или класс, как это говорится в <tt>man emerge</tt>), связывающий воедино множество базовых пакетов, утилит и прочего. Я бы, может, и не стал обращать на это внимания, но уж очень настойчиво мне по ходу всей инсталляции Gentoo говорили, что надо редактировать файлы с помощью <tt>nano</tt>, который также входит в system, но куда не входит ни <tt>vi</tt>, ни <tt>vim</tt>, ни <tt>emacs</tt>, ни многие другие. <tt>nano</tt> - отличный сам по себе редактор, но когда я, по привычке, жму в нем "<tt>:qw</tt>" и вместо ожидаемого эффекта вижу, что я куда-то что-то впечатал, мне хочется сделать с ним что-то очень нехорошее. Так вот, возвращаясь к <tt>system</tt>, я хотел поругать Gentoo за навязывание того самого <tt>nano</tt>, плюс всякого другого, что меня лично не напрягает, но кому-то может не понравиться. А потом вот что подумалось - а кто ж заставляет делать "<tt>emerge system</tt>"? А никто. Handbook - это лишь толковый справочник для начинающих, а ведь можно ставить не <tt>system</tt>, а открыть книгу LFS (или покопаться на www.gentoo.org), посмотреть, какие пакеты хочется видеть в своей системе и последовательнонабирать "<tt>emerge $вот_этот_</tt>"!

Еще одна вещь, которой может порадовать Gentoo - это умное скачивание обновлений. Сейчас это не является распространенно практикой, да и серверов, поддерживающих это немного (на момент написания, похоже, всего один), но <tt>deltup</tt> есть и с ним можно работать. Эта замечательная программа заменяет собой <tt>wget</tt> в деле закачивания новых версий пакетов и качает не полновесные исходники, а лишь патчи (дельты) со старых версий на новые. Хорошим примером распространения обновлений в патчах является ядро Linux, разницу между скачиванием 40 МБ новой версии и 4-5 патча видно сразу. Но <tt>deltup</tt>, в отличие от <tt>diff</tt>/<tt>patch</tt>, может работать только со специфичным сервером, а с этим, как я уже сказал выше, сейчас есть проблемы. Надеюсь, что это разрешится, а тогда будет совсем красиво и здорово, можно начинать забывать, что такое бинарные пакеты и RPM-, DEB-, TGZ-дистрибутивы - они так не могут по определению.

А теперь еще помножьте это на такую скромную команду как "<tt>emerge -u world</tt>", которая полностью обновляет вашу конкретную систему, те пакеты, которые вы реально используете в своей системе! Да, вы еще помните заголовок этой статьи? Там цифирь какая-то была еще, да? Забудьте ее. Единожды установив, все обновления вы будете делать через вышеприведенную команду, и после обновления вы будете иметь все самое свежее, даже если официально выйдет Gentoo 2005.7, обновившись через <tt>emerge</tt> вы получите все те же версии пакетов. Ну разве не сказка?

Взвешен и измерен
Gentoo - очень, очень, очень хороший дистрибутив. Отличный! В самом деле, он мне понравился, я играюсь с ним уже около месяца и делаю это с огромным удовольствием. Пользователи системы тоже используют ее не без удовольствия, хотя, на слово "компиляция" у них, похоже, выработался нездоровый рефлекс - "что, опять?" Конечно, он вряд ли подойдет тем, кто хочет посмотреть "а чё это за линуха такая?", но если вы хоть немного работали с другими дистрибутивами GNU/Linux и были чем-то неудовлетворены особенно сложностью конфигурации - хоть вам и придется большую часть всего конфигурироватьв Gentoo ручками, с помощью текстового редактора, везде и всегда вас будет сопровождать толковая справка; стоит его попробовать. Правда, придется вооружиться и знанием английского языка - читать действительно надо. Да, он никак не подойдет еще и в том случае, когда необходимо получить рабочую систему в минимальные сроки - это не его задача. Подход Gentoo - "медленно спускаемся с горы, и все стадо!"

Кстати, насчет английского языка - дело, похоже, выправляется - потихоньку переводится на русский документация Gentoo, есть российский форум Gentoo, есть русская wiki Gentoo, есть зеркала Gentoo в России (ссылки смотрите на форуме, зеркал несколько, обижать никого не хочу), ну и пока есть еще пользователи Gentoo в comp.soft.linux.discuss на Subscribe.ru (кстати, они довольно активны в этой конференции), там тоже можно многое узнать.

На мой взгляд, это один из лучших универсальных дистрибутивов GNU/Linux, хотя действительно лучших универсальных дистрибутивов я бы назвал всего два - Gentoo и Debian. Очень разные, но действительно универсальные дистрибутивы. Причем, несмотря на то, что Gentoo - дистрибутив довольно молодой, число его пользователей сегодня растет и стремительно догоняет тот же Debian, уже опережая такого ветерана, как Slackware (мерилом здесь я считаю www.distrowatch.com). Впрочем, способствует этому и наличие у многих там хорошего подключения к Сети, которым у нас, увы, похвастаться могут немногие. Поэтому, при желании поставить Gentoo придется либо попросить кого-нибудь записать "" DVD с необходимыми пакетами (продаваемые в большинстве сетевых магазинов диски, как правило, содержат уже устаревшие версии пакетов, да и набор пакетов взят какой-нибудь "", а значит, вы наверняка чего-нибудь нужного там не найдете), либо покупать ночные карточки интернет-провайдеров и принимать по таблетке "<tt>emerge --fetchonly</tt>" на ночь. Чего вам и желаю.

индекс статьи
страница 1 : страница без заголовка
страница 2 : страница без заголовка
страница 3 : страница без заголовка
страница 4 : страница без заголовка
страница 5 - текущая : страница без заголовка

Комментарии
Dron |24.03.2005 11:44
Комментарии: 558


Клево описал все...
юникод рулит, udev рулит...
правда с опциями можно быть проще...
march перекрывает действие mcpu... но он не обеспечивает обратной совместимости... (хотя мне не понятно как обеспечивает обратную совместимость mcpu... надо либо не использовать фичи вообще, тогда какой смысл, либо по умному определять можно использовать или нет, что вряд ли...
По поводу оптимизации - я вобще остановился на -Os ибо оно экономит порядка 20-30 процентов размера бинарей, что не может не сказаться на общей экономии памяти.
а все остальное от лукавого... у меня стоят -march -Os -pipe и все...
а еще у меня стоит use "-acl -pam" ибо не хочу забивать систему для программинга всякими паранойями.
кстати Роман, emerge gentoolkit даст тебе удобные утилиты euse, equery которые много чего умеют по поводу наблюдения за системой.

Roman I Khimov |24.03.2005 12:26
Комментарии: 952


Тык я ж говорю, mcpu чисто для самоуспокоения. А mcpu обеспечивает за счет того, что инструкции-то под $что-то (ну тот же 386), а вот их выравнивания, порядок, и всякое такое, оптимизированно под указанный процессор, его размеры кэша...

Еще насчет лукавого - -fno-inline-functions, по-моему, все-таки имеет смысл. Это тоже может раздувать бинарники. А вот насчет еще двух минусов - это спасибо, надо будет добавить, мне тут тоже лишние навороты в безопасности ни к чему. Эти вещи вообще, насколько я понимаю, предназначены для весьма многопользовательских сред.

Gentoolkit я уже тоже поставил, я ж сначала без unicode все делал, теперь с ним. И, соответственно, красиво пересобрать все зависимости там может revdep-rebuild. Не зря же я месяц уже с ним играюсь.

ddc |24.03.2005 15:59
Комментарии: 523


Да, хорошая статья. Правильное. Теперь все, кто ещё не захлебнулся собствеными слюнями в процессе прочтения, пойдут устанавливать Gentoo.
Только вот зачем ставить "-Os -fno-inline-functions -pipe -march=pentium2 -mcpu=pentium2 -fomit-frame-pointer -fforce-addr -mmmx"... Я остановился на "-O3 -march=athlon-xp -fomit-frame-pointer -fpic -pipe", которая, если я праввильно помню, полностью включает твои флаги, но добавляет новые оптимизации.

А в консоли какой шрифт используешь?

Roman I Khimov |24.03.2005 16:18
Комментарии: 952


Ха! Ровно наоборот, Os включает в себя все из O3. Плюс старается уменьшить размер бинарника. А на -fno-inline-functions буду продолжать настаивать. Хорошая опция. По идее, O3 включает обратную ей - это хорошо для скорости, но весьма плохо для объема. Был бы памяти гигабайт - не морочился бы, а так - буду включать.

И -fforce-addr тоже хорошая опция, похожую -fforce-mem включают в себя O2 и выше, но эта тоже хорошая. Хачу. Я еще хотел SSA опции попробовать, но это чуть позже.

Шрифт - "Cyr_a8x16".

Dron |24.03.2005 18:28
Комментарии: 558


У меня стоит терминус (emerge terminus-font).. они чисто юникодовые шрифты... никакой трансляции не надо. ter-k16b...

Я честно говоря не заметил большой разницы от -fforce-addr... хотя может плохо смотрел? а -fomit-frame-pointer должен работать на любом O... в инфе как-то хитро написано...

есть еще такая штука, acovea... но она тоже весьма субъективная...

Только вот мне большие строки оптимизации ине нравятся... мне не нравится когда каждая строка сборки занимает целый экран... (x11-xorg)... мне нравится как в ядре 2.6. Ж)

fedukoff |24.03.2005 21:10
Комментарии: 178

Зарегистрирован: 24.03.2005 17:32

Молодец!
Только про генкернел ты зря! Правда я тож его недолюбливал до тех пор пока не попробовал. genkernel --menuconfig all и все конфигури как хочешь.
Спросишь "Зачем нужен генкернел, если все равно вручную?". Не знаю. Но чисто субъективно показалось, что система быстрее грузиться стала. Да и стабильнее както. И проще - не надо вспоминать о монтировании /boot, копировании туда ядра...

Dron |25.03.2005 11:14
Комментарии: 558


Ну они вероятно автоматизировали заливку ядра на boot. хотя сам не пользовался...
сколько лет сижу на линуксе... всегда собирался руками. привычка. вот помню 1.0.24 ядро работало далеко не всегда.... Какую нибудь опцию не ту ткнешь - виснет щас просто халява!

fedukoff |27.03.2005 11:05
Комментарии: 178

Зарегистрирован: 24.03.2005 17:32

Ну то что они автоматизировали заливку ядра на бут это даже не вопрос. До кучи делается initrd за счет чего собсно и повышается скорость загрузки, ИМХО...

Dron |28.03.2005 10:28
Комментарии: 558


Честно признаться - никогда не юзал инитрд... я вообще рамдиски не долюбливаю...

fedukoff |01.04.2005 15:29
Комментарии: 178

Зарегистрирован: 24.03.2005 17:32

Ну это совсем не значит, что они плохие...



Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.