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

у меня пожатый контент.

Метаинформация на ZFS тоже сжимается.

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

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

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

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

iZEN> я тебя выведу на чистую воду!

что поделать! он меня разоблачил=) ничего не поделаешь:) пришел в тред и сразу начал разоблачать плохого линуксоида, который надругался над ЕГО ос! куда мне было деваться:(((

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

Когда ты написал свою! Вон Тео де Раадт обсирает всё на свете, но ему можно, он 2 оси создал с нуля и ваще крутой хакер.

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

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

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

нужно ласково!

[смотрит на аватарку с черепом] ты бы своего оленя не забывал кормить...

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

Щито поделать, я неадекват. :3

4.2 :)

Это не я решил, я лишь цитирую часть активной части ЛОРа.

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

Это то же, что и BDSM, но вместо живого человека, ты делаешь это с ПК с BSD.

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

Так он и на линукс, по мнению некоторых «isn’t ready for general use».

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

А сделай, мне тоже интересно (но не настолько чтобы взяться тестировать).

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

Человеку неинтересно, вот и не играет.

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

Нет такого понятия «не в том возрасте для игр». Руки есть, глаза есть - можно играть.

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

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

Ты вроде ответил на то, что я писал про опенок, и вот в опенке не бывает коммитов без документации.

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

Удалил, но главное дал понять, что псевдонаучный бред мне неинтересен.

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

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

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

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

А я про то, что во фре нет «устаревшей версии pf из OpenBSD». Его переписали почти с нуля относительно недавно. И в опенке тоже переписали.

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

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

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

А я про то, что во фре нет «устаревшей версии pf из OpenBSD». Его переписали почти с нуля относительно недавно. И в опенке тоже переписали.

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

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

Видел что делают, там даже нетфликс работает у людей. Сам таким не увлекаюсь. Считаю что если нужен линукс то надо ставить линукс.

Предположил это потому что Chrome нет для фряши, только Chromium. Уже понял что имеется ввиду родной Chromium.

Жаль что во фряше Chromium плохо поддерживается, есть баги вроде сломанного сохранения файлов и воспроизведения видео. В опенке Chromium всегда свежий, есть там человек что занимается этим.

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

Ну можно и так сказать. Вообще мне всегда хватало man pf, и tcpdump в pflog. Я вот кстати хз, есть ли в линуксе аналог pflog, также как и аналог пфсинка.

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

тогда ничего не поменялось. я в OL6 все также делал.

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

Вообще мне всегда хватало man pf

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

pflog

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

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

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

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

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

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

Разруливал

это ты все еще про OpenBSD или уже про FreeBSD? я, к сожалению, не могу найти мой топик о настройке файрвола. не понимаю, куда он мог пропасть.:(

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

Люди, которые кукарекают о том, что Линукс УЖЕ НЕ ТОТ, вот вам человек кратко описал Линукс, когда он БЫЛ ТОТ.

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

С файловой системой «Ext2» без журнала или сбоку прилепленным журналом — аналогом GEOM Journal и «IPTABLES», в котором чёрт ногу сломит. А разбираться до конца в этом неохота — легче проторённой своей дорожкой идти, как баран на новые ворота с попыткой подобрать к ним ключи «силовыми методами».

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

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

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

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

Враньё. Не знаю, какой обёрткой ты пытался ими управлять, но, во-первых, единственный «ресурс», который старый jail может держать и не давать новому - это имя (а оно не обязательно вообще). Во-вторых, после команды jail -r {jail_id|jail_name} старый jail гарантированно и неизбежно прибивается (сразу) и освобождает имя для повторного занятия. Возможно, ты его выключал каким-то мягким способом и софт (внутри) не хотел сразу завершаться.

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

Ты прав, что их три и что ipfw лучший, но не прав в остальном. Вся документация есть и всё он умеет.

включить журналирование посредством geom, словить баг в gjournal

Кажется gjournal никогда не был особо популярен и на него забили. Теперь журнал в виде SU+J.

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

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

я обе протестировал. паника ядра на 13, ошибки сегментации в юзерспейсе и там, и там. для особо одаренный повторяю: стабильный, ванильный релиз F13.

Не знаю, какой обёрткой

без оберток. просто jail.

не прав, Враньё.

ну да, ну да..

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

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

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

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

Если имя не занято - можно запускать с ним новый jail. Да, у jail-а всего один тип ресурса, который он может эксклюзивно занять. А, ну ещё, если у него больше одного айпи-адреса то они тоже не могут пересекаться, но вряд ли это твой случай. Да и айпи-адрес тоже освобождается.

я трейсил, но не готов тебе на память выдать трейс.

Не надо трейс, какая там была ошибка?

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

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

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

конкретно сейчас я этой ошибки не вижу, но еще вчера была. когда делаешь jail -c, то говорит, что jail exists, когда jail -r, то что ее нету. когда трейс, то, наверное, busy... этого я уже не помню совсем.

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