Как стать автором
Обновить

Комментарии 91

Отличная техническая статья. Но если рассматривать с точки зрения заработка денег, то навыки работы во freebsd практически невозможно продать. Я уже много лет не видел ни одной вакансии (но и не искал специально), где бы требовался навык работы в или навык разработки под freebsd.

Фря это не для работы, это для души!

В Google, Facebook или Netfix не пробовали устраиваться ? По слухам там весь backend на фрюхе.

В Netflix - да, там действительно FreeBSD есть. В Гугле точно нет, но людей с опытом FreeBSD туда вполне таки берут. Про Facebook ничего не могу сказать.


Еще раньше Juniper Networks и NetApp в своих устройствах использовали FreeBSD, но это было давно, как сейчас - не знаю. Судя по тому, что они все еще спонсируют проект, похоже, что по прежнему пользуют.

juniper съехал с freebsd в последнем поколении junos https://www.juniper.net/documentation/us/en/software/junos/overview-evo/topics/concept/evo-overview.html , но очевидно что "старый" junos будет поддерживать (и даже развиваться) еще не один год

Поиск на HH с ограничением по Москве выдаёт вакансии, где упоминается FreeBSD. Понятное дело, что их существенно меньше чем на Linux.
Насчёт навыка работы под FreeBSD... Как по мне - если знаешь один *nix, то все последующие изучить проще. Но спорить не буду - открывать HolyWar FreeBSD vs Linux не хочется. ))

Это было актуально во времена восьмерки, когда фрибсд была еще клоном bsd unix и была простая как топор, потом фрибсдшники занялись велосипедами (geom и прочее)...

ну раз ОС релизится, значит кто-то же ее использует, тут наверное речь про то, что если в мск 49 вакансий (и как я вижу, в других странах ситуация не сильно отличается), то вопрос о том, имеет ли смысл вкатываться в freebsd с точки зрения работы на дядю или создания своих проектов

FreeBSD до сих пор эксплуатируется почти у всех интернет-провайдеров - тяжеловесные биллинги и CRM работаю на FreeBSD и PostgreSQL. Другое дело, что независимых провайдеров в России осталось с гулькин нос - всё подмяла под себя "большая четверка".

Конкретно в моём городе (Тюмень) есть вакансии админов-программистов у двух разных интернет-провайдеров плотно эксплуатирующих фрю. Если интересно - обращайтесь, сведу.

Тяжеловесные биллинги, реально тяжеловесные, в которых клиентов от миллиона, используют Solaris на SPARC-ах и Oracle DB. Хотя в последние годы наметилась тенденция ухода с Solaris на Linux x86 (OracleLinux). Но из за недостаточного количества вычислительных потоков у процессоров x86 (по сравнению со SPARC) приходится заниматься шардированием всё той же Oracle DB.
FreeBSD применяется в Российских железках обеспечения сетевой безопасности: Континет, VipNET

Вы говорите про "большую четверку" - да там всё окупировано Ораклом. Я же про всех остальных. Оракл это очень и очень дорого, местные провайдеры таких трат потянуть никогда не могли и не могут, а биллинг считать как-то надо. FreeBSD в этом секторе обосновалась еще с конца 90-х и начала 2000-х (тогда Linux считался детской поделкой). При этом биллинг такая штука которую практически невозможно заменить - она обрастает мхом и всякой разной порослью, которая за годы эксплуалации костенеет и превращается в гранит.

У меня есть забавный пример. Один их местных провадеров для которого мы с коллегой в начале 2000-х разработали биллинговую систему для ISP и телефонии (под FreeBSD и на PostgreSQL разумеется). Система получилась простой, модульной, легко расширяемой и масштабируемой. Она быстро обросла всяким разным - в неё затащили CRM, мониторинг сети, карты каналов связи, кабельное TV, и даже часть бухгалтерии (все это уже без нашего участия). Так вот, этот провайдер за 20 лет предпринимает уже четвертую попытку перейти "на другой" покупной биллинг, платит кучу денег консультантам и программистам, и всё никак - слишком сильно прикепело. Пару лет назад я даже пытался помочь им в этом деле, но после небольшого погружения в текущие реалии понял, что бесполезно - придется им с этим легаси жить до конца дней своих. :)

https://hydra-billing.ru/ - использует оракл на linux. Вполне себе для небольших провайдеров.

Искренне сочувствую счастливым обладателем этого биллинга.

Сетевики довольно интенсивно ее используют.

Ну и pFsense на фряхе, если они не переехали оттуда никуда, что вряд ли, конечно.

Очень крутой мануал! Хоть и не пригодится, но за труды спасибо!

А про KDE как-то вскользь. Всё равно придётся искать хороший канал об аниме...

Вопрос "как пропатчить KDE под FreeBSD" давно не актуален, кеды ставятся на фрюху с пол пинка. А так как кеды я на дух не переношу, то опыта с ними у меня очень мало, писать не о чем.

Если будет время, то напишу про Xfce4. Но с этой оборочкой каких-то системозависимых нюансов я пока не наблюдал, всё те же проблемы что и под линухом.

