Про фряху тут писали, а про опенка кажется нет, поэтому встречайте - мой десктоп с OpenBSD 7.3.

Само десктоп-окружение на моих компьютерах сильно не меняется (даже обоина почти всегда одна и таже) - я использую fvwm2, закошенный под CDE. Почему fvwm2, почему закос, а не ванильный CDE? Сам CDE мне нравится еще со стародавних пор, когда году в 2002-2003 увидел его в институте на машине с соляркой, но в те времена он был закрыт, а fvwm2 позволяет сделать любой интерфейс, таким образом я наваял свой CDE в fvwm. На ванильный CDE идти не хочу, оброс уже своими шорткатами и прочим. Периодически я пробую другие окружения (и операционки), но в итоге всегда возвращаюсь на BSD и fvwm. Тут мне удобно.

Расскажу теперь субьективное мнение о самой ОС.

Первый раз я услышал об OpenBSD лет 20 назад, и самым запоминающимся для меня было, что ребята с каждым релизом выпускают песенки https://www.openbsd.org/lyrics.html ! Примерно в те же года я решил попробовать эту ОС первый раз, но тогда не сложилось - какая-то железка на моем ноутбуке не определилась, и OpenBSD была отложена. Запомнилось то, что ядерная консоль в опенке синяя, а не белая.

Но как-то перед новым 2015 годом у меня было много свободного времени, новый ноут и я решил накатить. Нет, не алкоголя, а опенка на новый ноут. Про OpenBSD часто в интернете пишут, что она исследовательская, злые языки часто BSD-системы называют “пещерными”. Я ожидал увидеть что-то такое, не очень стабильное, временами падающее, требующее напильник (фря кстати на дестопе требует какое-то количество напильника, ну или хотя бы времени все это установить - иксорг, звук там настроить, и прочее), старый софт (пещерная же). Но нет. Установив систему за 10 минут (инсталлятор хоть и текстовый, но элементарный, энтер-энтер-энтер-энтер-ребут), передо мной оказалась система, в которой работало все железо, представленное у меня в ноутбуке, c иксами и простеньким fvwm1. Потратил полчаса на настройку (локаль там, поставить браузер, fvwm2, и прочее) - и я уже работал за ноутом. Да, набор пакетов не так велик, как во фре или в дебиане, но почти все представленное и опробованное - работало без каких-то нареканий. Году в 2020 я переползал на линукс - нужны были смузитехнологии в виде докера-шмокера-кубера, ну и захотелось чего-то нового, но через годик я вернулся на фрю, а потом частично и на опенок.

Итого, что понравилось в системе (опять же, все субьективно):

  • Предсказуемость системы. Я использую релиз, и у меня не было с ним никогда никаких проблем. В день релиза новой версии можно обновляться спокойно на нее, у тебя ничего не сломается.
  • Поддержка железа. Как ни странно, но в моем случае опенок поддерживал железо лучше, чем фря. Например Intel UHD Graphics 620 в одном из моем ноутов заработал сначала на опенке, и затем уже на фре. Мой Sierra Wireless EM7345 4G LTE сто лет как работает в опенке, и не работает на фре: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234578#c10 . Тут нужно сделать одну оговорку - если у вас видеокарта nvidia и вы ей дорожите - OpenBSD не для вас, но у меня нвидий никогда не было.
  • Безопасность системы. Опенок - классический юникс, обвешанный всякими безопасными штуками из коробки, причем так, что как правило эти безопасные штуки не мешают тебе жить (в отличие например от других ОС, когда в половине инструкций первым пунктом написано - отключаем SELinux, чтобы у тебя что-то заработало). Аналоги каких-то штук есть и в других ОС (часто эти аналоги оказываются заимствованными из опенка), но тут это все из коробки и не надо ничего дополнительно настраивать - тут тебе и всякие сепарации привелегий, аслры, карлы, рандомизции всего и всех, W^X, pledge и прочие unveil. Да, например браузеры (хром и firefox) не имеют доступ ко всей файловой системе/системным вызовам, а только тем, что нужно. И если нужно расширить права - это настраивается все очень быстро и просто. Xorg, которая xenocara - работает не из-под рута :).
  • Простота системы. Для пользователя опенок простой как валенок. Звуковой сервер sndiod просто работает. В системе например нет Network Manager, но подключение к wifi настраивается через ifconfig, например вот так:
doas ifconfig iwm0 nwid obsdap wpakey mypass

не нужно никаких wpasupplicant и прочих извращений. Если у тебя ноут и ты работаешь с несколькими точками доступа - перечисли их просто в /etc/hostname.if и все. Приходишь с работы домой, открываешь ноут и работаешь. Не надо даже лезть в настройки NetworkManager и выбирать нужную сеть. Отличные доки. Если что-то непонятно - глянь ман или ридми. Одинаковые конфиги и названия демонов.

  • ОС релизится часто, раз в полгода. В отличии от FreeBSD - порты и пакеты прибиты к релизу (если нужен роллинг - можно уйти на каррент). Актуальные версии пакетов и портов.

Но есть и минусы:

  • Система медленная, и это в принципе заметно. Сказываются безопасные штуки и небольшая команда разработки. Лично для меня наиболее заметны медленная ФС, да и IO тоже. Причем медленная ФС в какой-то момент достала настолько, что вынес кеши браузеров в оперативку. Ну и вообще такое практикуется в опенке: https://dataswamp.org/~solene/2018-05-08-mfs-tmp.html . Встречается и такое: https://marc.info/?l=openbsd-misc&m=167059562321307&w=2 (кстати эту проблему я решил уносом кешей в tmpfs). Меньше всего замечал просадок по сети. На старых ноутбуках (thinkpad t60p) я использую FreeBSD, потому что опенок там будет еле ворочатся. Если для вас перфоманс главное - то опенок не для вас. Хотя в принципе работа над ускорением опенка ведется, с каждым релизом люди избавляются от различных блокировок и прочее, так что прогресс в этом направлении есть. Мне в принципе его скорости хватает.
  • Виртуализация. Если как гость опенок работает почти везде, то в качестве хоста - в опенке есть виртуализация, но она очень простая. Она однопроцессорная, и она не умеет видео, только serial-console, проброс железок тоже нет. Винду поставить точно не получится, дистрибутивы linux не все. Впрочем если нужно гонять изредка различные докерфайлы - то такой виртуализации хватит.
  • Последний пункт можно отнести как к плюсам, так и к минусам. Разработчики OpenBSD поддерживают тот код, что они принесли в ОС, а если людей нет, готовых поддерживать какую-то подсистему - то этот код выкидывается. Таким образом, из опенка выкинули блютус. Таким образом система лишается кода, который может работать странно, но также и части функционала. Таким образом можно сказать, что например zfs появится в опенке скорее всего никогда, по тем причинам, что размер кода zfs и openbsd по обьему сопоставим, а людей, которые полностью понимают, как работает zfs не так уж и много.

На этом кажется и все. Если есть вопросы - спрашивайте :) <<<

  • Aleks MichajlowOP
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    pledge и unveil. Можно кстати внезапно посмотреть в man firefox, там будет

    ...
    SEE ALSO
           /usr/local/share/doc/pkg-readmes/firefox
    ...
    

    и затем в

    ...
    pledge(2) and unveil(2) Support
    ===============================
    Firefox on OpenBSD is secured with pledge(2) and unveil(2) to limit
    the system calls and filesystem access that each of Firefox's process types
    (main, content, remote data decoder, audio decoder, socket and GPU) is
    permitted.  By default, only ~/Downloads and /tmp can be written to when
    downloading files, or when viewing local files as file:// URLs.  You can edit
    the following files to change the pledge promises, unveil paths, and associated
    permissions:
    
    /etc/firefox/{unveil,pledge}.{main,content,gpu,rdd,socket,utility-audioDecoder}
    
    As unveil() can't show non-existing dirs, it is recommended to manually
    create ~/Downloads for files to be properly saved in this directory.
    
    Starting firefox should create this dir though, but it wont be available
    for downloads until it's restarted.
    ...
    

    Ну и сами конфиги выглядят проще некуда:

    $ head /etc/firefox/unveil.main                 
    # for uuid generation?
    /dev/urandom r
    /dev/video rw
    /dev/video0 rw
    /dev/fido rw
    # for webgl info in about:support
    /dev/dri/card0 rw
    /usr/lib r
    
    /etc/fonts r
    

    Человек, который видит это в первый раз - сразу разберется, что к чему.

    • cocucka
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      Да, выглядит понятно и просто, спс за пример.