Что хорошего в BSD?

35

Я использую Ubuntu и выключаю его с Warty Warthog. Я думал об установке Jaunty в ближайшее время; но я заметил, что за выходные NetBSD 5.0 , Dragonfly BSD 2.2.1 , OpenBSD 4.5 и FreeBSD 7.2 все были выпущены, поэтому мне стало любопытно:

Что хорошего в BSD? Почему я должен или не должен установить один из них вместо Ubuntu? Каковы их основные пункты продажи? Спектакль? Стабильность? Аппаратная совместимость? Простота в использовании? Безопасность? Они хорошо работают на старом оборудовании? Что это такое?

Изменить: Это с точки зрения (в основном Java) разработчика настольных систем, но мне было бы интересно узнать, каковы плюсы и минусы для других. Они больше ориентированы на серверы? Для корпоративных пользователей? Или что?

mmyers
источник
1
Субъективны ли хорошие стороны BSD? Если так, то это объясняет, почему я лично не знаю никого, кто его пробовал. : D
mmyers
17
Что хорошего в BSD? Чтобы сокрушить своих врагов, увидеть, как их гонят перед тобой, и услышать плач их женщин.
хаос
1
@mmyers - кто-нибудь из твоих друзей когда-либо пользовался Hotmail или Yahoo?
ConcernedOfTunbridgeWells
Немного. Зачем?
mmyers
1
@mmeyers - потому что и Hotmail, и Yahoo используют FreeBSD в качестве основного сервера для своих веб-приложений. (Или, по крайней мере, Hotmail использовал его, и они годами не могли перенести его с FreeBSD на Windows - я не уверен, что они все еще это делают).
ConcernedOfTunbridgeWells

Ответы:

65

Преимущества BSD

Семейство систем * BSD имеет (IMHO) несколько ключевых преимуществ перед Linux, особенно для серверных операционных систем.

  • Простота и управление: ни в одном из дистрибутивов * BSD нет необходимости добавлять функции, которые демонстрируют дистрибьюторы Linux. Таким образом, установка по умолчанию большинства производных от BSD систем относительно проста.

  • Стабильность. Частично BSD являются одними из самых стабильных платформ O / S. FreeBSD (которая является одной из самых старых «современных» BSD) поддерживает многие известные .com, такие как Yahoo и (в какой-то момент) hotmail. Фактически, в какой-то момент Microsoft сильно пострадала из- за невозможности перенести Hotmail с FreeBSD на Windows.

  • Безопасность: в частности, OpenBSD имеет очень хорошую репутацию в области безопасности, и большая часть их работы в целом распространяется на сообщество * BSD.

  • Переносимость: в частности, NetBSD имеет порты для десятков платформ и отличается простотой портирования.

Некоторые недостатки

  • Меньшая поддержка больших конфигураций SMP, чем в Linux. Это станет более серьезной проблемой, поскольку коробки с большим количеством ядер стали широко распространенными. Тем не менее, большинство приложений сетевых служб, которые на самом деле являются домашним ядром BSD, не так уж сильно загружены процессором (1).

    Производительность SMP на ядрах BSD значительно улучшилась за последнее десятилетие. Повышение производительности SMP было одной из основных целей Dragonfly BSD, а проект FreeBSD SMPNg значительно улучшил производительность SMP на этой платформе, опередив Linux на 8-ядерных платформах. Это означает, что можно ожидать хорошей производительности на основных серверах с 2 и 4 сокетами.

    Некоторые дебатыи ранняя работа по обеспечению поддержки NUMA во FreeBSD существует, поскольку в настоящее время система не поддерживает API для выделения памяти, управления сродством или других средств для явной поддержки NUMA. Хороший учебник по поддержке NUMA можно найти здесь .

  • Меньший диапазон поддержки оборудования, чем в Linux: На практике это означает, что вам нужно только проверить компоненты в списке совместимости оборудования. Для сервера это не проблема в большинстве случаев, но установка на случайный настольный ПК - это немного сложнее. Вам все еще нужно выполнить компонент за компонентом, если вы хотите, чтобы на компьютере была установлена ​​BSD, что менее вероятно в случае с Linux.

  • Меньше внимания к рабочему столу: дистрибутивы Linux для настольных компьютеров (такие как Ubuntu), как правило, имеют более широкую поддержку настольных компьютеров для мультимедиа, эмуляции и связанных приложений. Хотя многие такие приложения имеют порты для различных платформ BSD, стандартная поддержка настольного дистрибутива Linux, как правило, будет гораздо лучше.

  • Некоторые пробелы в программном обеспечении: довольно много коммерческого программного обеспечения для Linux не имеет порта BSD. Например, ни один из основных поставщиков JVM не поддерживает собственный порт времени выполнения Java для какой-либо из платформ BSD. В некоторых случаях третьи стороны поддерживают порты, но нет официальной поддержки (например) Oracle на любом из BSD. Этот тип разрыва появляется в некоторых местах на BSD; BSD может не быть платформой для вас, если вы работаете в пространстве, где существует этот тип пробела.

