OpenBSD

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
OpenBSD
OpenBSD textual logo.svg
OpenBSD logo with Puffy 500px.gif
Логотип OpenBSD с изображением талисмана проекта — рыбки Puffy
Разработчик

Проект OpenBSD

Семейство ОС

BSD UNIX

Основана на

NetBSD[1] и BSD[1]

Первый выпуск

18 октября 1995[2]

Последняя версия

6.1 (11 апреля 2017)

Поддерживаемые платформы

DEC Alpha[3][4], IA-32[5][3], x86-64[6][3], MIPS[3], PowerPC[3], SPARC[3][7], Zaurus[3][8], PA-RISC[3][9], Loongson[3][10], SPARC64[3][11] и ARM[12][13][14]

Тип ядра

Монолитное

Интерфейс

csh и pdksh; FVWM и CWM для X11

Лицензия

Лицензия ISC

Состояние

Актуальное

Репозиторий исходного кода

cvsweb.openbsd.org/cgi-b…[15][16]

Веб-сайт

openbsd.org

Commons-logo.svg OpenBSD на Викискладе

OpenBSD — свободная многоплатформенная операционная система, основанная на 4.4BSD — BSD-реализации UNIX-системы. Основным отличием OpenBSD от других свободных операционных систем, базирующихся на 4.4BSD (таких, как NetBSD, FreeBSD), является изначальная ориентированность проекта на создание наиболее безопасной, свободной и лицензионно чистой из существующих операционных систем[17].

Разработчики OpenBSD на хакатоне c2k1 в MIT

История[править | править вики-текст]

OpenBSD — самостоятельный проект, ответвление NetBSD, возникшее в конце 1995 года в результате раскола в команде разработчиков. Тео де Раадт (Theo de Raadt), один из четырёх основателей NetBSD, был вынужден покинуть проект после конфронтации по поводу дальнейшего развития ОС[18]. Взяв за основу дерево исходных кодов NetBSD и переделав его в соответствии со своим видением, он создал свой собственный проект — OpenBSD, в который, вслед за ним, перешли и некоторые другие разработчики NetBSD.

Релизы[править | править вики-текст]

Новые версии (релизы) OpenBSD выходят каждые полгода: ориентировочно 1 мая и 1 ноября[19]. В настоящий момент поддерживаются 15 различных платформ и архитектур, включая популярные i386-совместимые компьютеры, M68k, UltraSPARC, DEC Alpha, AMD64, Sharp Zaurus и другие[20]. Для установки доступно свыше 9500 пакетов с программным обеспечением, собираемым посредством штатного механизма портов.[21]

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

Каждый релиз выпускается на CD-ROM, продажи с которых формируют заработную плату де Раадта,[22] и сопровождается комиксом и как минимум одной песней[23]. В песнях рассказывается о процессе создания релизов, о спорах и конфликтах, возникших за прошедшие 6 месяцев, но чаще всего темой песен становятся новинки соответствующего релиза.

Установка OpenBSD штатно возможна многими способами, в том числе: с компакт-диска, с USB-флешки, с дискеты, а также по сети посредством PXE.[24] Из-за ограничений отдельных аппаратных платформ некоторые способы установки могут быть недоступны.

Релизы, включая снапшоты, подписываются утилитой signify собственной разработки. Отдельными ключами подписываются: 1) базовая система; 2) сторонние пакеты с прошивками оборудования; 3) все остальные сторонние пакеты. Каждый новый релиз подписывается новым ключом, при этом публичный ключ для очередного релиза поставляется уже вместе с предшествующим релизом.

OpenBSD — одна из немногих популярных современных операционных систем общего назначения, не обладающей штатным графическим и/или локализованным инсталлятором. Штатный инсталлятор представляет собой большой шелл-скрипт, с возможностью автоматической установки.[25]

Распространённость OpenBSD и дочерние проекты[править | править вики-текст]

