Pull to refresh

Comments 13

"сутки машинного времени (пока будет полностью пересобираться система)."
- сильно. чего ради собирать сутками систему?
Gentoo - это source based дистрибутив, что означает что все программы компилируются на вашей машине (хотя если у вас много одинаковых машин, то можно скомпилировать все пакеты на одной, а на остальные из поставить так же, как ставятся rpm-ки). Это имеет свои плюсы и минусы.

Плюсы, помимо возможностей по оптимизации, контроля за тем, что и как компилировать, etc., в том, что полностью уходит проблема "rpm hell": никакой больше несовместимости между устанавливаемым приложением и имеющимися библиотеками.

Минусы - переодически нужно тратить машинное время на компиляцию. Если у вас сервер загружен на 80-100%, то регулярные компиляции отрицательно скажутся на его производительности. Но такие сервера - редкость. Обычно то, что сервер иногда что-то компилирует, абсолютно не заметно.

Что касается необходимости пересбора всей системы. Патчи на gcc (SSP и PIE) на конкретное приложение повлияют только тогда, когда этим, пропатченным gcc это приложение будет перекомпилировано. Поэтому и нужно пересобирать всю систему. Кроме того, возможность пересборки всей системы очень полезна при обновлении toolchain - ключевых пакетов типа linux-headers, glibc, gcc, binutils. Если вы хоть раз обновляли glibc на rpm-based дистрибутиве, то должны знать, чем это обычно заканчивается для системы... а в Gentoo это абсолютно обычная, рядовая и безопасная операция, только очень желательно не полениться и пересобрать систему. В конце концов - оно же само всё делает, мне педали крутить не нужно...

Вообще, сборка из исходников, это единственный идеологически корректный способ установки приложений в *NIX. Установка бинарных пакетов типа rpm либо накладывает кучу ограничений, либо (со временем) приводит к куче проблем.
мне с последним абзацем трудно согласится. Никаких особых явных ограничений (а особенно кучи их) в установке rpm я не наблюдаю на моих ~80 RHEL серверов, да и кучи проблем, за последние 6 лет использование пакетных дистрибутивов для сурового продакшин, как-то тоже не детектирую. Что касается "rpm hell" то решать эту проблему пересбором всех зависимых пакетов это конечно несколько экстремальный способ. Однако, автоматическое решение зависимостей, наряду с сосуществованием нескольких версий rpm, уже давно придумано и используется.
Я с rpm последний раз сталкивался во времена RedHat 7.0. Если с тех пор что-то кардинально изменилось, то было бы любопытно об этом узнать/где-нить почитать. А в те времена ситуация была такая, как я описал.
да-да. именно намучившись в свое время с rpm-пакетами в RH7, перешел на gentoo.

спасибо за серию статей, занимательно.
в 2007 брать за отрицательный (базовый) пример систему года 99 (или 2000) мне кажется несколько некорректно. Примерно так же прозвучало бы, если сказать "на пакетных дистрибутивах приходитсся жить под ядром 2.2 с мучениями, а вот на генту свежое 2.6". Это я к тому клоню, что не только ядро с 99 года развивалось ;)
Ох... неужели уже столько лет прошло...

А можно немного конкретнее? Что именно такого критичного изменилось в rpm за эти годы?

Если в него добавляют ещё больше метаинформации по зависимостям и он делает ещё больше проверок при установке пакета, то это тупиковый подход. Установка бинарных пакетов будет стабильно работать только при условии, что при сборке этого пакета была известна полная информация о системе, куда его будут ставить. А это возможно только в том случае, если все системы полностью идентичны: ставится некоторая базовая система "от производителя", после чего на неё устанавливаются ВСЕ обновлнения "от производителя", исключительно в том порядке, в котором они выпускаются, и не устанавливаются никакие другие приложения. А так в реальной жизни - не бывает. Возможно, сейчас эти проблемы возникают значительно реже... но достигается это наверняка за счёт дополнительного усложнения, подпорок и workaround-ов. Эти проблемы есть везде, где устанавливаются бинарные пакеты, в т.ч. и под виндой.
по поводу что изменилось, могу невежливо послать в гугл, он рулит :) По поводу теоретического обоснования, мне опять трудно спорить, т.к. мы похоже расходимся по базовым принципам и видимо по опыту практическому. Так например, для меня совершенно не очевидно (я даже считаю это неверным) утверждения про "стабильную работу" и мне совершенно не кажется верным тезис о необходимости установки обновлений в "правильном порядке" (видимо по мнению автора так решают зависимости в rpm-based дистрибутивах), но я не спорить пришел сюда в комментарии. Согласитесь мне, мало знакомому с современнным состоянием генту, спорить с автором, мало знакомым с rpm 21го века, как-то даже странно. Я пришел заронить зерно сомнения на почву, так сильно политую (заметьте не удобренную ;) вашими очень уверенными ответами и намекнуть неискушенному читателю, что не все так очевидно.
Соглашусь с посмотреть профиль powerman относительно идеологической правильности сборки из исходников.
Дело в том, что кроме оптимизации под целевую систему (этот аргумент используют очень часто, когда говорят о source-based дистрибутивах), сборка из исходников позволяет осуществить очень тонкие настройки приложения. Примером тому может служить jabberd, при компиляции которого можно указать СУБД, с которыми он сможет работать. Binary-based дистрибутивы очень часто за пользователя определяют настройки сборки, тогда как source-based - позволяют полностью раскрыть этот потенциал и обеспечить максимальную гибкость системы.
намучавшись с тормозными пакетами rpm и длительной сборкой всего из исходников - перешёл на deb
UFO just landed and posted this here
У меня дома вся система (workstation, т.е. значительно больше софта, чем на сервере) пересобирается за 7 часов (причём я в процессе на ней работаю и этого не чувствую - компиляция запускается под nice). Так что рекомендую: Core2Duo 6600, и из исходников всё будет собираться быстрее, чем можно себе представить. :)

А если серьёзно, то когда у меня был Athlon XP 1800, я просто оставлял машину компилировать на ночь, и "длительной сборки всего из исходников" просто не замечал. Да и вообще, не так уж часто в Gentoo приходится много компилировать, разговоров об этом значительно больше, чем дела.
Sign up to leave a comment.

Articles