За время существования телеграм-канала @openbsd_ru мы отметили, что у новичков (особенно у тех, кто не знаком с OpenBSD и повседневно использует другие ОС) возникают примерно одни и те же вопросы. Мы постарались собрать их здесь и осветить наиболее полно (насколько это возможно в рамках формата FAQ), дабы не тратить каждый раз время на повторение одних и тех же ответов.
В FAQ написано подробнее.
Разработчики OpenBSD много раз отвечали на этот вопрос и ответ всегда был примерно такой: если вам подходит -- то годится. А если вам не подходит -- то извините. Если чуть более развернуто: "десктоп" - понятие абстрактное. Каждый пользователь решает на нём какой-то свой круг задач, и поэтому ответ на этот вопрос можете дать только вы сами и только после личного опыта знакомства с системой. В наше время для этого не нужен даже отдельный компьютер, достаточно популярных бесплатных средств виртуализации (например VirtualBox).
Разными способами. И как десктоп/рабочую станцию и как сервер/сетевой шлюз.
Десктоп/рабочая станция - в пакетах есть многие популярные среды рабочего стола, браузеры, среды разработки, opensource программы для работы с документами, редактирования аудио/видео и прочее необходимое на десктопе.
Сервер/сетевой шлюз - в базовой имеется минимальный простой http-сервер (доступный для всех популярных архитектур), dns-серверы unbound, nsd, сервер dhcp.
Через систему пакетов доступен сервер samba, различные сервера баз данных, службы резервного копирования, средства для развертывания LAMP-подобных систем и многое другое.
Также в системе имеется удобный и функциональный файрволл PF.
Что касается языка rust - в рассылках OpenBSD есть развернутый исчерпывающий комментарий Тео Де Раадта. Вкратце - как минимум использование rust не решит всех проблем с написанием качественного и безопасного кода, но зато добавит новые. Например - невозможность компиляции для ряда архитектур ввиду потребления большого количества оперативной памяти.
Зачастую firmware - сложная и большая программа, затраты (финансовые, временные и пр.) на написание которой огромны даже при наличии технической документации на оборудование. И чаще всего - этой документации нет. Что, очевидно, еще более усложняет ситуацию. Для упорно желающих всё же переписать всё под свободной лицензией - предлагаем ознакомиться с комментарием Тео Де Раадта.
Нет, это разные операционные системы, с разными ядрами, подсистемами, системными утилитами, набором пакетов и идеологиями. Бинарной совместимости между ними нет.
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 устанавливаются через систему пакетов, скомпилированных из открытых исходных текстов программ, доступных на зеркалах проекта. Для удобного поиска нужных программ можно использовать неофициальные сайты openports.se и openports.pl
Все зависит от того насколько новая/старая модель вашей видеокарты и успели ли внести ее поддержку в ядро (и наоборот - не удалили ли поддержку за давностью лет). В общем случае можно полагать, что более менее новые карты AMD и Intel работают хорошо, а карты от Nvidia не работают совсем (исключение - старые карты которые поддерживаются драйвером nv)
Если у вас это первый опыт установки двух систем на один жесткий диск - мы крайне рекомендуем воздержаться от этого решения. Уничтожить таким образом рабочую систему не просто, а очень просто. Гораздо лучше рассмотреть вариант использования виртуальной машины (например VirtualBox), а впоследствии либо перейти на OpenBSD полностью либо установить систему на отдельный выделенный диск.
Как можно догадаться - Steam и GOG под OpenBSD нет. Но зато в пакетах доступно множество open-source движков и игр. Например - gzdoom, eduke32, ioquake3 и другие. Если совсем невмоготу - в базовой системе есть консольный tetris. Также информацию по запуску различных игр под OpenBSD можно найти на сайте https://playonbsd.com.
Есть, проект называется UTMFW (ранее назывался ComixWall). Так же можно обратить внимание на проект того же автора - PFRE - редактор правил для pf.
Есть, проект Fuguita.
Программа sudo была частью базовой системы OpenBSD до версии 5.9, после чего была заменена собственной аналогичной утилитой - doas(1). Если нужна именно sudo, её можно установить из портов.
Увы, на текущий момент полноценная работа с наборами символов отличными от ASCII возможна только в среде X-Window.
В консоли банально отсутствуют шрифты с нужными символами.
Тоже самое касается флеш накопителей с файловой системой fat32 - никакие опции монтирования не помогут увидеть русские имена файлов, это ограничение на уровне ядра. В качестве альтернативы можно рассмотреть перевод флеш-накопителя на файловую систему exfat и монтировать её при помощи утилиты mount.exfat0 из пакета exfat-fuse. Кстати, exfat является более современной файловой системой, которая поддерживает unicode, размер файла более 4 ГБ и поддерживается большинством современных ОС.
В общем случае должно быть достаточно добавить в пользовательский .xsession (или .xinitrc, в зависимости от способа настройки запуска X11) следующее:
export LC_CTYPE="en_US.UTF-8" setxkbmap -layout "us,ru" setxkbmap -option "grp:ctrl_shift_toggle"
Поддержка bluetooth была удалена ввиду отсутствия ресурсов для поддержания кодовой базы в приемлемом состоянии. Для аудиоустройств возможна ограниченная поддержка с помощью специального usb-трансивера Creative BT-W2.
Увы, но нет - для стандартной файловой системы OpenBSD (ffs2) можно разве что включить soft updates (см. официальный faq). Для файловых систем работающих через fuse сделать ничего нельзя - текущая реализация fuse имеет ограничения в плане возможностей и производительности. В случае необходимости использовать ntfs в режиме "только чтение" встроенная реализация ntfs (mount_ntfs) в некоторых случаях возможно будет работать быстрее.
Одна из основных проблем производительности linux в vmm (помимо ограничений самого vmm) - отсутствие реализации vmm clocksource в ядре linux. Поддержку clocksource можно добавить собрав и загрузив модуль ядра linux vmm_clock, что резко понизит утилизацию процессора в виртуальной системе. [Наверх]