Некоторые существенные моменты

  • Одной из великих религиозных войн 90-х годов была GPL против BSD. BSDs лицензируются по лицензии BSD, которая поставляется с другим набором прав, чем GPL. По сути, лицензия BSD не требует, чтобы вы распространяли исходный код модифицированных версий лицензионного программного обеспечения BSD.

  • Коммерческие поставщики, такие как Oracle, не поддерживают BSD в той степени, в какой они поддерживают Linux. Поэтому, если вы хотите работать с таким продуктом, вам, вероятно, лучше с Linux. Однако большинство из них предлагает двоичную совместимость в Linux, System V, Solaris и т. Д., Поэтому вы часто можете запускать двоичные файлы для другой операционной системы.

  • Сообщества BSD, как правило, работают по-другому, чем Linux, и зачастую они меньше (хотя во многих случаях их больше нет, у Тео Де Раадта что-то вроде репутации ).

  • Некоторые из вариантов BSD представляют собой нишевые рыночные позиции, оптимизированные для конкретных целей. Например, OpenBSD специально оптимизирован для обеспечения защищенной сетевой инфраструктуры на компьютерах, подключенных к Интернету, и очень много усилий уделяется проверке дыр в безопасности, таких как уязвимости переполнения буфера. Многие организации, занимающиеся вопросами безопасности, используют его именно по этой причине. NetBSD разработан для переносимости с портов на десятки платформ и довольно широко используется во встроенных системах. Для приложений, которые лучше всего подходят для одной из этих систем, это может быть лучшим выбором платформы.

Главная задача * BSD - сетевые сервисы - электронная почта и веб-серверы, инфраструктура и тому подобное. Вы можете установить совершенно хороший рабочий стол с любым из BSD, и теоретически можете создать что-то такое же теплое и пушистое, как Ubuntu. Однако это не является основным направлением большинства продуктов BSD, хотя некоторые, такие как PC-BSD, действительно стремятся предоставить настольные системы.

Если вы хотите сделать trad unix geek для настольных ПК, BSD сделает это так же, как любая другая система unix-oid.

  1. Например, еще в эпоху VAX / 4.2BSD 1980-х годов такая машина, как VAX-11/750, могла обеспечивать обслуживание электронной почты для всего факультета или университетского городка и, вероятно, выполняла бы и другую работу (хотя следует отметить, что большинство электронных писем были только текстовыми, а вложения были не так распространены, как сегодня - дисководы, используемые на этом компьютере, обычно имели емкость 120–450 МБ). Современный сервер имеет на 3-4 порядка больше процессорной мощности и памяти, а дисковая подсистема - на 2 порядка больше пропускной способности и на 3-4 порядка больше места.