OpenBSD — вторая по популярности BSD-система

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

  • Packet Filter (PF) — межсетевой экран (файрвол), заменивший в OpenBSD популярный IPFilter Даррена Рида после многолетних разногласий по поводу лицензии[26][27]. PF был высоко оценён и взят на вооружение разработчиками параллельных проектов NetBSD[28] и FreeBSD[29].
  • OpenSSH — самая распространённая открытая реализация SSH[30].
  • OpenNTPD — демон для синхронизации времени по протоколу NTP; может работать и как сервер[31][32][33].
  • OpenOSPFD — реализация протокола динамической маршрутизации OSPF (локальная маршрутизация).
  • OpenBGPD — реализация протокола динамической маршрутизации BGP (глобальная маршрутизация)[34].
  • OpenCVS — (в разработке и отладке; на данный момент используется только часть — OpenRCS) — более простая и безопасная реализация CVS, чем разрабатываемая в рамках GNU[35].
  • OpenSMTPD — реализация протокола SMTP[36].
  • OpenIKED — реализация протокола IKEv2, являющегося одной из основных составляющих IPSec VPN[37].
  • LibreSSL — форк OpenSSL, обеспечиващий совместимость с родительским проектом, но при этом систематически проходящий аудит как составная часть OpenBSD.

Отдельные разработки OpenBSD не стали отдельными проектами, но используются в качестве компактных, легче аудируемых замен внешним альтернативам, например:

  • doas — альтернатива sudo. Стоит отметить, что текущий (на момент замены sudo на doas) мейнтейнер sudo, Todd Miller, сам является активным разработчиком OpenBSD.
  • signify — альтернатива утилите openssl, реализующей заложенные в OpenSSL функции.

Особенности разработки[править | править вики-текст]

OpenBSD отличается от других свободных BSD-систем своей системой разработки. Никакой код не может попасть в систему извне случайно; любые изменения просматриваются ответственными за соответствующую часть системы лицами. Любая ошибка, найденная в одном месте, вызывает пересмотр всего аналогичного кода.

В OpenBSD уделяется огромное внимание качеству документации. Любая ошибка в man-странице считается серьёзной и немедленно исправляется. Также большое внимание уделяется простоте и ясности кода — поскольку разработчики небезосновательно полагают, что чем проще код, тем меньше вероятность пропустить ошибку.

Разработчики OpenBSD категорически не приемлют использование любого несвободного кода в системе. Неоднократно части операционной системы исключались из репозитория из-за проблем с лицензированием:

  • IP Filter — оригинальная лицензия Даррена Рида имела ряд серьёзных ограничений, например, не допускала модификации кода. А кроме исправления ошибок, сторонние программы в OpenBSD подвергаются тюнингу — изменению умолчаний, запрету небезопасных режимов и т. п. Некоторое время IP Filter имел компромиссную лицензию, но автор вернулся к оригинальной формулировке, и начиная с релиза 3.0, межсетевым экраном в OpenBSD стал Packet Filter.
  • XFree86 — из-за изменения лицензии был заменён на X.Org.
  • В OpenBSD (в отличие от наиболее распространённых сегодня свободных систем — Linux и FreeBSD, не говоря о «полуоткрытых» системах вроде OpenSolaris) не используются драйвера с «блобами» — скомпилированными объектными модулями с нераскрываемым исходным кодом. Кроме несвободного исполнения, такие драйвера позиционируются как потенциально опасные (в особенности, в системе с монолитным ядром, каковой является и OpenBSD), так как не поддаются проверке и необходимой модификации. Однако бинарные прошивки включаются в состав системы, если они допускают свободное распространение, поскольку они исполняются не на центральном процессоре, а на самом оборудовании.
  • В дерево портированных программ (портов), за редкими исключениями, не включаются (или удаляются) программы с лицензиями, не разрешающими распространение в виде исходных кодов и в бинарном (скомпилированном) виде.

Разработка OpenBSD ведётся с помощью CVS. Для частичной компенсации неудобств, связанных с использованием централизованной системы управления версиями файлов, поддерживается сеть зеркал cvsync. При этом существует openbsd-wip — полуофициальное дерево портов, находящихся в состоянии разработки, располагающееся на GitHub.