В этой статье я не будут касаться установки и настройки специализированного ПО и прочих САПР


Можно ли расчитывать на продолжение в этом направлении?

Можно. Но тут коллеги комментом выше пишут, что на фре денег не заработать. ;-)

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

А как насчёт столь же красивой инструкции по виртуализации (виндовые пакеты таки бывают нужны)? Больно хорошо и понятно на мой неиспорченный Линуксом взгляд написано.

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

Про виртуализацию (bhyve) написать определенно надо. Но у меня в ближайших планах рассказать про KiCAD на фре, так как это для меня один из основных рабочих инструментов сейчас.

Тыкайте смелее! Линуксы нынче вполне юзабельны даже «домохозяйками».
Меня как-то доставал один коллега с прошлой работы с переустановками винды. Пока я не поставил ему первую попавшуюся линуксятину. Это оказалась SUSE. И коллега меня доставать перестал.
Через несколько лет стучится в мессенджер с каким-то вопросом, а в мессенждере показывает: «Пишет на SUSE Linux». Я удивился:«Что, жива ещё SUSE?»
«Да! Такая классная штука! Я себе и дома на все компы поставил и старикам своим тоже...» А хлопец совсем не программист и весьма далёк от компьютеров.
Мне же не операционка нужна, а нормальная рабочая среда для прикладных пакетов. То планшетное поделие, в которое превратилась винда, меня возмущает, но максимум, который я могу получить с Дебиана — поставить на него FF и гулять в инете, что я, собственно, и делаю.

FF, надо заметить, так паскудно похож на W10, что злости не хватает, а кошерную PaleMoon третируют все, кому не лень. Все остальные мои инструменты работают под виндой, причём свободного времени (и желания) на «попробовать» нет, а жизнь пока позволяет уворачиваться от роста над собой.

Вдобавок плавно и неизбежно подползает вопрос нового железа, на которое уже нельзя поставить W7x64, а с ним вместе проблема новых версий софта, требующих W10+. Решением могла бы стать виртуализация с опорой на Линух или BSD. Но отсутствие должной квалификации вынуждает сидеть на берегу реки и высматривать проплывающие мимо мануалы. Базовый вот появился. Ща обсохнет малёхо и пойдёт на раскурку.

А там, глядишь, автор нетленку про KiCAD подгонит… Заживём!

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

М.б. накачу на соседний раздел на ленововском ноуте =\

Скажем так, мне потребовалось около полу года регулярых ночных приседаний для того, что бы заставить фрю работать на своём ноутбуке. При этом, поддержка AMD GPU заработала буквально пару месяцев назад после выхода нужного патча, а я тут выступал в роли одного из бетатестеров. И еще не все проблемы решены - ждем новый Xorg.

Сдаётся мне, что установка BSD на мой ноут заняла раза в 3 меньше времени, чем чтение этой статьи :)

А вообще — весьма неплохо про установку системы именно в применении к ноутбукам. «Нестандартного» железа там хватает. И чем новее ноут, тем его больше.

Спасибо, очень познавательно.

У меня есть тоже collocation-сервер с FreeBSD которому уже лет 18 наверное. Кто-нибудь может посоветовать как его лучше всего обновить на что-нибудь лучшее и современное? С BSD я плохо дружу в отличие, например, от RedHat. На сервере крутится десяток сайтов под nginx/php/mysql и ещё там же поднят dns и mail серверы unbound/communigate. Что можете посоветовать в замен FreeBSD с таким же набором софта, промышленной нагрузкой и специфичной версией php? (обновлять движки сайтов под современный php проблематично)

Зачем нужно это обновлять? Пусть так и работает

закрытие различных CVE?

если 18 лет используется специфичная версия php, то закрытие какихто там CVE думаю уже неважно

Можно попытаться применить метод "последовательного апгрейда" системы - весь старый софт должен остаться рабочим. Во всяком случае, станет понятно какая предельно достижимая версия ОС работоспособна с Вашим набором софта. А там дальше можно постепенно апгрейдить софт.

Я недавно затушил кластер из десятка машин 6.4-RELEASE - фирма закрылась, а так бы еще трудились. Так же у меня на нескольких серверах и маршрутизаторах трудится 9.3-RELEASE. Все основных проблемы с безопасностью на них я позатыкал уже давно, не вижу смысла апгрейдить ОС. Работает - не трогай! :)

НЛО прилетело и опубликовало эту надпись здесь

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

	root@butterfly:/home/rz # /etc/netstart

netstart в etc - это разве не legacy двадцатилетней давности?

вроде как рекомендуемый подход:

service netif restart

или для уверенности

service netif restart && service routing restart

?

Все верно. Далее по тексту используется именно service netif start.

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

Мне BSD очень понравились, но расскажу истории неудачи (очень надеюсь, временных неудач).

Я сам - линуксоид со стажем :D (хоть и небольшим). Добрался до арча, до Void'а (дебиан и девуан нейтрально, убунту такое ощущение что подтормаживала даже на в общем-то неслабом железе, слака просто как-то не зашла, а генту и LFS даже не пробовал - ни к чему мне такие проблемы), и решил попробовать FreeBSD

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

Дальше через некоторое время поизучал это дело на досуге, всё пошло во много раз лучше.

Однако тут меня застигла вторая беда: хватило мне "ума" вынуть файлы, форматнуть ЖД на UFS2 (с FAT32), причем не geom'ами какими-нибудь, а fdisk'ом (который булькнут про какую-то там ошибку в GPT! но поскольку всё работало даже так, "ума" хватило не пытаться спасать ситуацию, а оставить как есть, "работает же"), потом перенести туда их обратно, после чего... правильно, записать на флешку iso-шник, для этого запустить dd, по ошибке указав в качестве of= именно этот жесткач. Поскольку UFS, в отличие от всех остальных ФС, записывает системную информацию в каждой т.н. "группе цилиндров", то есть по всему диску, то она запорола все старенькие остатки остальных образов (exFAT, NTFS, ext4 - оставшихся ещё со времён виндузятничества и линуксятничества), а из-за ошибки уже в геометрии диска не особо поддаётся восстановлению сторонними программами.

Кроме того, ещё одно важное уточнение для тех, кто не в курсе: команда rm в UFS/ZFS в общем случае необратима (если не было бекапов), автоматическое восстановление невозможно, только ручное. Это, с одной стороны, очень круто и логично, так наверное и должно быть, с другой стороны это непривычно и может сыграть с вами злую шутку.

Повторю: я в этом деле очень сильно новичок, но пока вот так.

Ну и в завершение третья неудача :), это я установил DragonFly BSD, очень хотел попробовать ею попользоваться, но увы, если в FreeBSD всё завелось с полпинка, включая wifi-свистелку, подключаемую по USB, то в DragonFly закидывание ядерных модулей (.ko), увы, не особо помогло, такое ощущение что я что-то упустил. Буду, конечно, пробовать ещё, потому что система очень интересная (очевидно, мне нужно дойти до страданий над установкой приложений, чтобы отказаться от этой затеи) - это и гибридная архитектура, чуть ближе к микроядерной, и собственная (как считают разработчики DragonFly, лучшая) файловая система HAMMER (хочется попробовать, посмотреть чем же лучшая), и так далее.

Но ещё ко всему этому добавляется тот факт, что в DragonFly практически нет собственной документации, поэтому приходится не просто гуглить, но ещё и сравнивать (что там во FreeBSD, что там в OpenBSD, что там в NetBSD, ага, а теперь главное, что написано в DragonFly и точно ли это про DragonFly, или это копия из чужого хэндбука?).

Такие пироги :)

Что я могу Вам посоветовать. Нужно очистить своё сознание от всего прошлого опыта, от каких либо предубеждение и ожиданий, и начать всё с начала - с установки голой FreeBSD без всяких сомнительных надстроек и доработок и постепенно доводить её до требуемого лично Вам состояния. Не спешите ставить Иксы. Научитесь плотно работать в командной строке и решать в ней все свои задачи (для этого рекомендую установить утилиту screen). После того, как Вы поймёте, что любая проблема решаема в терминале и к Вам придет осознание того, что графика это совершенно лишняя нагрузка и обуза, в этот самый момент можно начать с установки голого Xorg, без WM и DM. Постепенно вкатываясь увеличавайте сложность, но не упускайте контроль за ней. Главное - понимание того, что Вы делаете и что происходит "за кадром". В конечном счете у Вас получится своя, уникальная система, заточенная под Ваши нужды и Вы будете в ней единоличным хозяином - Вы будуте командовать совей ОС, а она Вами.

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

Откуда Вы взяли, что команда rm должна быть откатывабельной ? Разве Вы не слышали про универсальный патч Бармина ? ;)

Спасибо за рекомендации!

Что касается иксов, то уже во время стадии "арч" в принципе стараюсь их по возможности не использовать. Исключения - просмотр любой графики (в линуксе есть обход в виде фреймбуфера, в bsd пока не разобрался), в том числе в интернете и просмотр всяких документов, особенно с иллюстрациями (PDF, .docx,... ). Увы, далеко не всё в нашей жизни люди передают в виде программного кода, разметки или содержательных описаний... :)

Так что с утверждением "графика это совершенно лишняя нагрузка и обуза" соглашусь только когда речь идёт об общении с машиной. Когда только общаешься с людьми, причем на разные темы, графика то и дело, да выплывает. Я студент, причём околомашиностроительной специальности, у нас графическая информация используется даже слишком часто :D

Что касается screen, то спасибо за рекомендацию, но я пользовался аналогичным, возможно чуть более "попсовым" tmux'ом, но в итоге плюнул, и как правило держу диалог с компьютером просто сидя на нескольких виртуальных терминалах, и переключаюсь по ним по ctrl+alt+fX (где fX = f1, f2, ...).

