Код
#подборки

Must read. 7 свежих англоязычных статей о FreeBSD, NetBSD и OpenBSD

Чем различаются операционки семейства BSD, как внести в них свой вклад и создать собственную версию ОС.

Dana Moskvina / Skillbox Media

Каждую неделю мы отбираем для вас несколько свежих материалов из англоязычного интернета. В этом выпуске — самые интересные статьи об операционных системах семейства BSD. Самые известные из них — OpenBSD, FreeBSD и NetBSD, хотя есть и другие модификации. Все они бесплатны и созданы на основе Unix.

NetBSD/FreeBSD/OpenBSD vs Linux

Зачем читать: узнать особенности каждой из ОС, их историю и различия.

Где читать: про NetBSD — на MakeUseOf; про FreeBSD — на BugsWriter; про OpenBSD — на That grumpy BSD guy.

История: при создании BSD разработчики не смогли договориться о приоритетах, и в итоге одна группа сосредоточилась на том, чтобы операционка как можно лучше работала на ПК, а вторая — чтобы она поддерживала как можно больше архитектур и устройств. В итоге проект разделился, и у первой группы получилась FreeBSD, а у второй — NetBSD. А позже один из разработчиков FreeBSD создал ещё одну версию — OpenBSD, систему, безопасную до параноидальности.

Но почему мы вообще говорим о BSD? И чем это семейство лучше Linux? А преимуществ у них и правда предостаточно:

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

Кроме общих характеристик у каждой из этих BSD-систем есть и свои особенности. Например, самая известная фича NetBSD — это универсальность. Её можно запустить почти на любом железе, от х86_64 до MIPS. Более того, можно найти и версии для Motorola 68000 или Sega Dreamcast… Кто-то умудрился поставить NetBSD даже на тостер!

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

А что нужно знать об OpenBSD? Её главные преимущества — безопасность и надёжность. Одно из правил OpenBSD — постоянная активная проверка и поддержка кода. Например, когда где-то находят баг, его не просто фиксят: код анализируют и ищут похожий в других местах, чтобы исправить аналогичные ошибки.

А разработчикам будет приятно узнать, что в систему уже из коробки включены основные инструменты для программирования под *nix и компайлер для C и С++ — Clang.

А что может предложить FreeBSD? В первую очередь — скорость.

В то время как её родственникам пришлось принести скорость в жертву безопасности или кросс-платформенности, разработчики FreeBSD сосредоточились на максимальной оптимизации операционки для работы на ПК. Та же OpenBSD значительно медленнее фряхи и уж точно менее юзер-френдли.

NetBSD на М1

Зачем читать: посмотреть на то, как Запашные из мира BSD укротили М1.

Где читать: на TechnoSports.

Пруф к утверждению об универсальности NetBSD: её запустили даже на М1, новом процессоре Apple. Это даёт надежду на то, что в будущем на М1 заработают и другие операционки, а не только macOS, — так, разработчики Linux уже портируют его под архитектуру Apple.

Но пока что это мечты: даже NetBSD запустить было не так-то просто. Всё-таки М1 не рассчитан на сторонние системы, и понадобилось немало дополнительных драйверов.

Карманная BSD — NomadBSD

Зачем читать: узнать о возможностях BSD, создании новой версии операционки и её установке.

Где читать: на dev.to.

Вот ещё интересный пример, насколько сильно можно играться с BSD-системами: автор статьи создал свою операционку на основе FreeBSD, но только в разы легче и компактнее. В то время как стандартная версия использует порядка 40 ГБ дискового пространства, его карманная версия, названная NomadBSD, — всего 5 ГБ!

Кстати, этот форк — ещё и пример совместимости BSD-систем с программами для Linux: в NomadBSD использованы линуксовый оконный менеджер и рабочая среда.

Правда, автор уточняет, что, несмотря на привлекательность компактного варианта, для первого знакомства с системами BSD всё-таки лучше выбрать другие версии: начать он рекомендует с GhostBSD, а продолжить — FreeBSD или OpenBSD.

Как сделать свой вклад во FreeBSD

Зачем читать: узнать, как законтрибьютить что-нибудь во FreeBSD.

Где читать: на Klara Systems.

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

Вот главные советы:

  • Процесс делится на подготовку, сборку, тестирование и отправку патчей в репозиторий. И если для первого и последнего пунктов не так важно рабочее окружение, то сборкой и тестированием лучше всего заниматься именно под FreeBSD.
  • Выбор редактора кода не особо важен. Многие используют Emacs или Vim, но вы можете выбрать и другой, какой вам удобнее.
  • Удобно использовать инструменты для навигации в исходном коде — например, cscope или ctagsoffer. Cscope, tmux и Vim — отличная комбинация для разработки.
  • Процесс сборки операционки может занять продолжительное время, но его можно ускорить. Так, разумно будет пропустить некоторые этапы с помощью команд $ make buildkernel -DKERNFAST и $ make buildworld -DWORLDFAST. Ещё один вариант — использовать Metamode, специальный режим, который сокращает время сборки.
  • Потом все свои правки надо согласовать с командой проекта: можно отправить их в Git, но лучше — в Phabricator, инструмент для ревью кода.

Дискуссия: создание своей версии ОС на основе FreeBSD

Зачем читать: узнать, как начать сборку кастомной версии FreeBSD.

Где читать: на Reddit.

А если вам интересно самим покопаться в операционках и, может, даже создать собственную версию, то стоит заглянуть в это обсуждение на Reddit. Топикстартер спросил, как лучше создать свою версию операционки на основе FreeBSD — максимально простую, для личного пользования. И вот что ему посоветовали:

  • Заглянуть в репозитории GhostBSD и HelloSystem.
  • Изучить Makefile FreeBSD и примечания к релизу.
  • Прочесть статью про создание подобных версий.
  • Разобраться с инструментом FreeSBIE.

А что на десерт?

  • Рефлексия вокруг треда в Twitter, в котором комментаторы пытались описать FreeBSD тремя словами.
  • Немного про мучения пользователя NetBSD с драйверами для Wi-Fi.

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие.
Каталог возможностей
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована