LINUX.ORG.RU

Переход с Linux на FreeBSD. Успех, но...

 , , ,


11

6

Этот небольшой пост не порадует вас обилием картинок, он скорее объявление о намерениях.

Под новый год сдох последний SSD в рейде, и я наконец перешел с Oracle Linux 6 (с 2013 года) на FreeBSD (да, у меня много времени). И вот хочу бороться с мифами на форуме и всеми этими постами «стоит ли переходить», а «какого цвета трава по вашу сторону забора» и т.д. Обычно на эти вопросы отвечают фанаты FreeBSD, а я предлагаю ниже краткое описание от линуксоида. Посвящено оно в основном звуку. Это при том, что я уже два года пробую FreeBSD на личных серверах.

Сначала о постановке целей.

1) Недостижимый идеал темы выглядит вот так https://www.gnome-look.org/p/1120849/ Недостижим он по той причине, что исходники иконок в SVG недоступны, а темы QT и GTK изрядно переписаны в сторону метросексуальности. Так что пока скриншот только с консолью.

2) Основные требования к софту:

2.0 стабильность
2.1 Urxvt/bash/mc
2.2 Google Chrome
2.3 Thunderbird
2.4 VirtualBox
2.5 rtorrent/mplayer (mpv/moc)
2.6 LibreOffice
2.7 Контейнерная виртуализация.

3) Основные требования к ОС:

3.0 мышь и клавиатура
3.1 Firewall, маркировка по портами, маршрутизация вместе с NAT.
3.2 No Pottering, No pulseaudio, No systemd, No gstreamer, No avahi
3.3 FS live snapshots. Не ZFS.
3.4 nvidia proprietary driver
3.5 PA like functionality.

--------------
Реальность:
2.0 Во-первых, надо полностью развеять миф о бОльшей стабильности FreeBSD по сравнению с Linux. За время своего знакомства я наступил на кернел паник в стабильном, ванильном, оттестированом и т.д. выпуске, сегфолт пакетного менеджера (знаю, как повторить), сегфолт утилиты из базы (jails, зафиксировано в багтреке), сегфолт fsck (зафиксировано в багтрекере). И нет в шестом редхате такого не было, а с манжаро, арчами, федорами и гентами сравнивать не берусь, там все бывает. Во-вторых, везде кода меньше, система легче. Порядка немного больше. Это что касается базы. В прикладном софте примерно также.

2.1 bash. Я держу набор .bashrc файлов для всего набора линуксов, с которыми сталкивался, чтобы унифицировать поведение в консоли. Ес-но, FreeBSD отличается сильнее, консольные утилиты просто менее функциональны, дурацкое требование слеша на конце при использовании cp -r dir1/ dir2... Поэтому я просто заинсталировал все, что было в репозиториях из гнутого консольного софта и обмотал это альясами. Жить можно и даже неплохо. Из неудобного: все пути длинее, т.к. /usr/local/, блин:( Из странного каждый терминал считается залогиненым юзером в w. Это очень странно.

2.2 Google Chrome. Поломано определение Memory Footprint в Task Manager. Теперь не прибъешь вкладки, которые много отожрали. Хотя кто-то мне доказывал со скриншотами, что это только у меня. хз.

2.3 Thunderbird + (все также)

2.4 VirtualBox - отсутствует коммерческий пак от оракла, стало быть не работает быстрое USB2.0 (буду пробовать прокидывать контроллер) и не работает RDP (не решаемо). Проблемы со звуком, см. ниже.

2.5 mplayer - проблемы со звуком. см. ниже.

2.6 LibreOffice - от RH GTK не избавишься, т.к. программисты с freedesktop хуже поддерживают qt, чем gtk. на QT поломан размер шрифтов. неюзабельно.

2.7 контейнеры jails. Это то, к чему я привык во времена OpenVZ. Все есть, все хорошо. Но рестарт контейнера возможен только через минуту-две. Не освобождает ресурсы. Досадный глюк.

3.0 Из того, что работало на Linux десятилетней давности, но перестало на FreeBSD - это мышь и клава. У FreeBSD традиционно сложные отношения с определением устройств. Они не могу определиться, развивать свое или копировать с линукса udev. В итоге они делают и то, и то и в результате по-умолчанию нифига не работает, конфигурация Xorg'a превращается в разбор внутренней кухни этих заморочек. Плюс они что-то там намудрили, что мультимедийные кнопки на клаве - это как бы отдельная клавиатура (которая не работает). И в добавок, эти мультимедийные клавиши просто не могут работать, т.к. для них указаны ошибочные кейкоды в каком-то махровом году. Два года назад я это выяснил и пропатчил демон, который их определяет. Руки дойдут - сделаю снова.

Почему не определился Genius MX Master, я пока так и не понял, воткнул самую простую USB мышь.

3.1 Firewall - самая грустная часть FreeBSD:( При том, что он существует в трех(!) инкарнациях, они все глубоко в *опе. ipfw - основной и самый функциональный, застрял в середине 90х. Документации просто недостаточно. Сложные штуки с маркировкой трафика по портам и натами на нем невозможно выполнить. pf - устаревшая версия из OpenBSD. сама OpenBSD ее уже выкинула. и также с соляровским вариантом. Солярис тоже его давно выкинул в пользу OpenBSDшного. И хуже всего то, что внутриядерная часть фвола очень простая. Все пакеты падают в одно ведро, там перемешиваются и по факту невозможно их сепарировать. Короче говоря, я пытался три раза хотя бы спародировать какие-то простые места из своей огромной портянки iptables и все это заканчивалось ненавистью и фрустрацией. Так что придется просто поднимать виртуальную машину со старым Linux+iptables.

3.2 No Pottering, No pulseaudio, No systemd, No gstreamer, No avahi - тут полный успех. Но только, если собирать из портов.

3.4 live snapshots. Я говорю об аналоге lvm на линуксе. Я уже много лет использую эту схему, чтобы очень эффективно бекапить террабайты данных. В отличие от всех этих поделок с tar, которые приносят сюда ньюфаги, такая схема позволяет бекапить шифрованные данные, много, не выключая систему, а ZFS на сервере еще и позволяет всем этим свободно манипулировать. Очень круто. Я не знаю, появились ли в Linux offline snapshots, но лучше ZFS я тут ничего не видел.

У меня получилось собрать полный аналог слоеного пирога encryption layer+volume manager+fs. FreeBSD традиционно использует fs soft updates вместо журналирования. В чем принципиальная разница так и не понял, ну и ладно. Просто пришлось отказаться от soft update, включить журналирование посредством geom, словить баг в gjournal, зарапортовать, подождать два года. По-моему он пофикшен, но так ко мне и не прилетел. Но работает.

Вроде

Потому что в первую же ночь система стала колом с ошибками в журнал при распаковке архива!

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

Короче, неожиданный успех. Если кому интересно, почему я не использую здесь ZFS, спросите меня.

3.4 FreeBSD - это единственная ОС из других *BSD с проприетарными драйверами. Полный успех.

3.5 PA like functionality. Да, это большая тема, в которой я к тому же понимаю слабо. Я использую USB-звуковуху, которая пригодна для записи звука и может работать с повышенной дискретизацией или что-то типа того. Считается, что FreeBSD изначально имела более качественный аудио-стек, чем Linux. И судя по количеству и качеству ручек, я в это верю. Такое впечатление, что инженеры, которые это писали, увлекались аудиозаписью. А вот сохранять уровни громкости для приложений она не может:( Поэтому ей нужна надстройка, аналог PA - sndiod.

Естественно, FreeBSD развивается очень медленно, а на линуксе тем временем тяп-ляп глючный пульсаудио. Сейчас к 15ой версии он, наверное, уже не доставляет столько гемороя, и в нем море фич. Я исторически использовал PA 8.0. Звук в VirtualBox заикался. Глючило при разных уровнях громкости для каналов. Рестарт пульсаудио - часть моего воркфлоу с 2013 года, но регулятор громкости для приложений - это прикольно и не имеет аналогов во FreeBSD.

Во FreeBSD нас встречает утилита в 10 раз меньше. Она не требует портянок конфигов, в ней нет блютуса и еще каких-то новомодных штук. Но она тут же сделала все, что мне нужно. Она принимает поток по tcp. Она объединяет каналы в моно, как мне нужно. Она выставляет нужную частоту дискретизации. Первое, что я заметил звук стал чище. Как будто новую аудиокарту взял. Очень круто.
Но
Но теперь звук в mplayer заикается при нагрузке на диск! Я не понимаю, это баг системы или конкретного софта. Вроде напрямую в OSS не заикается. Но так мне не надо.

VirtualBox теперь играет звук чисто. Но недолго. Он не может выводить в sndio, отправляет в OSS и скоро затыкается.

На этом со звуком все.

>>> Просмотр (3200x1200, 181 Kb)

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 9)
Ответ на: комментарий от crypt

Я понял уже. Может попробовать как-то радовать себя и людей вокруг, глядишь и таблетки отвалятся. Не знаю там: медитация, аутотренинг, благие аффирмации, позитивное мышление, сон до усрачки наконец, и всё это на фоне прогулок по лесу (у моря, если есть), много секса, как-то так.

papin-aziat ★★★★★
()
Ответ на: комментарий от pinus_nigra

Где-то ещё мордод был…

Это верхушка айсберга.
Есть и другие.

Not_a_Troll
()
Ответ на: комментарий от papin-aziat

мы просто не только думаем, но и пишем быстрее, чем ты=)

и всё это на фоне прогулок по лесу (у моря, если есть), много секса, как-то так.

есть, конечно! обское! там сейчас -20, потому что зима теплая. все туда и ходим сексом заниматься.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)