Постепенно вкатываясь увеличавайте сложность, но не упускайте контроль за ней. Главное - понимание того, что Вы делаете и что происходит "за кадром". В конечном счете у Вас получится своя, уникальная система, заточенная под Ваши нужды и Вы будете в ней единоличным хозяином - Вы будуте командовать совей ОС, а она Вами.

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

Я в какой-то момент вовсе был охвачен идеей использовать только язык Форт для решения всех задач прямо на голом железе (язык этот примечателен тем, что, подобно Лиспу, позволяет вводить собственные управляющие конструкции; но, в отличие от Лиспа, он в своей основе крайне низкоуровневый и имеет в своей среде исполнения некоторые признаки операционной системы), построить абсолютно свой аппаратно-программный комплекс, даже не операционную систему, но увы, этот порог вхождения практически недосягаем, поэтому пришёл сначала к *nix как таковым, и наконец пришёл к хорошей классике :D

Откуда Вы взяли, что команда rm должна быть откатывабельной ? Разве Вы не слышали про универсальный патч Бармина ? ;)

Про патч Бармина конечно слышал :D да нет, это видимо ещё один стереотип, оставшийся наверное со времён школьных уроков информатики - допущение, что если во всех ранее встреченных файловых системах (NTFS, FAT32, exFAT, Ext2/3/4) автоматическое восстановление удалённого файла на HDD возможно (если сразу же броситься восстанавливать, если данные не будут перезаписаны чем-то ещё новым, и так далее), значит (а вот тут как раз и есть логическая ошибка) якобы просто нет таких ФС, где это нельзя сделать. Оказалось, такие ФС есть :D

Загрузите профиль системы на bsd-hardware.info, если не сложно, чтобы и другие могли узнать про совместимость железа перед покупкой. И там в комментах к железу можно оставить ссылку на эту статью

Загрузил.

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

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

Вы можете применять FreeBSD когда и где угодно. У меня она трудится на всех серверах уже третий десяток лет. На ноут фрюху я поставил недавно, где-то с год назад. Такая длинная задержка перехода была вызвана тем, что мне по работе нужны были различные тяжеловесные САПР которое кроме как под Винду ни под что иное не работают. Года два назад мне пришло осознание, что все эти САПР можно заменить на СПО и я постепенно начал отказываться от них и переходить на свободные аналоги. В какой-то момент Винда стала просто обузой и была заменена на фрю.

А можете рассказать о вашем переходе? Какие сапр на что заменили?

Мне очень нрпвится fusion360, но есть ли его свободный аналог?

Fusion 360 мы заменили на FreeCAD и КОМПАС-3D под Wine (на Компас ранее была приобретена лиценциия). Cadence OrCAD/Allegro - на KiCAD. Лиценция на Cadence была сильно урезаной, KiCAD дает в разы больше возможностей чем у нас было в Cadence. Векторную графику на Inkscape. Растровую - на GIMP. Ну и много разных утилит по мелочам.

К сожалению, у Fusion 360 нет свободного аналога столь же удобного и функционального. FreeCAD - мощное средство проектирование всего: 2D, 3D, расчет конструкций методом FEM. Но у FreeCAD есть две проблемы: 1) катастрофически неудобный, нелогичный, запутанный интерфейс местами требующий использовать python, и 2) движок на котором он работает - однопоточный (так же как и в SolidWORKS кстати).

Я все надеюсь запустить Fusion 360 в Wine на FreeBSD. Тут есть концептуальная проблема - WoW64 который в Wine для FreeBSD пока что не поддерживается, но есть надежда.

Ностальгия... Начинал знакомство с юникс системами с FreeBSD больше 20 лет назад...

Очень детальное руководства для новичков с разбором типичных проблем, мотивирует снова попробовать в качестве десктопа, спасибо! Раньше в этом качестве было совсем тухло.

Из замеченного - в 5й главе продублировался последний абзац.

Спасибо, подправил.

Загрузка статьи на Хабра заняла более четырех часов чистого времени. Это была борьба Давида с Голиафом.

Большое спасибо за статью. Занёс вашу энциклопедию в закладки.

Рад стараться.

Начинал с FreeBSD как админ серверов и пользователь. Тусил на bsdportal.ru и вёл мини FAQ как сделать фрю более десктопной, но, годы спустя, ушёл на Linux. Сейчас кроме ностальгии, FreeBSD не вызывает ничего. Пару лет назад произошёл интересный случай. Нужно было потестить NetFlow для коллег-сетевиков и что-то дёрнул меня чёрт поставить на тестовый сервер Фри, пока компилировал понял что я толи постарел, толи меня меня уже не прикалывает длительная процедура компиляции. Переставил систему на package based linux. И больше к Фри не возвращался. Первая любовь, но пути наши разошлись.

Фря хоть и жутко консервативна, но всё равно постепенно претерпевает изменения. И если скажем с ней не работать лет 5, то заглянув в очередной релиз можно слегка потеряться. :-)

А в чем пробема-то была и зачем потребовалось компилить ядро ? Вроде как во фре все сетевые привороты вкомпилены в ядро по-умолчанию. В крайнем случае модули подгрузить (kldload ng_netflow.ko). Или у Вас что-то совсем особенное ?

