Найти в Дзене
Герман Геншин

BSD: Что это такое и чем оно отличается от Linux?

Оглавление

Резюме

Оглядываясь вокруг, вы, вероятно, наткнулись на менее известные операционные системы, такие как BSD или FreeBSD. И Linux, и BSD являются открытыми, похожими на Unix операционными системами, но они различаются. Вот что вам нужно знать.

BSD мертва, да здравствует BSD

Linux является созданной с нуля копией Unix, тогда как BSD фактически произошла от Unix. Unix — это операционная система, разработанная в Bell Labs в конце 1960-х годов. Когда двое ведущих разработчиков Unix представили доклад на конференции в 1973 году, заинтересованные стороны запросили копии их новой ОС.

Из-за ограничений на торговлю AT&T — материнской компании Bell — компания Bell не могла рассматривать Unix как продукт с источником дохода. Чтобы обойти ограничения, Bell распространял копии Unix в виде исходного кода и лицензий, взимая символическую плату для покрытия расходов на доставку. Университет Калифорнии в Беркли был одним из многих университетов, которые воспользовались этим предложением.

Кен Томпсон, главный архитектор Unix, взял отпуск из Bell, чтобы поработать в качестве приглашённого профессора в Беркли. Вместе с несколькими аспирантами он работал над добавлением полезных инструментов и важных модификаций. Билл Джой, аспирант, который позже стал одним из основателей Sun Microsystems, внёс значительный вклад, включая обработку виртуальной памяти и стек TCP/IP.

Интерес к улучшениям Беркли рос, так что они были предложены в качестве дополнительного пакета к Unix, который назывался Berkeley Software Distribution или BSD. Поскольку существование Unix было обязательным условием, пользователям всё равно приходилось получать лицензию на Unix. Инициатива, возглавляемая Китом Бостиком, постепенно заменила код AT&T кодом, написанным в Беркли, создавая свободно доступную операционную систему, похожую на Unix, с учётом улучшений BSD.

Была создана версия, которая работала на процессорах Intel 80386, названная 386BSD, что и дало начало BSD на настольных ПК. 386BSD был ответвлён, чтобы создать операционную систему FreeBSD.

Оригинальный BSD стал устаревшим, но продолжает жить в FreeBSD и её других прямых потомках — и в некоторых удивительных местах.

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

Помимо родословной и наследия, существуют различия между Linux и остальными BSD, наиболее популярной из которых является FreeBSD. FreeBSD — это похожая на Unix операционная система, но, как и Linux, она не сертифицированный UNIX.

Одно из крупных различий — это ядро. FreeBSD имеет своё собственное ядро. Оно не использует ядро Linux. Сильно модифицированная версия ядра BSD используется в macOS, которая, иронично, является сертифицированным UNIX.

Вы найдёте все привычные командные инструменты для операционной системы, похожей на Unix, но проверьте страницы справки man перед их использованием. Если вы знакомы с версиями инструментов в Linux, вы заметите различия в параметрах многих из них в FreeBSD. Это не помешает вам выполнить нужные задачи, но иногда может привести к заминке.

В FreeBSD можно запускать Linux-приложения, но это требует дополнительных усилий, например, использования образов Docker или установки совместимого с Linux слоя. Тем не менее, существует более 36,000 нативных приложений для FreeBSD, так что, возможно, вам вовсе не потребуется запускать какое-либо программное обеспечение Linux.

Существуют два способа установки приложений на FreeBSD. Ports используют исходный код, который компилируется локально на вашем компьютере. Также доступны бинарные пакеты, управляемые pkg, менеджером пакетов FreeBSD.

Совместимость с оборудованием может быть проблемой для FreeBSD, особенно на ноутбуках, где настройка Bluetooth, Wi-Fi или звука может быть сложной задачей или даже невозможной. Но, как только всё наладится, FreeBSD имеет отличную репутацию за стабильность, и многие пользователи FreeBSD применяют её для домашних серверов, даже если не используют как настольную операционную систему.

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

Ещё одно важное различие — это лицензия. FreeBSD использует 2-клаузную лицензию BSD, которая позволяет проприетарное использование FreeBSD и его внедрение в проприетарные продукты. Она также позволяет считать модификации исходного кода проприетарными и непубличными.

Использование FreeBSD

Установщик FreeBSD имеет текстовый интерфейс пользователя.

-2

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

-3

После установки у вас будет рабочая версия FreeBSD, но только с командной строкой. У вас не будет графической среды рабочего стола. Если она вам нужна, вам следует установить её. Это имеет смысл. Если вы запускаете домашний сервер, вы, вероятно, не будете заморачиваться с графическим интерфейсом.

Я установил GNOME, что заняло всего несколько минут. В целом, процесс установки занял около десяти минут, не считая времени для загрузки образа ISO FreeBSD. Версия GNOME показалась обычной, не модифицированной, GNOME, как вы бы получили с Fedora или Arch.

-4

Установка программного обеспечения была простой. Использование pkg аналогично использованию pacman, dnf или apt. Чтобы установить rsync, я сначала переключился на пользователя root с помощью команды su.

-5

Последний символ командной строки — это решётка '#' когда вы root. В качестве обычного пользователя это знак доллара '$.'

Как root, я выполнил команду pkg.

-6

Когда вы закончите использовать root, вам нужно выйти, чтобы вернуться к обычному пользователю. Вы можете сделать это, набрав exit или нажав Ctrl+D.

-7

Обратите внимание, что по умолчанию используется оболочка sh, а не Bash. Оболочка sh соответствует стандарту POSIX, в то время как Bash не старается следовать этому стандарту. Если вы привыкли к Bash, вам будет нормально, но будьте осторожны при написании скриптов, некоторые расширения Bash могут отсутствовать, такие как двойные квадратные скобки [[ ]] для сравнений.

-8

Существуют различия и в командной строке. Например, sh не имеет функциональности управления заданиями, аналогичной Bash.

Удивительно широкое наследие

Замечательно видеть дух BSD, сохраняющийся в современных BSD, и интересно думать, что в ядре macOS и iOS находится ядро, частично построенное на ядре BSD, и что Microsoft использовала стек TCP/IP BSD для реализации своей библиотеки Winsock и собственных сетевых процедур TCP/IP.

FreeBSD и другие BSD обеспечат вам гораздо более чистый опыт Unix, чем вы получите от Linux. Если это не имеет для вас значения, Linux обеспечит более плавный опыт на более широком спектре оборудования.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Новинка! На нашем канале в Яндекс Дзен появилась премиум подписка, которая позволяет читать статьи без рекламы и получать доступ к эксклюзивным материалам, недоступным обычным пользователям. Будем рады, видеть вас в числе премиум пользователей!

Вы также можете читать наши материалы в: