Почему именно OpenBSD (не Linux, не другие BSD)? |
Причин множество. Ориентация на подход "безопасность по умолчанию", доступность
"из коробки" технологий exploit mitigation (ASLR, W^X, и т.д.), качественная
документация, ориентация на написание качественного и переносимого кода.
Но главное на наш взгляд - следование "изначальной" UNIX-идеологии.
Каждая программа в базовой системе выполняет одну узкую задачу, но делает это хорошо.
А также - следование общей простоте и доступности. Не надо искать какие firmware-компоненты
требуется загрузить - утилита fw_update
делает это автоматически.
Если аппаратное устройство поддерживается системой, то оно, как правило, просто
работает - без поиска драйверов и модулей (и наоборот - просто не-работает и что-либо
искать бесполезно). Wifi настраивается встроенными средствами системы одной строчкой в
настройках сетевой карты (а не четырьмя и при помощи стороннего демона wpa_supplicant,
как это принято в других популярных Open Source ОС).
Продолжать можно долго. В общем это то чего профессиональный специалист по UNIX-системам
ожидает от качественной и продуманной UNIX-like ОС.
В FAQ написано подробнее. |
Подойдет ли OpenBSD для десктопа? | Разработчики OpenBSD много раз отвечали на этот вопрос и ответ всегда был примерно такой: если вам подходит -- то годится. А если вам не подходит -- то извините. Если чуть более развернуто: "десктоп" - понятие абстрактное. Каждый пользователь решает на нём какой-то свой круг задач, и поэтому ответ на этот вопрос можете дать только вы сами и только после личного опыта знакомства с системой. В наше время для этого не нужен даже отдельный компьютер, достаточно популярных бесплатных средств виртуализации (например VirtualBox). |
А как вы используете OpenBSD - десктоп, рабочая станция, сервер? |
Разными способами. И как десктоп/рабочую станцию и как сервер/сетевой шлюз.
Десктоп/рабочая станция - в пакетах есть многие популярные среды рабочего стола, браузеры, среды разработки, opensource программы для работы с документами, редактирования аудио/видео и прочее необходимое на десктопе. Сервер/сетевой шлюз - в базовой имеется минимальный простой http-сервер (доступный для всех популярных архитектур), dns-серверы unbound, nsd, сервер dhcp. Через систему пакетов доступен сервер samba, различные сервера баз данных, службы резервного копирования, средства для развертывания LAMP-подобных систем и многое другое. Также в системе имеется удобный и функциональный файрволл PF. |
OpenBSD же про безопасность - почему бы не переписать утилиты базовой системы на rust или ином memory-safe языке? | Что касается языка rust - в рассылках OpenBSD есть развернутый исчерпывающий комментарий Тео Де Раадта. Вкратце - как минимум использование rust не решит всех проблем с написанием качественного и безопасного кода, но зато добавит новые. Например - невозможность компиляции для ряда архитектур ввиду потребления большого количества оперативной памяти. |
Почему вы используете несвободные firmware и почему бы их не выкинуть/переписать? | Зачастую firmware - сложная и большая программа, затраты (финансовые, временные и пр.) на написание которой огромны даже при наличии технической документации на оборудование. И чаще всего - этой документации нет. Что, очевидно, еще более усложняет ситуацию. Для упорно желающих всё же переписать всё под свободной лицензией - предлагаем ознакомиться с комментарием Тео Де Раадта. |
Я слышал есть другие BSD - это дистрибутивы одной и той же ОС? Есть ли бинарная совместимость? | Нет, это разные операционные системы, с разными ядрами, подсистемами, системными утилитами, набором пакетов и идеологиями. Бинарной совместимости между ними нет. |
А как насчет совместимости с линуксом? Есть ли пакет wine? | OpenBSD не ставит цели обеспечить бинарную совместимость с Linux-программами. Соотвественно - программы, поставляемые в виде бинарных сборок для Linux, не будут работать в OpenBSD. Средства бинарной совместимости с Linux ранее поддерживались, но были удалены из системы и дальнейшее их развитие не планируется. Тоже самое касается и wine - поставить его не получится. |
Интересно. А что с виртуализацией? | В OpenBSD имеется собственный гипервизор vmm - аналог линуксового kvm и freebsd-шного bhyve - для которого подтверждена возможность запуска различных дистрибутивов Linux, а также самой OpenBSD. К сожалению vmm не поддерживает вывод с помощью VGA, таким образом с помощью него можно использовать только системы для которых возможна установка через serial-консоль. Однако, после установки возможно использование виртуальной системы другими средствами (например vnc или ssh). Также для установки из пакетов доступен эмулятор qemu. Популярной программы VirtualBox в пакетах нет, и поставить его иными способами не получится. |
Здорово, а если я хочу контейнеры/докер/куберенетс? | Docker и Kubernetes это Linux-технологии, доступные только при использовании специфических подсистем ядра Linux. Соотвественно - для их работы необходимо ядро Linux. Однако в пакетах OpenBSD имеются клиенты для docker и kubernetes - их использование возможно в связке с запущенным где-либо ядром Linux (например на удаленном сервере, или в виртуальной машине vmm, по аналогии с тем, как это реализовано в macOS при помощи гипервизора xhyve) |
Я готов попробовать, но вот есть ли под OpenBSD нужная мне программа? | Все программы для OpenBSD устанавливаются через систему пакетов, скомпилированных из открытых исходных текстов программ, доступных на зеркалах проекта. Для удобного поиска нужных программ можно использовать неофициальные сайты openbsd.app и openports.pl |
Отлично, а еще у меня видеокарта от Nvidia/AMD/Intel - будет ли она работать? | Все зависит от того насколько новая/старая модель вашей видеокарты и успели ли внести ее поддержку в ядро (и наоборот - не удалили ли поддержку за давностью лет). В общем случае можно полагать, что более менее новые карты AMD и Intel работают хорошо, а карты от Nvidia не работают совсем (исключение - старые карты которые поддерживаются драйвером nv) |
Я хочу иметь на одном компьютере OpenBSD вместе с Windows/Linux/другой BSD, помогите с разметкой диска! | Если у вас это первый опыт установки двух систем на один жесткий диск - мы крайне рекомендуем воздержаться от этого решения. Уничтожить таким образом рабочую систему не просто, а очень просто. Гораздо лучше рассмотреть вариант использования виртуальной машины (например VirtualBox), а впоследствии либо перейти на OpenBSD полностью либо установить систему на отдельный выделенный диск. |
Как насчет игр? | Как можно догадаться - Steam и GOG под OpenBSD нет. Но зато в пакетах доступно множество open-source движков и игр. Например - gzdoom, eduke32, ioquake3 и другие. Если совсем невмоготу - в базовой системе есть консольный tetris. Также информацию по запуску различных игр под OpenBSD можно найти на сайте https://playonbsd.com. |
Мне нравится pfsense/opnsense, есть ли firewall с GUI под OpenBSD? | Есть, проект называется UTMFW (ранее назывался ComixWall). Так же можно обратить внимание на проект того же автора - PFRE - редактор правил для pf. |
А как насчет live-системы на базе OpenBSD? | Есть, проект Fuguita. |
В моем любимом дистрибутиве Linux есть программа sudo, почему ее нет в базовой поставке OpenBSD? | Программа sudo была частью базовой системы OpenBSD до версии 5.9, после чего была заменена собственной аналогичной утилитой - doas(1). Если нужна именно sudo, её можно установить из портов. |
Хочу кириллицу в чистой консоли без X-сервера! А кстати, как примонтировать флешку на fat32 с русской кодировкой? |
Увы, на текущий момент полноценная работа с наборами символов отличными от
ASCII возможна только в среде X-Window.
В консоли банально отсутствуют шрифты с нужными символами. Тоже самое касается флеш накопителей с файловой системой fat32 - никакие опции монтирования не помогут увидеть русские имена файлов, это ограничение на уровне ядра. В качестве альтернативы можно рассмотреть перевод флеш-накопителя на файловую систему exfat и монтировать её при помощи утилиты mount.exfat0 из пакета exfat-fuse. Кстати, exfat является более современной файловой системой, которая поддерживает unicode, размер файла более 4 ГБ и поддерживается большинством современных ОС. |
Спасибо, я понял. А поможете в таком случае настроить кириллицу для X11? |
В общем случае должно быть достаточно добавить в пользовательский .xsession
(или .xinitrc, в зависимости от способа настройки запуска X11) следующее:
export LC_CTYPE="en_US.UTF-8" setxkbmap -layout "us,ru" setxkbmap -option "grp:ctrl_shift_toggle" |
А как настроить bluetooth? | Поддержка bluetooth была удалена ввиду отсутствия ресурсов для поддержания кодовой базы в приемлемом состоянии. Для аудиоустройств возможна поддержка с помощью специального usb-трансивера Creative BT-W5. Включения записи происходит путем двойного нажатия на кнопку, и подтверждается красным цветом на устройстве. Во время записи качество звука ухудшается. Повторный вход в режим записи или выход из него может приводить к багам в прошивке, лучше переподключить устройство. |
Почему так медленно работают файловые системы? Можно ли что-то с этим сделать? | Увы, но нет - для стандартной файловой системы OpenBSD (ffs2) можно разве что включить soft updates (см. официальный faq). Для файловых систем работающих через fuse сделать ничего нельзя - текущая реализация fuse имеет ограничения в плане возможностей и производительности. В случае необходимости использовать ntfs в режиме "только чтение" встроенная реализация ntfs (mount_ntfs) в некоторых случаях возможно будет работать быстрее. |
Можно что-то сделать со скоростью работы linux в vmm? | Одна из основных проблем производительности linux в vmm (помимо ограничений самого vmm) - отсутствие реализации vmm clocksource в ядре linux. Поддержку clocksource можно добавить собрав и загрузив модуль ядра linux vmm_clock, что резко понизит утилизацию процессора в виртуальной системе. |
С другой стороны, это совсем не значит, что новичок не может помочь проекту, но каждый раз стоит помнить о следующих простых вещах:
Итак, если прочитанное выше не отпугнуло, и у вас есть время и желание для работы над системой, вот несколько направлений, куда можно направить свою энергию и тем самым помочь проекту.
Еще одним способом помочь проекту OpenBSD является финансовая помощь OpenBSD Foundation. Эта организация занимается в том числе и финансовыми вопросами проекта.