В начале 2000-х у меня было решение на фре по сбору netflow для биллинга, тогда трафик тарифицировали помегабайтно - было очень актуально.

Спасибо за огромный труд!
FreeBSD- это для души (мне она запала в душу и тронула сердце начиная с версии 4.10). Каждый раз прикасаясь к ней узнавал, что-то оcобенное (Netgraph, Geom, NanoBSD, ZFS...). Дома она трудилась на меня (роутер из древнего ПК) довольно долго примерно с версии 6.1 до 11.2 . До сих пор использую ее в файл-сервере (SMB, ZFS, WEB).

Я даже не знаю, есть ли аналоги GEOM/gmirror и Netgraph для Linux ? Для меня установить фрю на gmirror с дублированием 1+1 это естественное решение, оно спасало мою шкурку десятки раз. Не знаю как линуховоды живут без gmirror. ;) ZFS в Linux-е тоже совсем недавно.

Знаю про md, но IMHO это совсем не то.

>Знаю про md, но IMHO это совсем не то.

И чем же оно "не то"? Что умеет на порядок больше?

Currently, Linux supports LINEAR md devices, RAID0 (striping), RAID1
(mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, FAULTY, and
CONTAINER.

Так же можно сделать силами LVM, BTRFS. +ZFS. И кстати, ZFS on Linux уже несколько лет как обгоняет фряшную реализацию... фря это стагнация, 20 лет назад был смысл использовать, сейчас нет.

p.s. Из мира FreeBSD лишь привязанность к tcsh осталась. Хотя, справедливости ради, zsh скорее всего круче, просто лень.

И кстати, ZFS on Linux уже несколько лет как обгоняет фряшную
реализацию... фря это стагнация, 20 лет назад был смысл использовать,
сейчас нет.

У Вас устаревшая иформация. Фря с версии 12.2-RELEASE совместима с OpenZFS, а с версии 13-STABLE перешла на неё полностью:

rz@butterfly:~ % zfs version
zfs-2.1.4-FreeBSD_g52bad4f23
zfs-kmod-2.1.4-FreeBSD_g52bad4f23

А у Вас ?

>У Вас устаревшая иформация

Я, судя по всему, фрю выбросил, когда вы детсад посещали.

OpenZFS до недавних пор назывался ZFS on linux. Что особенно смешно - иллюминоиды много лет макали носом в фекалии фряшников, мол у нас труъ, у вас не труъ. Фряшники пытались макать линуксоидов - мол ваш ZoL ещё больше не труъ, чем наше нетруъ.... но в итоге всё случилось как и в остальных фичах - линукс вырвался вперёд. Ещё скажите спасибо, что ZoL для вашего удобства подпилили, несколько лет назад у вас были большие проблемы с интеграцией обновлений. Сейчас получше, но всё равно бзды второй сорт. Можно зайти на сайтец и посмотреть под какие ОС обновы доступны сразу.

xbps-query -Rs zfs

[-] zfs-2.1.5_2 Z File System -- userland, pyzfs, and kernel modules (using DKMS)
[-] zfs-devel-2.1.5_2 Z File System -- development files
[-] zfs-pam-2.1.5_2 Z File System -- PAM integration

Я, судя по всему, фрю выбросил, когда вы детсад посещали.

Амбициозно.

Резонно встает вопрос: если фрю Вы викинули до её появления, то откуда у Вас глубокие познания о её устройстве ? На форумах прочитали ?

PS: Второй сорт, как известно, не брак - многих устраивает.

>>ZFS on Linux уже несколько лет как обгоняет фряшную реализацию

>Второй сорт, как известно, не брак

чё тогда споришь, клоун?

фряшник - это диагноз )

p.s. чем там mdadm-то не угодил? привык к второсорту?

Спасибо за статью! Было интересно почитать, даже не являясь привержецем *BSD систем. По поводу беспроводного адаптера, по крайней мере в Linix, адаптеры от Intel были не очень чтобы очень. Под Win действительно самые беспроблемные. Посмотрите в сторону Atheros, аля Killer Wireless 1535, коих на али как грязи. В nix Atheros самые беспроблемные карты, кучу точек доступа полнимал на них. И есть шанс, что и во фре модуль допилен получше, чем для intel

Огромное спасибо!
И отдельное спасибо за пдфку )

Спасибо Вам за Ваше время потраченое на прочтение.

Отличная статья. Я когда решил в 2014 уйти с Windows, ушёл именно на FreeBSD. С тех пор на другое и не смотрю, да и мне не надо.

С тех пор я вошёл в айти, коллеги, конечно, хихикают что я из докера jar-файлы вынимаю, но девопсам нравится, что я к ним не лезу.

Про то, что есть возможность запускать безголовый Xorg на второй видеокарте я не знал. nvidia я всегда избегал (потому что драйвера неполноценные, а их наличие убрало стимул поддерживать open source драйвер), а для IntelliJ хватает и обычного Intel.

