Linux or freebsd server at

FreeBSD: гораздо лучше GNU/Linux

Сравню FreeBSD с GNU/Linux системами. Всё это исключительно субъективное мнение! Многое это просто мой опыт. Почти 100% всего времени я провожу за компьютером и исключительно Unix системами, примерно поровну с FreeBSD и GNU/Linux, вот уже 20+ лет.

Большая часть достоинств FreeBSD также относится и к другим популярным свободным BSD системам: NetBSD, OpenBSD, DragonflyBSD. Что-то в этих системах будет получше, многое появилось впервые не в FreeBSD, но перекочевало в неё. FreeBSD многое наследует от NetBSD (различные драйвера и подсистемы), от OpenBSD (сетевые технологии), DragonflyBSD (лучшая масштабируемость на многопроцессорных платформах), от Solaris (DTrace, идея Jail-ов, ZFS), сочетая самое лучшее ото всех.

Если коротко, то FreeBSD это высокое качество, надёжность, удобство и простота работы. GNU/Linux это зоопарк, помойка малосвязанного кода, мало чего доделываемое до конца, отсутствие документации, хаос, базар.

Главные отличия

FreeBSD GNU/Linux
BSD это целостные законченные ОС, разрабатывающиеся как единое целое. Если решают добавить поддержку алгоритма сжатия Zstandard, то это появляется не только в компрессорах, но и в syslog-ротации и других местах. Если есть команды выдачи какой-либо статистики, то все они используют библиотеку типа libxo, унифицируя различные варианты вывода. Все команды создаются под одну гребёнку. GNU это просто набор ПО, объединённый названием, copyright holder-ами, советами по созданию документации и конфигурированию сборки. Linux это один из вариантов ядра, наравне с Hurd или FreeBSD. Существуют сотни (тысячи?) дистрибутивов объединяющих всё это вместе, с совершенно разными и отличающимися требованиями, пакетными менеджерами, подходами, проверкой качества и тому прочим. Есть дистрибутивы и почти не использующие GNU ПО. Есть дистрибутивы не использующие Linux.

Какой-либо унификации документации, конфигурации, вывода информации в софте толком нет. Всюду и везде будет явно и отчётливо видно, что вот эта небольшая программа/утилита написана одним человеком, а вот эта другим. Всюду и везде разные подходы ко всему: один считает так, другой считает так.

В основном забота о приведении всего к какому-то одному единому виду лежит на плечах distribution maintainer-ов, которым приходится править софт, возможно что-то дописывать за автором, ведь не всегда автор согласен на любого рода изменения. От maintainer-ов зависит удобство работы и качество (аккуратно разложенная документация, учёт демонов в системах ротации логов, системе логирования, периодичных заданий, и т.д.) предоставляемого ПО.

На практике, если сейчас взять одни из последних дистрибутивов Ubuntu, то вы не факт что сможете поставить его не на первый жёсткий диск, не факт что загрузчик GRUB сможет установится, не факт что вы сможете настроить IPv6, не факт что после первого же обновления пакетов системы во время установки у вас всё загрузится. Недавно я столкнулся с невозможностью штатно настроить MTU на сетевом интерфейсе в Ubuntu (серьёзно!?). Всё это я прошёл на практике и подобные банальные действия регулярно ломаются и не работают.

Framework для конфигурирования сети штатный один: настройки в rc файле, банально вызывающие ifconfig команды.

В FreeBSD есть три firewall-а: ipf, ipfw, pf — каждый со своими за/против, но каждый из них является полноценным законченным firewall-ом. ipfw это IPv4, IPv6, TCP/UDP/SCTP, ICMP*, Ethernet, traffic shaper/scheduler, NAT, NAT64, NPTv6, IPsec, stateless/stateful firewall в одном флаконе.

Думаете что раз команда ip призвана всё заменить, то она справилась со своей задачей? STP для bridge вы всё равно не настроите на данный момент без brctl, который из коробки может и не стоять. Вместо десятка утилит с совершенно отличающимся синтаксисом, теперь мы имеем на одну утилиту больше, не отменяющую надобность в остальных. В FreeBSD всё описанное выше делается ровно одним ifconfig.

