LINUX.ORG.RU

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

 , , ,


9

4

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

Под новый год сдох последний 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 ()

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

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

Хочу штоб как PA, но без PA.

Я, конечно, очень нежно люблю бздю, но можешь всё-таки попытаешься избавиться от энтого своего «No Poettering allowed»? Попахивает сектантством, даже не религией. Может жизнь заиграет новыми красками, а волосы станут мягкими и шелковистыми, не будет кернел паников, сегфолтов пакетного менеджера.

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

можешь всё-таки попытаешься избавиться от энтого своего «No Poettering allowed»?

чтобы что? я не люблю поттеринга (именно как инженер инженера). «Хочу штоб как PA, но без PA.» - прикинь, это законно!

Попахивает сектантством, даже не религией.

«лор против сектанства»??! это что-то новенькое!

Может жизнь заиграет новыми красками

для этого мне таблетки выписали

а волосы станут мягкими и шелковистыми

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

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

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

Я, конечно, очень нежно люблю бздю

прости, если задел твои чувства.

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

No gstreamer

Что с ним не так?

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

Сейчас активно вытесняется pipewire

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

Сейчас активно вытесняется pipewire

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

Что с ним не так?

см. выше.

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

случайно нашел пару sysctl сетингов, которые это решают

Почему бы не рассказать про это подробнее, вдруг ещё кому пригодится…

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

да, конечно, резонное замечание.

# /boot/loader.conf
# to fix g_vfs_done error 11
kern.bio_transient_maxcnt=8192
crypt ★★★★★ ()
Ответ на: комментарий от smilessss

xfce можно сделать таким

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

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

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

crypt ★★★★★ ()

Естественно, FreeBSD развивается очень медленно, а на линуксе тем временем тяп-ляп глючный пульсаудио

Неправда, на линуксе пайпвайр.

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

что там по ссылке? буханка?

Ну конечно.

я что-то перегорел с линуксом, а тут я вновь чувствую какой-то вкус.

Тогда удачи с фряхой.

fernandos ★★★ ()

Убедил остаюсь на линуксах. =)

исходники иконок в SVG недоступны

Интернет всё помнит, наверное надо получше поискать.

LINUX-ORG-RU ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

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

crypt ★★★★★ ()

А что, с тех пор, как из OpenBSD выкинули старый PF, что-то поменялось в протоколах TCP/UDP/ICMP/IP?

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

Попахивает сектантством, даже не религией.

А чем первое хуже второго?

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

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

crypt ★★★★★ ()

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

UFS2+SU нужен, чтобы иметь возможность работать с моментальными снимками и фиксить ФС во время работы с ней.

UFS2+GEOM Journal — это устаревшая технология традиционного журналирования.

UFS2+SUJ — это гибридная технология быстрого восстановления ФС после сбоев во время старта. Не поддерживает моментальные снимки, либо с ними возникают всяческие сложности.

Попытка превратить FreeBSD в ещё один аналог GNU/Linux (химера) до добра не доводит, а приводит к разочарованию.

iZEN ★★★★★ ()

Естественно, FreeBSD развивается очень медленно

Чего не хватает в современной FreeBSD 13-STABLE?

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

Чего не хватает в современной FreeBSD 13-STABLE?

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

crypt ★★★★★ ()

У FreeBSD традиционно сложные отношения с определением устройств.

Лично у меня нет ни одного устройства, которое бы не подхватила FreeBSD.

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

На https://www.deviantart.com/eqlovelace/art/Old-GNOME2-Icon-Theme-192943815 вроде тоже самое значки gnome-delev одинаковые, ссылка рабочая только зарегаться надо на девиан арте и под постом картинки тыкнуть загрузить. Тока там пнг а не свг

LINUX-ORG-RU ★★★★★ ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

Они не могу определиться, развивать свое или копировать с линукса udev. В итоге они делают и то, и то и в результате по-умолчанию нифига не работает, конфигурация Xorg’a превращается в разбор внутренней кухни этих заморочек.

FreeBSD использует традиционный devd.

Xorg написан линуксоидами для себя, так как в своё время из комитета Xorg выгнали с треском товарищей, «которые нихера не далали, а только мешали» — представителей Apple, FreeBSD и Solaris.

Получите результаты линуксоизации X.Org: линуксовый KMS + LLVM + Mesa + калечный xorg-server с набором драйверов, завязанных на архитектуру ядра Linux.

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

FreeBSD использует традиционный devd.

а новый Xorg с версии 12.1 там использует udev. о чем я и говорю. у людей внезапно стали недоступны клавы и мышки после апдейта.

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

UFS2+SU нужен, чтобы иметь возможность работать с моментальными снимками и фиксить ФС во время работы с ней.

только это не те снимки. абсолютно бесполезные.

результаты линуксоизации

бу-бу-бу

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

Используй Bhyve для виртуализации GNU/Linux, чтобы не мучаться от отсутствия снимков или рабочих устойчивых CoW ФС в GNU/Linux.

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

только это не те снимки. абсолютно бесполезные.

С dump/restore, значит не работал и не знаешь, что это такое.

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

слушай, ты меня достал уже с этим bhyve! я тебе еще в прошлом треде дал ссылку, когда он совершенно бесполезен. ты такой тугой или это религия?

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

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

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

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

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

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

В теории можно разделить по цветовым каналам, потом в инскейпе каждый канал обвести контуром, потом все каналы свести. Это вручную, или можно разделить по каналам перевести каждый в signed distance field заапскейлить до любого нужного размера и сохранить, затем каждый канал заапскейленый монохромный свести в одну ргба картинку. А изначально то вообще свг исходники были когда то? Может их и не было никогда.

LINUX-ORG-RU ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

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

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