Ты не туда повернул, ТС.
Двигай в сторону source-based. Gentoo, CRUX, Alpine.
BSD и не стационар пока очень неудачны. Даже набор костылей не спасает.
Дистры выше при должных руках много позволяют решить из твоего списка. И это вы ещё Win11 не пробовали, вот где печаль.

Not_a_Troll
()
Ответ на: комментарий от crypt

чем ты

Я бы отсюда начал. Это типичное отношение зависимости да ещё и без контекста, ведь он нам плохо доступен даже ИРЛ, а уж в сети и подавно. Мне вот нравится думать, что на той стороне провода сидит умный мужик, которому всё под силу, попробуй…

papin-aziat ★★★★★
()
Ответ на: комментарий от Not_a_Troll

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

crypt ★★★★★
() автор топика
Ответ на: комментарий от Not_a_Troll

Если именно это в данный момент делает твои руки и ноги теплыми, а в животе приятно урчит, то да. Я, кстати, именно за это любил фряху, но потом программы стали слишком большими :-(

papin-aziat ★★★★★
()

Про странности с мультимедийными клавишами согласен, приходится добавлять какой-то странный костыль для работы с ними.

сегфолт пакетного менеджера (знаю, как повторить)

?

Из странного каждый терминал считается залогиненым юзером в w

В иксовых терминалах? Зависит от того, является ли текущий шелл login shell или нет?

Во FreeBSD нас встречает утилита в 10 раз меньше.

sndio опенбсдшная, если и встречает тут, то из портов.

За репорты о проблемах, +.

Всё остальное, как по мне, вкусовщина, особенно UFS вместо ZFS (так как использую последнюю везде уже лет 12-13), спрашивать, наверное, не стоит? :)

dsdqmhsx
()
Ответ на: комментарий от dsdqmhsx

За репорты о проблемах, +.

и даже не один. особенно их свежий кернел-баг заинтересовал. долго переписывались. а вот репорт segfault в базе заметили, перестали отвечать и возобновили работу через год, когда еще кто-то его зарепортил отдельным багом из компании. это обидно.

но это лучше, чем в Ubuntu: Linux в подарок (комментарий)

Всё остальное, как по мне, вкусовщина, особенно UFS вместо ZFS

да какая нахрен вкусовщина! это что, фломастеры?! или вермишель?! это две технически совершенно разные fs. ты ничего не админил по-крупному? у них ттх совершенно разные. и назначение.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 4)

Но теперь звук в mplayer заикается при нагрузке на диск!

На своей 13-STABLE встречал такое только один раз: когда пытался проиграть 4k блюр на гигов 80 одним файлом. Проблема решилась увеличением кеша в mpv.

iron ★★★★★
()
Ответ на: комментарий от iron

я пишу конкретно о ситуации, когда звук идет через sndio. а у тебя может идти напрямую в OSS.

crypt ★★★★★
() автор топика

Переход с Linux на FreeBSD. Успех, но…
кернел паник в стабильном, ванильном, оттестированом и т.д. выпуске, сегфолт пакетного менеджера, сегфолт утилиты из базы, сегфолт fsck
Поломано определение Memory Footprint в Task Manager
рестарт контейнера возможен только через минуту-две. Не освобождает ресурсы. Досадный глюк.
Firewall существует в трех(!) инкарнациях, они все глубоко в *опе
в первую же ночь система стала колом с ошибками в журнал при распаковке архива
Но теперь звук в mplayer заикается при нагрузке на диск!
VirtualBox теперь играет звук чисто. Но недолго. Он не может выводить в sndio, отправляет в OSS и скоро затыкается.

Хорошая реклама Поттеринга и Red Hat.

sudopacman ★★★★★
()
Ответ на: комментарий от crypt

Нифига не понятно. У тебя есть одно устройство /dev/dspX, ты пытаешься одновременно выводить звук в него через sndio и напрямую?

iron ★★★★★
()
Ответ на: комментарий от dsdqmhsx

В контексте обсуждаемого локалхоста - таки да.

а что ты вообще знаешь о моей рабочей станции, чтобы решать это? перечисли, пожалуйста, железо для начала. и не пори больше ерунды.

а ты знаешь, что на ZFS на каждые 2Tb оказалось занято на 20Gb больше места, чем на старом томе с Linux LVM?

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 3)
Ответ на: комментарий от sudopacman

но... но... но... я же имел ввиду совсем не это:::::::::::(

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

нет, я звук просто отправляю в sndio. а ты?

У меня мультимедийная система подключенная через S/PDIF, поддерживает аппаратное декодирование AC3, DTS и т.д. В mpv настроено, если встречаются поддерживаемые аппаратно форматы - отправляем в S/PDIF passthrough. Если же стандартное аудио - швыряем в пульсу. Ну а дальше через аплет xfce4-pulseaudio-plugin отправляю звук куда нужно: либо в наушники, либо на колонки.

К слову, в скайпе еще круче настроено. Все звуки скайпа выводятся на колонки. А в случае [видео]звонка, после активации звонка звук идет в наушники. В пульсе юзаю module-echo-cancel, очень хорошо удаляет эффект эхо комнаты. Шумодав не прикручивал, так как юзаю USB микрофон со встроенной звуковухой в которой он уже встроен на уровне прошивки.

iron ★★★★★
()
Ответ на: комментарий от fernandos

Эээ… понимаешь, мы компьютеры пытаемся сделать похожими на нас, но не наоборот, то есть «все два» было красиво на тот момент, а вот перечислять лоровских бздунов уже неинтересно :-)

papin-aziat ★★★★★
()
Ответ на: комментарий от iron

тогда ты вообще не в тему мне ответил

crypt ★★★★★
() автор топика
Ответ на: комментарий от dsdqmhsx
sndio (intermediate)

sndio is an audio framework that was originally developed for OpenBSD.

Note for Firefox: A recent patch changed cubeb, the sound library of Firefox, to natively use OSS on FreeBSD, so sndio is not needed. Note for Chrome: The Chrome port/package uses sndio by default.

sndio integration for userspace programs.

By default, the PCM sound system in FreeBSD will create OSS(v4) compatible clones of the basename (ie. /dev/dsp is accessible via /dev/dspN[.N]). This works well for OSS-compatible userspace programs. By default sndio doesn't require a daemon, and just maps OSS /dev/dspN* devices to sndio rsnd/N devices that can be chosen at start-time via the environment variable AUDIODEVICE.