ConcernedOfTunbridgeWells
источник
9
Особенно хорошее сопряжение: OpenBSD и BIND. Если бы я работал на общедоступном DNS-сервере, это было бы BIND на OpenBSD. DNS-серверы часто подвергаются атакам, и OpenBSD, вероятно, является наиболее безопасным универсальным Unix-сервером.
Ричард Гадсден
2
Фантастический ответ. Я хотел бы добавить два аспекта: BSD меньше Linux (поэтому может работать в небольших средах) и лучше документирован (у каждой команды во FreeBSD есть страница руководства - каждая !)
Mei
3
Я слышал, что BSD - это то, что вы получите, если попросите программиста Unix написать ОС для ПК, тогда как Linux - то, что вы получите, если попросите программиста Windows написать ОС Unix.
gbjbaanb
1
Отличный ответ! Когда я пробовал разные ОС, это был linux, такой как мангровое болото (устаревшая неполная документация, множество различных противоречивых философий), и когда я пробовал FreeBSD, это было похоже на вход в библиотеку - упорядоченную единую последовательную философию, все документировано ( до настоящего времени!). Может быть, менее захватывающим, но, конечно, легко войти.
Слов
3
Я не думаю, что было бы правильно ссылаться на Тео, как на прикуривателя. У него действительно сильные мнения, и он не относится к ним дипломатично, но он не ругается. Самая досадная вещь в Тео Де Раадте заключается в том, что у него либо есть хорошая точка зрения, либо он прав :-P
DutchUncle
15

Я не считаю, что BSD настолько же зрелый, как Linux на настольных ПК, но для серверов это просто.

Хотите ли вы установить BSD или нет, полностью зависит от того, для чего вы используете свою машину. В то время как многие вещи похожи на Linux, они тоже разные.

Однако здесь приведен список различных BSD.

  • OpenBSD: Во-первых, если цель почты - быть самой защищенной ОС (и это, вероятно, так и есть)

  • NetBSD: его девиз: «Конечно, будет работать NetBSD». Это должна быть одна из самых портативных операционных систем. Многие люди запускают его и на рабочих столах.

  • FreeBSD: Очень популярен для серверов, хотя, опять же, многие люди запускают его и на рабочем столе Наверное, самый популярный из всех BSD

  • DragonFly BSD: относительно новичок (2003), это был форк FreeBSD 4.8. Я сам этим не пользовался, но, видимо, стабильно.

Натан
источник
5
BSD являются одними из наиболее зрелых архитектур - части базы кода 4.xBSD старше, чем многие постеры Serverfault. Вы можете легко сделать традиционный рабочий стол Unix Geek на базе BSD. Однако большинство из них не пытаются создавать потребительские или бизнес-десктопы так, как это делает Canonical с Ubuntu. Бла-бла, молодые болотники ...; -}
ConcernedOfTunbridgeWells
11

В мире Linux дистрибутивам обычно не хватает этого ... связного чувства. Они часто строятся децентрализованно, что ведет к этому.

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

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

Я являюсь пользователем Linux уже 13 лет, и, хотя я все еще считаю его жизнеспособной платформой, я перенес все свои производственные и личные серверы на BSD по причинам, указанным выше.

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

Михаил Горсух
источник
1
На самом деле, если вам нужна новейшая поддержка настольных систем, лучше всего использовать BSD или Linux в VirtualBox для Windows ;-)
vartec,
@OP, это самая веская причина для перехода с [linux distro] на * bsd
theman_on_osx
1
Или перейдите к дистрибутиву типа «один на вершине», как Slackware;)
voyager
9

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

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

Адам Гиббинс
источник
8

* BSD - это полноценная ОС , то есть ядро ​​и пользовательская среда разрабатываются из одного и того же дерева исходных текстов, тогда как дистрибутивы Linux объединяются из разных источников. Вот почему системы BSD выглядят гораздо более сплоченными и прочными. Также лучше задокументировано.

Анте Готовина
источник
8

Всего несколько вопросов:

Pro (бесплатно) BSD:

  • ZFS файловая система / управление томами
  • Dtrace для отслеживания / анализа
  • Отличная и простая в поиске документация (Руководство FreeBSD, FAQ по OpenBSD, справочные страницы действительно хороши и действительно содержат полезные примеры)
  • Чистый и надежный процесс обновления ОС
  • Отделение основной ОС от другого программного обеспечения («Коллекция портов»)
  • Лицензия BSD (нет лицензирования крестоносцев здесь)
  • Отличный брандмауэр / фильтр пакетов: PF (Linux iptables заставляет мою голову взорваться)

Contra BSD:

  • Продукты виртуализации (хоста VM) не поддерживаются (VMware, KVM, Xen, VirtualBox)
Paidhi
источник
3
Обновление о виртуализации. Похоже, что FreeBSD решила использовать VirtualBox. Это сейчас в дереве портов. Более подробная информация здесь: miwi.bsdcrew.de/2009/06/virtualbox-is-now-available-in-ports wiki.freebsd.org/VirtualBox virtualbox.de/wiki/FreeBSD%20build%20instructions
Paidhi
8

Мне очень нравится /usr/ports. Это не значит, что мне это не очень нравится apt-get, но мне приятно знать, что ваши установки строятся на вашей конкретной машине и для нее, с любыми оптимизациями, которые вы захотите добавить в значения по умолчанию для make-файлов.

Насколько ощутимой пользой этого является суеверие, я не провел исследования, чтобы выяснить это, но мне это нравится. :)

хаос
источник
1
Так что это похоже на Gentoo? Похоже, через некоторое время это может стать утомительным (это одна из причин, по которой я никогда не пробовал Gentoo).
mmyers
6
«Portage» Gentoo происходит из BSD, как и другие вещи. Однако большинство BSD также имеют бинарные пакеты, доступные дополнительно. OpenBSD, например, имеет как порты, так и пакеты. На самом деле, они на самом деле одно и то же.
DWC
7

Как Java-разработчик, большая проблема заключается в том, что для BSD нет основной JVM. До того, как все уволят меня из существования, я имею в виду, что в настоящий момент не поставляется JDK от Sun или каких-либо других крупных поставщиков (IBM, BEA / Oracle), поэтому вы всегда будете играть вторую скрипку для пользователей Linux и Windows.

Дейв Чейни
источник
Это полезно знать. Кто-нибудь портирует OpenJDK или что-то?
mmyers
Да, проверьте openjdk.java.net/projects/bsd-port . Однако этот порт не реализован и вряд ли будет коммерчески поддерживаться. Работая в компании по разработке программного обеспечения на основе Java, мы поддерживаем JVM Sun, а Bea и JRocket неохотно. Мы никак не могли бы расширить ресурсы поддержки, чтобы помочь кому-то, кто хотел запустить наше программное обеспечение на IceTea, Blackdown, GCJ и т. Д.
Дейв Чейни,
Да, я понимаю, что вы имеете в виду. (Кстати, вы оставили «нет» в своем первом предложении. :)
mmyers
Только что увидел этот пост "Прогресс порта OpenJDK BSD": robilad.livejournal.com/49303.html .
mmyers
5

Лицензирование

Основное различие между BSD и Linux заключается в лицензировании.

Вы можете взять базу кода BSD, внести в нее все необходимые изменения и распространить полученный бинарный файл, продать его и т. Д., Не открывая внесенные вами изменения исходного кода.

Это очень привлекательно для компаний, таких как Apple, где юридические обязательства перед их акционерами могут требовать от них сохранения в безопасности собственной интеллектуальной собственности. Например, Apple основывает часть своего ядра на FreeBSD.

У Tivo не было бы (незначительных) проблем с лицензированием, которые она перенесла много лет назад, если бы они работали на базе BSD, а не Linux.

Некоторые практические отличия

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

-Адам

Адам Дэвис
источник
1
+1. Истина бенчмаркинга в том, что bsds не так хороши, и у них все еще нет многих функций ядра, которые уже есть у linux и solaris. Лицензия bsd - лучшая (или худшая) часть о bsd.
Тим Мэтьюз
Приятно то, что в тестах есть из чего выбирать. Для задач по работе в сети / фильтрации я использовал BSD с лучшими результатами, чем Linux - для численного моделирования я использовал Linux или Solaris с пакетом компиляторов Sun Studio ... все дело в том, чтобы выяснить, что лучше инструмент для работы.
Билл Б
4
Было бы неплохо увидеть некоторые доказательства этого утверждения: «Истина в том, что bsds не так хороши, как исполнители ...»
Джош Брауэр
1

Безопасность, охрана и еще раз охрана.

Казимирас Алиулис
источник
1

Помимо всего, что уже упоминалось, я хотел бы добавить, что документация очень хорошая. Человек (1) страницы отлично!

PFO
источник
0

BSD (Berkeley Software Distribution) известен своей стабильностью: FreeBSD,
безопасностью: OpenBSD
и поддержкой множества платформ: NetBSD

Али Мезгани
источник