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)
Ответ на: комментарий от firkax

Так надо было 12.х ставить если стабильность хочешь.

А есть таки большая разница в стабильности между релизами?

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

Не могу сказать. Релиз.0 я использовал только один раз (это было 8.0), потом всегда начиналось с .1 или .2. На 8.0 признаков нестабильности не замечал. Но утверждения что .0 это бета видел много раз.

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

Зачем? Это вроде экспериментальная фича.

за тем, чтоб ты спросил. видишь, работает.

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

А есть таки большая разница в стабильности между релизами?

чем дальше от .0, тем стабильнее. .0 - это еще публичная бета по сути. с ними постоянно проблемы.

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

Много букв.

я заметил, спасибо.

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

можно-то можно, не понял зачем. ну ладно. я вообще не понимаю, как что-то там запускают, потому что не закрыт баг линуксолятором

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249381

исправления, может, только если в 13ую ветку попали. вот я у себя на 12.3 этот баг вижу.

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

но что действительно доставляет неудобство, это то, что поменялось поведение Хового буфера. копировать-вставить. и MC стал вставлять мусорные сообщения в bash history:(

вот на раскопку такой фигни время действительно жалко, а жизнь портит сильно.

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

А что не так с иксовым буфером? У меня вроде все также, как и в линуксе. Ты уверен, что mc мусорит bash history, а не tcsh history?

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

с Ховым буфером речь о копировании в буфер при помощи простого селекта мышкой. поведение теперь такое, что если окно, _куда_ будет вставка, уже существует, то все проходит как надо. а если ты сначала скопировал, а потом запускаешь программу, то буфер теряется (перезатирается?). я прошлую систему настраивал в 2013 и уже не помню, что я мог делать на этот счет.

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

отличная идея для следующего скриншота!) и в heroes3 тоже.

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

ты не понял шутку. кому нужны «нормальные игры» сидят на винде и играют.

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

А что не так с иксовым буфером?

пофиксил.

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

Исходя из моего опыта - FreeBSD требует очень сильной допилки для десктопа, а в результате получается покалеченный «линукс». Стоит ли оно того? Я для себя решил что нет. На десктопе ей нехрен делать. Тут у десктопного линукса то косяков и детских болячек хватает, а это прям пандемия из глюков и недоделок.

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

В том и дело что разобрался, максимально все вылизал. Но смысл? Работает ни капельки не лучше линукса, а в некоторых местах и значительно хуже

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

у izen'a все не въехали)) он всю жизнь положил на это дело, а тут понабежали ньюфаги!

максимально все вылизал

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

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

Цели, указанные в теме:

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.

Выполняемы?

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

и вот это еще одна из причин...

12.01.2022, Уязвимость в eBPF, позволяющей запускать обработчики внутри ядра Linux в специальной виртуальной машине с JIT...

13.01.2022, Ещё одна уязвимость в подсистеме eBPF, позволяющая повысить свои привилегии

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

По ссылке crypt видно, что pf в FreeBSD вроде бы и есть, но отстаёт от OpenBSD'шного где он изначально пилится; к тому же, авторы OpenBSD - они же и создатели pf, поэтому pf в OpenBSD будет чуть более гарантированно работать.

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

Это юридический мунспик чтобы отмазаться от претензий всяких криворуких ;) А так, я верю что ребята стараются и не будут специально косячить

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

поэтому pf в OpenBSD будет чуть более гарантированно работать

Смешно читать такие мысли, не подкреплённые ничем, кроме авторитета создателей.

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

С удовольствием выслушаю, что у тебя не получается с PF на FreeBSD.

за сколько пофиксят баг во FreeBSD (комментарий)

Slack глянь при случае тоже эту ссылку.

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

тут еще такое мнение есть Переход с Linux на FreeBSD. Успех, но... (комментарий)

OpenBSD pf и FreBSD pf - два разных файрвола с похожим синтаксисом. ну, наверное, можно это по коду будет проверить.

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

нет, не угадал, специалист ты наш. опять разжевать надо? ок... разжую...

allow | accept | pass | permit
             Allow packets that match rule. The search terminates.

видишь слово terminates?

     setfib fibnum | tablearg
             The packet is tagged so as to use the FIB (routing table) fibnum in any subsequent forwarding decisions.  In the current implementation, this is limited to the values 0 through 15, see setfib(2).  Processing continues at the next rule.  It is possible to use the tablearg keyword with setfib.  If the tablearg value is not within the compiled range of fibs, the packet's fib is set to 0.

видишь continues? понял разницу? и это только верхушка проблемы. видишь, все твои «бу-бу-бу», «они просто тупые» просто ни о чем. поэтому я с тобой и перестал разговаривать.

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

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

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

а с манжаро, арчами, федорами и гентами сравнивать не берусь, там все бывает

над тобой гентушники когда-то надругались, что ты теперь в любой теме пытаешься gentoo поливать?

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

типа того. я опробовал на своей шкуре в течении длительного времени. меня интересует в опенсорсных системах именно стабильность (это профессиональное), поэтому по этому критерию они sux.

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

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

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

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

стабильность (это профессиональное)

пххххахахахахахахаха!!!!!!!!!!!!!!

а какая у вас профессия? не стесняйтесь. сюда уже никто посторонний не заглянет.

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

ну смотри, ты меня не совсем понял. я же сразу написал в топике:

Во-первых, надо полностью развеять миф о бОльшей стабильности FreeBSD по сравнению с Linux.

то есть я не перешел на FreeBSD из-за стабильности и не утверждал этого, хотя оценка по критерию стабильности для меня важна на работе (сейчас я не работаю).

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

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

p.s.

кстати, раз уж ты мне отвечаешь на форуме, ты мое письмо видел?

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

когда я слышу «ну смотри», я готовлюсь к тому, что меня сейчас будут пытаться рассмешить.

оценка по критерию стабильности для меня важна на работе (сейчас я не работаю).

ну, звони, когда работать будешь. поговорим о стабильности.

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

неуспех породил неприязнь. объясняет почти все. спасибо за откровенность.

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

неуспех породил неприязнь

я правильно понял, что облажался ты, я gentoo и те, кто пользуется этим дистрибутивом, виноваты?

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

я в афгане с 27 сентября 85 по 13 апреля 87 «провел». я могу все

если ты служил в афгане, тебе сейчас должно быть 53-54. я сейчас с таким человеком переговорил. он спокойный и рассудительный. а тебе, суда по разговору, генту и попытке затеять срач, сейчас двадцать с небольшим в лучшем случае.:) не сходится:)

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

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

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

Почему ты всё еще критикуешь стабильность, если я тебя уже по этому поводу порвал?

Вот давай разберем твой первый пункт.

Стабильность означает много разных вещей. FreeBSD очень редко дает сбой (и если это происходит, то обычно из-за аппаратных сбоев), но если десять лет назад это было большой похвалой, то теперь это ожидаемая функция для любой операционной системы. Стабильность во FreeBSD означает гораздо больше. Это означает, что обновление системы не требует обновления пользователя. Интерфейсы конфигурации со временем меняются, но только тогда, когда на то есть веская причина. Если бы ты научился использовать FreeBSD в 2000 году, большая часть твоих знаний все еще была бы актуальна.

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

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

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

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

я перешел на FreeBSD из-за того, что мне перестал нравиться линукс в смысле философии

То есть из-за понтов? Или я тебя не правильно понял?

Clockwork ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.