Beginning from sndio version after 1.7.0 (not-yet-released), it will also allow to use different playback and recording devices through the environment variables AUDIOPLAYDEVICE and AUDIORECDEVICE.

https://wiki.freebsd.org/Sound

iZEN ★★★★★
()

Примите мои поздравления. FreeBSD на десктопе вполне работает. Но да, Linux на десктопе получше будет. Успехов!

curver
()

Поэтому я просто заинсталировал все, что было в репозиториях из гнутого консольного софта и обмотал это альясами.

Это зря. GNU утилиты не поддерживают специфику FreeBSD kernel и libc.

Из странного каждый терминал считается залогиненым юзером в w. Это очень странно.

Не наблюдаю такого у себя.

Google Chrome. Поломано определение Memory Footprint в Task Manager.

У вас Chrome запущен через Linux совместимость? Могу сказать что в нативном Chromium под FreeBSD та же беда. Но там есть проблемы и серьезнее, вроде поломанного сохранения файлов на диск(патч есть в багтрекере).

FreeBSD традиционно использует fs soft updates вместо журналирования. В чем принципиальная разница так и не понял, ну и ладно. Просто пришлось отказаться от soft update, включить журналирование посредством geom, словить баг в gjournal, зарапортовать, подождать два года. По-моему он пофикшен, но так ко мне и не прилетел.

Судя по коммитам, на FFS/UFS/geom немного подзабили после появления поддержки ZFS.

Но теперь звук в mplayer заикается при нагрузке на диск! Я не понимаю, это баг системы или конкретного софта. Вроде напрямую в OSS не заикается. Но так мне не надо.

Помню убирал sndio из опций используемых портов, были с ним какие-то проблемы, оно не родное для FreeBSD а порт из OpenBSD(у которой свое audio API). И да, даже с ядерным OSS можно добиться заиканий при интенсивном I/O(что интересно, даже на не системном диске) или CPU load.

curver
()

этим всем можно заниматься только, если вот вам прямо хочется FreeBSD и вы такой весь олдфаг и готовы читать мейл-листы.

Если вам прям хочется, то для понтов - как я понял.

Если кому интересно, почему я не использую здесь ZFS, спросите меня.

Почему? Я не могу не спросить, почему ты перешел на фряху и не используешь при этом её преимущества - бздуны ж будут смеяться.

И вот хочу бороться с мифами

Ты тёмную сторону выбрал, по глазам видно

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

Я слишком ноль в том, чтобы возражать на твои проблемы, поэтому могу только поздравить с переходом.

Clockwork ★★★★★
()

pf - устаревшая версия из OpenBSD. ---

Кажется, 4.2, поскольку Глеб Смирнов, который glebius кажется году так в 2015 переписал опеночный pf во фре почти с нуля с поддержкой многопоточности и прочих ништяков, и потом его еще хотели обратно в опенок запихать, но не получилось и они там как-то по другому запихивали многопоточность.

Да, кстати в макоси кажется тоже pf.

Slack ★★★★★
()
Ответ на: комментарий от chenbr0

А там ничё не настраивается в плане цвета. Я думал, починят косяки. А они добавили. И с размером шрифтов бяда. Всё через реестр. Ну и иногда она что-то делает в фоне, а выключить ничё низзя, а то VS 2022 сразу ломается и толку тогда от Win совсем нет. И индусы попутали настройки всего и вся, так что простые телодвижения теперь не прокатыают, всё типа скрыто от пользователя. Иногда вылезает окно с конфигом из Win 7, что, мягко говоря, дико выглядит рядом с закруглёнными «красивыми» окнами. Ну и, падла такая, очень цепляется за учётку. Если ступил и где-то внёс, то всё резко под неё подцепится. И Edge и Skype и вход в систему… Потом бяда с выковыриванием. А у нутрях тама печаль сидит. Скорость сети скачет на ровном месте с проверками, защитами, тестом и отправкой «куда надо».

И баги, интерфейс иногда пропадает, перезагрузка. От чего отвык.

Not_a_Troll
()
Последнее исправление: Not_a_Troll (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.