Лениво ушла от практики зашивать на уровне железа совместимость только с определённым списком ОС и запчастей (вендорлок)?

Спасибо за огромный труд :) Сам пробовал потыкать палочкой в 13.1, и она даже поставилась, и даже всё заработало - помог самый что ни на есть стандартный конфиг на домашней тачке, и похоже повезло с драйверами. Но в полный рост встал вопрос - а дальше что? Ну Firefox есть, ок. Jetbrains для FreeBSD ничего не выпускает, где-то в глубине форума максимально уклончивый ответ, ну и так далее. Вот про это бы статью. Если оно вообще возможно)

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

Вот только вокруг изделий этой фирмы сложилась странная аура неприязни к качеству их продукции и многие фрюховоды и линуховоды настоятельно рекомендуют GPU от AMD в качестве альтернативы.
Это не совсем так, многие как раз предпочитают nVidia, т.к. хоть и блоб, зато работает и каши не просит, а в «красном» лагере спеки готовят и отдают одни, фирмварь пишут другие, драйвера — третьи, связывают это всё в единый графический стек четвертые; в общем, проблем и багов там тоже достаточно.

Во-первых, у ноута нестандартный разъем питания (прямоугольный, чем-то похож на USB Type-A)
Для Lenovo это с 2013 г. стандартный т.н. slim-tip разъем, заменивший собой круглый предыдущего поколения. До появления USB Type-C какого-либо единого стандарта зарядки тащемта не было.

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

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

В bash также присутствует данная фича, но реализована она крайне убого. Хотя, уверен, я просто плохо знаю bash.
Да вроде нормально реализована, причем за это отвечает даже не bash, а readline(3). Просто добавьте в ~/.inputrc пару строк:

"\e[A": history-search-backward
"\e[B": history-search-forward


Однако, в отличие от большинства дистрибутивов GNU/Linux, в ОС FreeBSD есть целых два репозитория: первый называется FreeBSD Ports Collection или в простонародье «порты» [и] так называемые пакеты (packages).
Это не целых два репозитория: дерево портов это субстрат для пакетов. Порты первичны, из них собираются пакеты. Вам ничто не мешает поднять собственный репозиторий пакетов из ванильных портов, при этом включить-выключить какие-нибудь опции сборки или наложить оверлей.

Видно, что в репозитории имеется несколько пакетов с подобным именем. Нас интересует сам компилятор, а значит будем устанавливать пакет llvm13-13.0.1_3
Собственно компилятор в системе уже и так есть, пакет нужен именно для LLVM with all the bells and whistles. Впрочем, этот пакет обычно подтягивается автоматически как одна из зависимостей графического стека.

distfiles — архивы с исходными кодами, затаренные гнутым зипом
В общем случае они могут быть запакованы чем угодно (или не быть запакованы вовсе).

Скажу честно, проблема пробуждения после операции suspend во FreeBSD ранних версий работала крайне отвратительно, но с версии 13.0-RELEASE ситуация радикально поменялась в лучшую сторону.
Ситуация поменялась где-то в районе «семерки», затем было проседание из-за перехода на LinuxKPI-based DRM, пока не полечили основные косяки. Сейчас вроде нормально, да.

Common Desktop Environment (CDE) который мне довелось увидеть на 386-й машине под управлением SCO UNIX в далеком 1993 году.
CDE развивается до сих пор и, конечно же, есть в портах.

Эта древняя и очень полезная фича всегда была включена в X-серверах, но в Xorg её по умолчанию отключили — непорядок!
Тоже недоумеваю с этого факта. Кроме DontZap, ксорг нынче запускается с черным фоном и невидимым курсором. Чтобы вернуть нормальное поведение, есть ключик -retro.

Драйвер для NVIDIA под FreeBSD выкачиваем с официального сайта, распаковываем, собираем и устанавливаем
А можно просто поставить из портов. Порт не всегда поспевает за апстримом, но нужную версию можно передать в командной строке, пофиксить мелкие косяки (если вылезут, что бывает нечасто) и получить нормальный пакет вместо того, чтобы замусоривать систему неучтенными файлами. Это же касается драйверов DRM, которые вы почему-то собираете из бхагавад-гита… Ладно, пожалуй, хватит придираться. :-)

А можно просто поставить из портов. Порт не всегда поспевает за
апстримом, но нужную версию можно передать в командной строке, пофиксить
мелкие косяки (если вылезут, что бывает нечасто) и получить нормальный
пакет вместо того, чтобы замусоривать систему неучтенными файлами. Это
же касается драйверов DRM, которые вы почему-то собираете из
бхагавад-гита… Ладно, пожалуй, хватит придираться. :-)

То, что сейчас есть в портах для NVIDIA и AMD - не работоспособно на моём железе. Не уж-то Вы думаете, что я не догадался установить драйверы из портов ? Для drm-kmod требуется конкретная ветка 5.10-lts с самыми последними патчами. Драйверы от NVIDIA версии ниже 515.48 крэшатся на моём железе, только 515.57 заработал более менее стабильно.

