FreeBSD vs Linux, разбор полетов

топ 100 блогов slonik_v_domene20.07.2011

FreeBSD - хорошая система

Предваряя флейм и крики про "BSD RIP" и "пора закопать", я, со всей ответственностью заявляю: ядро, базовая система и стартовые скрипты у FreeBSD написаны отлично и никаких претензий к ним нет. Ну, разве что SMF из SunOS перетащить или его клон написать было бы неплохо. Но и без этого вполне можно жить. Еще раз: FreeBSD - отличная система. Тем не менее, у нее есть серьезные проблемы, и о них речь пойдет ниже.

О производительности операционных систем

Тесты показывают, что существенной разницы в производительности Linux vs FreeBSD нет. На объемах десятков серверов разница в 5-7 процентов не дает выигрыша: для 10 серверов выигрыш составит 0, для 20 серверов - 1, для 100 - всего 7 серверов. Это не те цифры, из-за которых имеет смсл менять операционную систему. Возможно, у коллег из Яндекса с их десятками тысяч машин ситуация иная, но у нас это именно так.
Кстати, отмечу, что такая же картина и с Линуксами. Собственно, все заявки про крутизну супертюнинга собранных на коленке пакетов против пакетов из стандартной поставки - не более чем красноглазый бред. Если вам не хватает даже 15% производительности на сервере с учетом дневных пиков и спадов посещаемости, у меня для вас очень, очень плохие новости. Причем, новости эти вовсе не из области администрирования.

О небольших инсталляциях

Я совершенно уверен в том, что небольшие инсталляции, уровня 1 - 10 серверов, вполне могут работать на FreeBSD. Проблем с ручным администрированием такого парка машин практически нет, поэтому все нижеописанное можно смело пропустить и продолжить пользоваться FreeBSD дальше.

О портах и пакетах

Идея портов, точнее - системы каталогов, откуда можно собрать двоичный пакет, просто замечательная. К сожалению, на этом все восторги заканчиваются. Далее начинаются проблемы.

Проблемы с пакетами:
1. нет деления на пакет и пакет-devel. Для тех, кто не в курсе, в -devel обычно сгружается все то, что требуется для разработки: файлы заголовков, статические библиотеки, примеры для программистов, тесты и т.п. В продакшене все это НЕ НУЖНО. Не потому, что места жалко, а потому, что все это лишнее. Это вдвойне лишнее там, где могут присутствовать посторонние люди.

2. Зависимость имени пакета от подключенных фичей. Такой подход приводит к тому, что пакеты, установленные с другими опциями, глючат при пересборке зависящих от них пакетов.

3. идиотские конфликты с предыдущими версиями. Нельзя одновременно штатно поставить, например, Apache13 и Apache22.

4. отсутствие провязки изменений в base system и packages. Это вообще за гранью добра и зла. Можно пересобрать и поставить мир, убив какую-то подсистему, затем раскатать на такой сервер свои пакеты и только потом обнаружить, что ничего не работает.

5. Зависимости. Зависимости кривые. Нельзя указать в зависимости диапазон версий пакета, нельзя сделать ссылку на альтернативный пакет, нельзя указать приоритет поиска пакетов.

6. Проблемы с апдейтом. Тут можно долго расписывать все "прелести", но гораздо проще попробовать самому переставить пакет, который сам зависит от множества пакетов, и от которого также зависит множество других пакетов. Секс будет первоклассный, обещаю.

7. В базовой системе нет средств, позволяющих произвести обновление двоичного пакета. Это - наименьшая проблема, поскольку всегда можно поставить portupgrade. Тем не менее, нельзя не отметить что концепция базовой системы не подразумевает полноценной работы с пакетами.

О базовой системе

Может быть, разработчикам FreeBSD кажется что с монолитной системой все хорошо, но на самом деле это совсем не так.

Base system не удовлетворяет потребностям большинства пользователей. Наивно было бы ожидать иного. И именно поэтому есть система пакетов, позволяющая доустановить то, что требуется. С этим бы не было никаких проблем, будь base system тоже построена на основе пакетов. Но она монолитная, поэтому просто так заменить какую-либо систему альтернативным пакетом не получится. Как не получится выяснить, какие версии программ установлены, какие патчи наложены и наложены ли вообще. Так же, в базовой системе, например, можно обнаружить компилятор, а можно и не обнаружить. В зависимости от того какая часть базовой системы была выбрана при установке может произойти что угодно.