Framework-ов для конфигурирования сети масса: shell-based системы как в Debian, NetworkManager, systemd средства. У всех у них есть какие-нибудь да ограничения на возможные конфигурации.

Думаете можно обойтись одним только iptables, пришедшим на смену ipchains? Для Ethernet пакетов надо использовать ebtables, для IPv6 ip6tables, для ARP arptables. И при этом, как мне кажется, ни один здоровый человек не сможет сказать что синтаксис правил для iptables удобен — он выполняет задачу, но все будут писать собственные скрипты/обёртки с отличным синтаксисом для удобного конфигурирования типа ufw.

Используется ли это всё до сих пор? Безусловно. Однако это считается deprecated и должно замениться nftables. Однако и он объявлен уже deprecated и bpfilter его может заменить. Однако на практике многие популярные дистрибутивы используют firewalld.

Кроме sysctl имеется /sys, а также ещё и дубляж аналогичных ручек управления через специфичные команды.

Постоянная технологическая отсталость GNU/Linux

ext4 появился лет на 10 позже UFS2 и только с ним в Linux появилась штатная система в которой хотя бы динамически происходит inode allocation. Однако, в ext4 при этом может утекать место занимаемое под директории и его невозможно вернуть назад без пересоздания ФС. Опыт компании ivi.ru говорит что на очень нагруженной (постоянно создание, удаление, тасование файлов) ext4 через месяцы работы становится неработоспособной и нужно пересоздавать ФС с нуля.

Также ext4 имеет смехотворный максимальный размер файла в 16 TiB для 4K блоков.

Про ReiserFS ничего не могу сказать, так как я её даже не успел попробовать, Райзер уже сел.

sndio используемый в OpenBSD умеет resampling, микширование от разных приложений, причём микшируя по устройствам (одна колонка для одного приложения, другая для другого), запись программами того, что играют другие, независимое управление громкостью, поддержка MIDI (с кучей фич), near real-time маленькие задержки.

Я молчу о том, что преобладающая часть популярных дистрибутивов начала активно использовать systemd и один только факт того, что *BSD его не используют уже является killer-feature. Но если взять systemd-free дистрибутив, то тогда нормально. При этом в FreeBSD, среди NetBSD и OpenBSD, самая продвинутая система загрузки, поддерживающая зависимости между службами, легко конфигурируемая простым текстовым файлом, написанная на небольшом количестве pure shell.

Неужели у GNU/Linux нет достоинств? С ходу я могу сказать, что некоторый важный GNU софт работает значительно быстрее BSD вариантов: sed и grep я ставлю GNU-шные. Это, зачастую, ценой усложнения кода и всяких трюков, но нельзя совершенно отбрасывать со счетов производительность. Чем, кстати, OpenBSD не может похвалиться — она плохо масштабируется на несколько процессоров.

Источник

что выбрать для простого сервера: ubuntu 16, freebsd или arch?

настраиваю сервер, для себя, и кое-что для коллективной работы: gitlab, redmine, email сервер (только для меня) и т.п..

*не углубляясь в подробности*, есть ли смысл поменять ubuntu 16 на freebsd? или даже на arch? Arch’ем я сам пользуюсь давно уже на десктопе, он мне нравится.

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

Debian 8. Arch на сервере — моветон.

Rolling Release на сервер — плохая идея (я про arch).

Дуалбут арча с генту — рекомендовано ведущими ЛОРовскими аналитиками.

арч отпдает. тогда в 2ух словах, почему не freebsd?

Из этого списка FreeBSD естественно.

Ставь Arch. Последние 12 месяцев активно перевожу свой зоопарк серверов на Arch.

По сравнению debian и ubuntu, где systemd только на половину и приложения пахнут тухлятиной, а для свежих нужно подключать левые репы. В Arche нет врожденных проблем и связанных с этим костылей.

Есть только одна особенность. Нельзя держать прод.сервер на Arch в единственно экземпляре. Обновления нужно проводить вначале на дублере, а уже после на прод.сервере.