OpenBSD 3.7, запущенная в графическом режиме с X.Org и оконным менеджером JWM

Финансирование[править | править вики-текст]

В 2003 году финансирование со стороны DARPA было прекращено.[38] Основным источником средств для поддержания жизнедеятельности проекта становятся индивидуальные пожертвования; как в денежной форме, так и в виде приобретения оборудования или транспортных билетов для разработчиков.

Для решения проблемы с пожертвованиями от юридических лиц 26 апреля 2007 года был создана некоммерческая организацияфонд OpenBSD (OpenBSD Foundation).[39] В отличие многих других подобных организаций, фонд OpenBSD не влияет на принимаемые проектом решения и, за отдельным исключением[40], не выступает от его имени.

17 января 2014 года проект оказался под угрозой закрытия из-за того, что у Тео де Раадта, использующего для OpenBSD огромный «зоопарк железа» у себя дома, накопилась значительная задолженность за электроэнергию, эквивалентная 20 000$, в связи с чем он опубликовал письмо с просьбой о помощи[41][42]. Спонсор из числа Bitcoin-богачей нашёлся буквально через 2 дня сразу после того, как ссылку опубликовали на IRC-канале #bitcoin-assets. Румынский предприниматель Мирча Попеску сообщил, что готов пожертвовать сразу всю необходимую сумму[43][44][45].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 1 2 The UNIX system family tree: Research and BSD
  2. http://undeadly.org/cgi?action=article&sid=20061019013207
  3. 1 2 3 4 5 6 7 8 9 10 OpenBSD Platforms
  4. OpenBSD/alpha
  5. OpenBSD/i386
  6. OpenBSD/amd64
  7. OpenBSD/sparc
  8. OpenBSD/zaurus
  9. OpenBSD/hppa
  10. OpenBSD/loongson
  11. OpenBSD/sparc64
  12. OpenBSD/armv7
  13. OpenBSD Platforms
  14. ARMv7 now has a bootloader OpenBSD Journal, 2016.
  15. http://cvsweb.openbsd.org/cgi-bin/cvsweb/www/index.html#rev1.666 — 2014.
  16. http://cvsweb.openbsd.org/cgi-bin/cvsweb/www/faq/faq11.html#rev1.102 — 2014.
  17. OpenBSD Project Goals
  18. Список рассылки netbsd-users: «… Theo de Raadt was asked to resign from the NetBSD Project…»
  19. 1 — Introduction to OpenBSD
  20. OpenBSD Platforms
  21. OpenBSD Ports
  22. Re: Donations to OpenBSD
  23. OpenBSD Release Songs
  24. OpenBSD Mirrors
  25. autoinstall — unattended OpenBSD installation and upgrade
  26. PF: The OpenBSD Packet Filter
  27. IP Filter — TCP/IP Firewall/NAT Software
  28. NetBSD Packet Filter information
  29. FreeBSD packet filter (pf)
  30. OpenSSH
  31. OpenNTPD
  32. OpenBSD manual pages: ntpd.conf(5)
  33. OpenBSD manual pages: ntpd(8)
  34. OpenBGPD
  35. OpenCVS
  36. OpenSMTPD
  37. OpenIKED
  38. LWN: DARPA Cancels OpenBSD Funding
  39. Announcing — The OpenBSD Foundation
  40. Google Summer Of Code 2014
  41. Electricity bill threatens survival of OpenBSD | ZDNet
  42. Илья Сименко. Проект OpenBSD под угрозой закрытия: нет денег на оплату счетов за электричество (рус.). Хабрахабр (17 января 2014). Проверено 2 января 2017.
  43. #bitcoin-assets log
  44. #bitcoin-assets log
  45. Анатолий Ализар. Румынский биткоин-миллионер оплатил долги OpenBSD (рус.). Хабрахабр (20 января 2014). Проверено 2 января 2017.

Ссылки[править | править вики-текст]

Дополнительная информация

|