Самый важный момент: базовую систему невозможно проверить на дефектность файлов после пересборки мира. Это - очень серьезная проблема как с точки зрения беопасности, так и с точки зрения поиска проблем.

О деплойменте

Собственно, все пертензии к деплойменту - невозможность в автомате с учетом всех требуемых зависимостей поднять версию системы и/или переустановить те пакеты, которые требуются. Это - прямое следствие использования pkg_*.

О средствах разработки

Сейчас схема такова, что каждому программисту выдается свой jail и root на него, где, с некоторыми ограничениями, он может делать что угодно. К сожалению, пряников сладких всегда не хватает на всех, как пел Окуджава, и джейлы приходится не только останавливать, но и мигрировать с ноды на ноду. С этим беда.

О лицензионной чистоте

Что бы кто ни говорил, но BSD License - преимущество. Вы можете отдать свой код, можете не отдать, вас никто почти ни к чему не принуждает. Но дело в том, что большинство проектов, все же, не завязаны на ядро и важные библиотеки системы. Например, у нас в Рампочте нет и никогда не было своих патчей ядра и базовой системы. Поэтому нас не слишком волнует переход с лицензии BSD на GPL. Все наши продукты, по возможности, останутся под лицензией BSD, а патчи (L)GPL-программ, могущие быть полезными сообществу, вы всегда ему возвращаем.

Выводы

1. Если у вас 1 - 10 серверов, вы не используете Линукс-специфического софта, можете работать с любой нравящейся операционной системой.

2. Если у вас много серверов И они выполняют разные роли И вам требуется регулярно их обновлять, то здесь у FreeBSD есть серьезные проблемы, и лучше поискать что-то иное.

3. Если вы после этого поста продолжаете считать что я ненавижу FreeBSD, вы - тупой осел, идите в жопу.


Постскриптум про коммерческие операционные системы

Менеджер пакетов Solaris ужасен, пользоваться им нельзя. С деплойментом и инструментами разработчика там все еще хуже чем во FreeBSD. Опыт использования Solaris у меня - c версии 7. Там все как было плохо, так плохо и осталось.

Касаемо коммерческих Линуксов и поддержки. По моему глубокому убеждению эта поддержка такому проекту как Рампочта нужна как собаке пятая нога. Практически весь софт, используемый нами, имеет либо наши модификации, либо написан нами.

У того же RedHat поддержка не распространяется на, цитирую: модифицированные пакеты и пакеты полученные не от Red Hat; планирование инфраструктуры; разработку политик безопасности; каналы Extras/Supplementary; компоненты, имеющие статус Technology Preview.

Все, что готов поддерживать Red Hat, это: установка; настройка; использование; диагностика.

Иными словами, платить надо за то, что должен уметь самостоятельно решать любой грамотный системный администратор. Поддержка не сможет решить ни один наш вопрос, касающийся именно нашей системы.

Лично мое мнение: коммерческая поддержка Линукса на таких условиях вообще непонятно кому нужна, и вообще существует в природе скорее для маркетиноговых целей.

Оставить комментарий

Популярные посты:
Архив записей в блогах:
> Да, может пропасть, если навыки экипажа не позволяет заметить машину на большом расстоянии > Да, может пропасть, если навыки экипажа не позволяет > Да, может пропасть Улитки, это были хорошие три года, я вас любил и местами с вами было приятно иметь дело, вот вам пече ...
- если они не откажутся от планов по созданию альтернативной доллару валюты Помимо пошлин, торговля с США для этих стран также будет ограничена, если они продолжат отказываться от доллара в качестве расчетной валюты, отметил он в соцсети Truth Social. ...
Варианты (одни из): ✔ nahk, р.п. naha, ч.п. nahka [нахк, наха, нахка] (эст.), nō’gõ [ноогы] (ливон.), nahka [нахка] (водск., фин., ижор.), nahku [нахку] (карел.), nahk [нахк] (людик., вепс.) - кожа, шкура, кожица, плёнка, шкурка, пушнина, мех; nugis [нугис] (эст.), nois, мн. nokia ...
Японские ученые из компании Токуяма (гусары, молчать!) изобрели какой то сказочный пломбировочный материал. По их заверениям, он способен, как хамелон, принимать цвет пломбируемого зуба. По их рассказам, когда ставится пломба, материал выдавливаемый на зуб, всегда одного цвета. Зато ...
И снова полночь, суббота, полнолуние. Кажется, это становится традицией. Совершенно не планировала рисовать что-либо законченное и уж тем более цветное, но вуа-ля. Самое удивительное, что результат мне даже чем-то нравится. Забыла упомянуть ...