FreeBSD. Если не хочешь, чтобы с обновлениями что-нибудь отваливалось. И читай /usr/ports/UPDATING.

Ужос какой. То есть один сервер для работы, а второй для обкатки апдейтов? Ну уж нет, лучше дебиан с левыми репами.

Источник

Чем FreeBSD отличается от Linux

Прежде чем разобраться, в чём основные отличия FreeBSD от Linux, давайте рассмотрим, что из себя представляют эти операционные системы и как они между собой связаны. Несмотря на то, что Linux — известная многим операционная система, мы вкратце расскажем об ней.

Что такое Linux

Linux — это семейство Unix-подобных операционных систем на базе единого ядра, которое включает некоторый набор утилит и программ проекта GNU . Linux-ядро было разработано в начале 90-х годов, но уже через 10 лет созданные на его основе системы стали базовыми при работе с серверами, суперкомпьютерами и встраиваемыми системами. И это первый аргумент в пользу Linux в споре о том, что лучше выбрать — FreeBSD или Linux для сервера.

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

Самые распространенные дистрибутивы Линукс:

  • Ubuntu — наиболее популярная ОС этого подсемейства,
  • Debian — один из первых дистрибутивов, разработанных на базе Линукса,
  • CentOS — стабильная версия ОС, которая идеально подходит для сервера.

Также существуют такие Linux-подобные системы, как Fedora, RHEL, Gentoo, Mint и другие. Каждый из этих дистрибутивов разрабатывался под конкретные цели и задачи.

=740x422

FreeBSD — что это такое

FreeBSD — это свободно распространяемая операционная система, которая принадлежит к семейству Unix. BSD расшифровывается как Berkeley Software Distribution — система распространения программного обеспечения. Она была создана в 90-е годы для обмена данными между высшими учебными заведениями Беркли. Позже разработчики открыли код для всех желающих.

На основе BSD были разработаны различные ОС. Так сформировалось отдельное подсемейство, к которому относятся следующие дистрибутивы BSD:

  • NetBSD — одна из самых первых версий, которая нередко применяется для построения сложных архитектур. Также она прекрасно подходит для встраиваемых систем;
  • FreeBSD — ОС, которая ориентирована на простые в управлении, но требующие высокой производительности проекты;
  • DragonFlyBSD — версия, которая гарантирует максимально высокий уровень производительности. Идеально подходит для регулярной обработки данных (в частности, для многопроцессорной обработки);
  • OpenBSD — операционная система, которая гарантирует высокий уровень безопасности — подходит для государственных учреждений и банков.

FreeBSD и Linux: сравнение

Обе операционные системы имеют общие корни, а также схожую концепцию распространения. Однако они имеют и принципиальные отличия. Кто победит в споре FreeBSD vs Linux — решать только вам. Чтобы было проще определиться, рассмотрим конкретные сходства и различия этих двух ОС.

  • Обе ОС относятся к семейству Unix-подобных операционных систем, а значит используют схожие паттерны. Например, они аналогичным образом выстраивают иерархию файловой системы и передают команды через командный интерпретатор (shell).
  • Имеют открытый исходный код и разработаны на некоммерческой основе — то есть пользователи кода могут изменять его под свои цели.
  • Дистрибутивы Linux используют лицензию GNU GPL, или «copyleft» («авторское лево»). Она позволяет использовать оригинальный код для создания новых продуктов, не запрашивая разрешения владельца исходных текстов, но сохраняя условия его распространения. FreeBSD использует BSD-лицензию, которая содержит больше свободы — не предполагает обязательного сохранения всех условий распространения. Это стоит учитывать при разработке проприетарного ПО.
  • Каждая из ОС BSD не только работает на отдельном ядре, но и имеет собственные базовые компоненты. Для каждого отдельного дистрибутива они могут быть сформированы из отдельных источников. Linux же является ядром сама по себе.

Итак, из статьи вы узнали, каковы основные отличия BSD и Linux систем. Надеемся, наш обзор помог определиться, что лучше подойдёт для вашего проекта.

Источник

Читайте также:  Building packages in linux
Оцените статью
Adblock
detector