Неужто вы думаете, что я не догадался установить драйверы из портов?
Не думаю, но вообще-то вы явно об этом нигде не пишете.
Драйверы NVidia версии ниже 515.48 крэшатся на моём железе, только 515.57 заработал более-менее стабильно.
Вы меня неправильно поняли или невнимательно прочитали комментарий. Речь не о том, чтобы ставить несвежую версию драйвера, а о том, чтобы не делать это в обход pkg(8). Порт драйвера специально написан так, чтобы собирался с произвольной версией, об этом написано в шапке мейкфайла:

To simplify testing of new feature branches and beta driver versions, the port aims to support building against arbitrary DISTVERSION, i.e. make DISTVERSION=xxx.yy.zz -DNO_CHECKSUM should typically work.

Изредка может потребоваться подрихтовать pkg-plist, для проверки можно сказать make check-plist. В результате у вас будет драйвер нужной вам версии в виде пакета (т.е. его можно снести, проапдейтить и пр.) вместо неучтенных файлов в системе.

To simplify testing of new feature branches and beta driver versions, the port aims to support building against arbitrary DISTVERSION, i.e. make DISTVERSION=xxx.yy.zz -DNO_CHECKSUM should typically work.

Про эту фичу я не знал, проверю - работает ли она. NVIDIA может без обьявления войны поменять формат имени файла или URL с расположением тарбола.

Да вроде нормально реализована, причем за это отвечает даже не bash, а readline(3). Просто добавьте в ~/.inputrc пару строк:

В tcsh свой встроенные редактор строки. Про то, что bash использует readline() я не знал. "Век живи - век учись" сказал Поручик.

Хотел этот материал сохранить себе в виде pdf. Но ссылка в начале статьи ведет на какой-то одностраничный файл :(

И еще в разделе 19 про тачпад ошибка в написании

Section "InputDevice"
Identifier "Touchpa0"
Driver "evedv"
EndSection

Нужно не evedv, а evdev.

Я пару часов назад правил опечатки, видимо что-то пошло не так. Перезалил, проверил, вроде все ок.

evedv подправил.

Сейчас глянул в свой /etc/X11/xorg.conf - там стоит название драйвера с опечаткой (evedv вместо evdev). В логе у Xorg-а ни слова, все работает, но как ??? :-)

Мистика развеялась. У меня в системе имеется дефолтный набор конфигов, в том числе файл /usr/local/share/X11/xorg.conf.d/10-evdev.conf, в котором присутствует соответствующая секция "InputClass" с драйвером "evdev".

Использую фрю в качестве основной серверной платформы 20 лет. Но в качестве десктопа все-таки не решаюсь, очень много привычек. Статья - в закладки, вдруг когда-нибудь )

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

а вот amdgpu "родной" во фре насколько я помню всё таки должен появиться, но сроки мягко говоря "туманны", всем надоевшее "надо просто подождать".

Спасибо за комментарий.

На счет "родного" драйвера для amdgpu. Тут вопрос что считать родным. На сколько я понимаю политику партии, drm-kmod это теперь не только ихнее, но и наше всё. Т.е. драйвера будут тянуть из линуха.

На сколько я понимаю политику партии, drm-kmod это теперь не только ихнее, но и наше всё.

если я правильно понял то это ещё не приговор не окончательно. хотя исходя из причин этого решения очень может оказаться что окончательно..

В 2002 году поставил первый в жизни Linux. Да, там пришлось настраивать руками многое из того, что в нынешних линуксах делается «ващесамо». Но не в таком же объёме, как, если верить этой статье, приходится во FreeBSD 2022 года.

Статья была написана не для того, чтобы показать как во фре всё плохо, а для того, чтобы показать что делать если что-то пошло не так. Фря это конструктор - Вы сами собираете себе такую ОС, которая Вам нужна. И даже если у Вас есть проблемы с железом, то в большинстве случаев их можно разрешить.

Но если с железом и драйверами проблем нет, то достаточно двух команд:

rz@butterfly:~ % sudo /bin/sh -c 'echo "HANDLE_RC_SCRIPTS = true;" >> /usr/local/etc/pkg.conf'
rz@butterfly:~ % sudo pkg inst --yes xfce4 sddm

После чего подождать пол часа и всё готов.

Первая команда разрешает утилите pkg изменять системные конфигурационные файлы и тут же запускать проинсталлированные сервисы. Вторая - просит утилиту pkg безоговорочно выкачать и установить оконный менеджер xfce4 и дисплейный менеджер sddm учитывая все заисимости, в том числе Xorg и все сопутствующие библиотеки.

Не «плохо», а «больше ручками». Причём, в FreeBSD 2022 года в разы больше ручками, чем в Linux 2002 года. Это не плохо, даже интересно, это просто удивило.

В то время как Linux стремится занять место винды, FreeBSD остается верна UNIX-way. Существуют дистрибутивы на основе FreeBSD с графическим инстоллером и прочими рюшечками. Посмотрите на GhostBSD или DragonFlyBSD.

Фря это конструктор - Вы сами собираете себе такую ОС, которая Вам нужна. И даже если у Вас есть проблемы с железом, то в большинстве случаев их можно разрешить.

