Назад | Перейти на главную страницу

Чем хороши BSD?

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

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

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

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

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

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

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

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

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

Некоторые слабые места

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

    Производительность SMP на ядрах BSD значительно улучшилась за последнее десятилетие. Повышение производительности SMP было одной из основных целей Стрекоза 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. BSD лицензируются по лицензии BSD, которая поставляется с другим набором прав, чем GPL. По сути, лицензия BSD не требует от вас распространять исходный код модифицированных версий лицензионного программного обеспечения BSD.

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

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

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

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

Если вы хотите создать традиционный unix компьютерный компьютер для компьютерных фанатов, BSD сделает это так же, как и любая другая система unix-oid.

  1. Например, еще в эпоху VAX / 4.2BSD 1980-х годов такая машина, как VAX-11/750, могла предоставлять услуги электронной почты всему факультету или университетскому городку и, вероятно, выполняла бы и другую работу (хотя следует отметить, что большинство электронных писем были только текстовыми, а вложения не были столь распространены, как сегодня - на этой машине обычно использовались диски объемом от 120 до 450 МБ). Современный сервер имеет на 3-4 порядка больше мощности процессора и памяти, а также дисковую подсистему с пропускной способностью на 2 порядка больше и на 3-4 порядка больше места.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Contra BSD:

  • Продукты виртуализации (хост виртуальной машины) не поддерживаются (VMware, KVM, Xen, VirtualBox)

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

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

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

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

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

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

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

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

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

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

-Адам

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

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

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