Соглашусь с автором от части.

Если вопрос касается настольного решения, то да, проблемы с железом почти все можно решить. Долгое время на ноуте именно данная ОС. В серверной части, к выбору железа нужно подходить тщательно. А вот про конструктор полностью поддерживаю, и за это очень уважаю данную ОС, с которой работаю с начала 2000ых. Познакомился еще с 4ой версии. Данная ОС для серверной части и для тех, кто разбирается и хочет разбираться дальше чем next при установке и больше чем выделение квот для пользователей.

А что вы думаете про попытки сделать FreeBSD более user friendly, например, helloSystem?

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

Мало кто знает, но до сих пор есть серверы в интернет на FreeBSD. Например, одна из CDN пока еще не завершила переход на Linux (в процессе) и вполне возможно, что (как результат) как минимум 5% всего трафика интернет еще обслуживается через FreeBSD. (для минусовщиков - это не выдумка).

Прекрасная статья для желающих приобщиться, спасибо. Но глава 10 — это какие-то домыслы и/или фантазии.

Одной из давних особенностей системы является то, что Вы можете установить самый минимум операционной системы на поддерживаемую аппаратную платформу, далее зайти в каталог /usr/src и ввести команду make buildworld, после чего система выкачает базовый компилятор, затем самые последние исходники компилятора, соберет его, а с его помощью соберет ядро и все остальные части системы

Одной из давних особенностей ОС Unix (и FreeBSD) является то, что компилятор языка C является неотъемлемой частью ОС.У FreeBSD нет “минимума”, при любых опциях установки у тебя в любом случае будет полный набор инструментов для разработки (на С). Когда-то это был gnu gcc, сейчас llvm clang. И с тех пор, как был осуществлён переезд на llvm (с версии 10.0-RELEASE), как правило — актуальной версии. Устанавливать llvm 13 имеет смысл только в том случае, если тебе действительно необходима именно эта версия, сама же FreeBSD 13.1 (STABLE) собирается (и разумеется включает в себя) llvm 14

А вот /usr/src в зависимости от выбранных при установке опций может оказаться и пустой :)

Далее, если при установке ОС была выбрана и установка исходников, то ничего больше ниоткуда система выкачивать не будет. Можно вообще оторвать ей сеть и спокойно запускать make в директории /usr/src с любыми target (кроме doxygen). “Базовый компилятор”, повторюсь, это часть “минимума” ОС, как это всегда было в Unix.

Мне почему-то показалось, что в какой-то момент из базового комплекта FreeBSD компилятор был убран совсем, подобно многим дистрибутивам Linux. Сейчас заглянул в base.txz - действительно, в него входит llvm версии 13.0. Посыпаю голову пеплом. Главу 10 перепишу.

Огромное спасибо. Очень хотел всегда сделать тоже самое что автор, всегда кончались мои попытки тоннами боли и отсутствием понятных вариантов как решить ту или иную проблему. Да, эти системы, Linux подобные все имеют одну черту, в команде не хватает хорошего менеджера (поэтому в хендбуке будет написано одно, а Вам нужно будет догадаться, что всё уже поменялось). Хотелось бы посмотреть на современный астериск на фрибсд, я года 3 назад ставил - тогда эта задача требовала напрячься, вот интересно как оно сегодня?

Автор просто герой!

В Астериске ничего глобально не поменялось, не зависимо от того на линухе он или не фре. Есть web-морды для администрирования, но это все очень поверхностно. Что либо более-менее серьезное в Астериске делается только программным путем.

Спасибо за статью, в статье дважды указана строка:
compat.linuxkpi.amdgpu_dpm=1

Спасибо, исправил.

В Linux Debian 11 работает PRIME Render Offload, в том числе и на RTX 3050 с драйверами 460.xx и 470.xx.

Я сделал компактную модульную LiveUSB сборку на основе DogLinux. Для тестирования железа. .squashfs модуль с одной из трех (340.xx/390.xx/470.xx) версий nVidia драйвера выбирается на основе парсинга lspci скриптом в initrd.

Для legacy драйверов 340.xx/390.xx при наличии загруженного модуля ядра i915 автоматически применяется метод XRandR так как в них PRIME Render Offload не поддерживается.

Сделайте такую же сборку для FreeBSD. :)

Для установки с usb или еще каким способом данной оси предпочитаю образ отсюда: https://mfsbsd.vx.sk/

Хорошая небольшая dedicated user system, комментарий набираю в ней к слову. Статья может напугать, в моей практике с установкой все же было проще. Домашняя SIP АТС на ней крутится, я сам на ней часто работаю, и при выборе кому отдать SSD диск из систем вопросов даже не возникало.

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

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

ПО хорошее, но иногда приходится работать и с Майкрософтом. Весь инет, вебкамеры, кад, алгебра (Максима), офис, ... не хватает разве что сравнимой c VS по удобству IDE, но опять же новые не использую, сижу на старом ноуте с VS 2010.

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

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

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

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации