TechKnow

Článok

pozadie úvodného obrázka
úvodný obrázok

Čím se liší FreeBSD od Linuxu?

Posledná zmena:

Historie a úvod

FreeBSD® operační systém je založen na UNIXovém systému z Berkeley (BSD), jehož první verze vycházela z 386BSD a 4.3BSD-Lite (Net/2).

Zatímco Linux kernel byl Linusem Torvaldsem vyvinut v první verzi v roce 1991, FreeBSD ve verzi 1.0 vyšlo o 2 roky později.

Kvůli tehdejším soudním sporům ohledně licence AT&T většina lidí přešla na nově vznikající Linux (přesněji GNU/Linux), čímž Linux nabral na popularitě, kterou FreeBSD už nedokázalo dohnat.

FreeBSD není známé tak jako Linux, ale stojí za to ho znát nebo i vyzkoušet.

Rozdíly

Architektura

Hlavním rozdílem je původ a že zatímco je Linux pouze kernel, FreeBSD je celý operační systém, kde se vyvíjí celý OS jedním týmem vývojářů, díky čemuž je systém konzistentní a dobře propojený a otestovaný.

Filozofie

Dalším rozdílem je celá filozofie jako taková. FreeBSD se drží striktně rozdělení hlavního operačního systému od externích balíčků 3. stran. Tento přístup umožňuje integritu a stabilitu operačního systému, díky čemuž lze například smazat celý adresář /usr/local/bin a systému jako takovému se nic nestane. Oproti Linuxu, jehož správci balíčků instalují programy do /usr/bin, kde se ale nacházejí i všechny systémové binární soubory.

Při porušení základního systému, například rozbití dynamických knihoven, lze použít /rescue, kde se nacházejí staticky slinkované nejdůležitější binární soubory na nutnou opravu. Ale ne všechny obsahují všechny funkce a nebo je třeba dalších kroků.

Distribuce

Systém distribucí zde funguje trochu jinak. Linuxové jádro dostává userland nástroje a nastavení apod. každou distribucí svoje, oproti FreeBSD, kde „distribuce“ se jedná o modifikovaný celý operační systém nebo jeho výchozí nastavení a aplikace.

Userland

Jeden z dalších rozdílů je absence GNU userlandu, na který jsme zvyklí z Linuxu. Na FreeBSD najdeme jejich vlastní implementaci, opět odvozenou z větší části z původního BSD. Díky čemuž se v základním systému nenachází v podstatě skoro nic pod licencí GPL-2, ale vlastní BSD-2-Clause nebo BSD-3-Clause. Výhodou je, že BSD licence umožňuje zdrojový kód volněji upravovat, dokonce i bez zveřejnění výsledných změn a zdrojových kódů jako u GPL-2. Některé implementace mívají občas jiné přepínače nebo schopnosti oproti GNU nástrojům, jako například make, který má pro svoje Makefiles trochu jinou a nekompatibilní syntaxi, ale to lze řešit pomocí balíčku gmake v repozitářích pkg.

Některé nástroje mají speciální přepínač --libxo, díky kterému lze nastavit výstup programu v JSON, HTML, CSV a dalších formátech, což pro skripty a podobné programy může být velmi užitečné.

Systém obsahuje i zajímavé programy jako:

Kompatibilita

Překvapivě FreeBSD nabízí i tzv. Linuxulator, který překládá Linux syscally do jeho nativních variant. Což umožňuje spouštět velkou část Linux binárních souborů nebo mít bootstrapy různých distribucí.

Problém je například u grafické akcelerace přes Linuxulator, kde podporu má zatím jen Nvidia, ale na Radeon kartách se občas objeví někdo, komu se to aspoň částečně povedlo rozjet, ale už to chce práci navíc.

Souborový systém

Silnou stránkou FreeBSD je first-class OpenZFS (dále jen ZFS) integrace do hlavního systému a i kernelu. Díky čemuž je možné vytvářet tzv. Boot environments pro rychlé atomické zálohy systému, které díky CoW (Copy-on-Write) jsou instantní. Je při instalaci i na výběr UFS2, ale pro většinu použití je lepší vybrat ZFS už jen kvůli tomu, že se jedná o jeden z nejlepších souborových systémů v běžných operačních systémech. ZFS má tzv. ARC (Adaptive Replacement Cache), který ukládá často používaná data do RAM, což spotřebovává více paměti oproti jednoduššímu UFS2, ale zrychluje některé diskové operace.

Init systém

Na Linuxu je standardně systemd, ale na FreeBSD je jeho vlastní rc.d, který má na starost inicializaci a spuštění všech potřebných procesů od bootu a správu různých služeb a démonů. A spouští jednoduché shell skripty. Služby se následně ovládají přes příkaz service, který má podobnou syntaxi jako příkaz rc-service z Gentoo Linuxu.

Kontejnery a virtualizace

FreeBSD bylo průkopníkem, jelikož přišlo jako první s jails, což jsou kontejnery jako Docker nebo LXC na Linuxu. Jedná se o jednoduchý, bezpečný, ale velmi schopný kontejner, který díky integraci nabízí velmi praktické možnosti jako správa balíčků přes pkg.

Jako virtualizační hypervizor je zde bhyve, který je jednoduchý na použití a je velmi lehký bez zbytečného legacy kódu pro staré architektury apod., ale cílí primárně na moderní operační systémy včetně Linuxu i Windows.

Z dřívějších benchmarků bhyve v I/O výkonu ve většině případů překonával Linuxové KVM, ale mírně zaostával ve výpočetním výkonu.

Správa softwaru

Co se správy balíčků týče, tak zde sdílí styl správy s ostatními Linux distribucemi, kde najdeme klasický správce balíčků, a to konkrétně pkg, který nabízí poměrně běžné schopnosti jako alternativy na Linuxu, ale díky integraci přes něj lze například upgradovat konkrétní jails a skvěle spolupracuje s ports tree.

Za zmínku stojí i samotné ports, které mají jistou podobu například s Gentoo Portage. Jsou to pouze Makefiles a doplňující soubory, které určují, jak se konkrétní balíček má sestavit a nainstalovat, z čehož se následně generují výsledné předkompilované .pkg soubory, které pak pkg dokáže nainstalovat.

Ať už ports nebo binární pkg vám umožňuje vybrat mezi latest a quarterly repozitářem, kde latest obsahuje nejnovější dostupné balíčky a quarterly je aktualizuje jednou za čtvrt roku, ale obsahuje nejnovější bezpečnostní záplaty. Umožňuje to flexibilitu výběru pro různé použití a situace.

Desktop

Jako klasický UNIX je primárně vyvíjen pro interakci přes terminál, ale tak jako na Linuxu je zde dostupný stejný výběr grafického rozhraní jako KDE Plasma, Xfce4 a další DE nebo jakékoliv window managery.

Nechybí zde ani klasické programy jako Firefox, LibreOffice a další open-source programy z Linuxu. Nebo programy spuštěné přes Linuxulator, například lze spustit přes správně nastavený Ubuntu chroot i Cisco Packet Tracer.

Grafické ovladače (AMD, Intel) jsou na FreeBSD portované z Linuxu, i když nebývají z nejnovější verze a chybí některé specifické části, díky kterým nefunguje například ROCm. Ostatní běžné věci fungují většinou bez problémů. Nvidia dokonce vyvíjí oficiální proprietární ovladače přímo pro FreeBSD, ale nepodporuje například CUDA výpočty.

Audio

Oproti Linuxu se zde nenachází nic jako ALSA, ale OSS (Open Sound System). V tomto případě se jedná pouze o OSSv4 kompatibilní implementaci zvukového stacku, tedy nejedná se o originální OSS od 4Front, což bývalo dřív v Linuxu. Výhodou je přímé a jednoduché nastavení zařízení, ať už vstupních nebo výstupních, přes sysctl nebo sndctl. I když bez kernelových záplat nepodporuje přehrávání DSD, bitperfect audio zvládá bez problému.

Síť

Síťový stack vychází z původního 4.2BSD, které jako první implementovalo TCP/IP, s tím, že následně tuto implementaci a jeho Berkeley sockets API převzala většina tehdejších operačních systémů a používá je dodnes.

FreeBSD má díky frameworku LinuxKPI i solidní podporu pro síťová rozhraní i na běžném stolním počítači, ale je třeba si kompatibilitu a případné ovladače dohledat předem.

Z OpenBSD je zde portovaný pf a nebo FreeBSD má vlastní ipfw. Jsou to jednoduché firewally, které oproti Linuxu mají jednodušší správu.

Hry

I přes to, že se nejedná o operační systém určený na hraní, lze na něm hrát velkou část her, co fungují i na Linuxu. Díky úžasné komunitě a šikovným vývojářům se podařilo portovat plnohodnotný Proton i Wine, díky kterým lze spustit velkou část her pro Windows, ať už přes Steam, Epic Games (přes klienta Rare) nebo jen samostatně mimo jakýkoliv launcher.

V poslední době se gaming na FreeBSD dosti zlepšil i díky novému NTsync kernel modulu nebo komunitním záplatám kernelu.

Přesto oproti Linuxu, kde má za sebou Valve, jsou stále tituly, co na FreeBSD nefungují ani přes nativní proton.

Dokumentace

Dokumentace FreeBSD patří mezi nejlepší a nejpropracovanější, kde oproti běžným distribucím spoléhá na informace přes manuálové stránky přes příkaz man a dodatečně skvěle napsaný FreeBSD Handbook, který je velmi nápomocný pro většinu věcí, co je třeba vědět a jak se co dělá, včetně instalace grafického rozhraní nebo samotné instalace celého systému. Manuál vás provede i správou a nastavením systému.

Zabezpečení a bezpečnost

Díky tomu, že se nejedná o tolik známý a populární operační systém, tak se dá říci, že na něj míří méně virů a útoků. A díky menšímu množství zdrojového kódu je zde menší útočná plocha. Taktéž má celkem kvalitní audit kódu, takže případné chyby se najdou rychle, ale OpenBSD je v tomto ohledu ještě přísnější.

FreeBSD má podobně jako již zmíněné OpenBSD i svůj framework capsicum, který umožňuje programům v kódu nastavit práva jen ke konkrétním věcem a zablokovat ty, ke kterým naopak práva nepotřebuje, což zamezuje zneužitelnosti chyb programu jako takových. Řada programů v základním systému capsicum má integrované.

Konfigurace a nastavení

Díky jednotnosti systému se hodně věcí, včetně již zmiňovaného audia a případně dalších důležitých věcí, nastavuje přes příkaz sysctl. Ostatní nastavení se spravují většinou přes konfigurační soubory jako například loader.conf nebo /usr/local/etc/doas.conf.

Problémy a nevýhody

I přes důležité výhody a vlastnosti má FreeBSD svoje úskalí, kde může být otravný nebo až omezující. Pro někoho to může být právě jistá konzervativnost v některých oblastech a pomalé, i když stabilní, vydání. Pro běžného uživatele může být práce s ním náročná, jelikož v některých případech častěji vyžaduje ruční kompilaci nebo specifickou konfiguraci.

Podpora pro různorodý hardware a periferie není nejlepší, kde Linux vyloženě dominuje, ale časem se stav stále zlepšuje.

V serverovém prostředí je zde limitace neexistujícího Dockeru nebo Kubernetes, kvůli závislosti na Linux kernelu. I přesto, že jails jsou skvělou náhradou, absence nativního dockeru opět snižuje pohodlí a kompatibilitu.

Proprietární software z Linuxu tu nebude fungovat, pokud spoléhá na funkce exkluzivní pro Linuxové jádro.

Není tu žádný přímý ekvivalent ke komprimované RAM. Tam, kde má Linux zram, na FreeBSD je nutné použít komprimovaný diskový oddíl jako swap.

Zajímavosti

Netflix

Netflix, jako jeden z nejdůležitějších přispěvatelů, používá FreeBSD ve svých Open Connect Appliances, které slouží ke streamování obsahu s nízkou latencí. Díky podpoře Netflixu má síťový stack vysokou stabilitu i propustnost a funkce, které využívají i někteří operátoři ve FreeBSD síťových zařízeních. Dokonce se Netflixu povedlo dostat z takového zařízení až 800 Gb/s síťové propustnosti.

Matrix

Málokdo ví, že původní první The Matrix film měl efekty vyrenderované na FreeBSD renderovací farmě, jelikož i přes Linuxulator v té době (1999) nabízel pro tyto potřeby vyšší a stabilnější výkon než tehdejší Linux.

Darwin

Operační systémy od Apple jsou nadstavbou jejich operačního systému Darwin, který je založený na kernelu XNU, který je právě založen na kódu z NeXTSTEP a právě FreeBSD. Samotný macOS stále obsahuje některé BSD specifické soubory jako /usr/share/misc/flowers nebo iOS má v sobě stále zkompilované některé základní nástroje z FreeBSD z roku 2009.

Konzole

Díky možnosti nezveřejnit zdrojový kód úprav FreeBSD, mohly firmy jako Sony udělat na své konzole, jako PlayStation, operační systém na bázi právě FreeBSD.

Další světové využití

Na svém začátku i WhatsApp infrastruktura běžela na FreeBSD, dokud ji nekoupil tehdejší Facebook, kvůli kterému se přemigrovalo na Linux.

I zařízení s Junos OS od Juniper Networks jsou založená na FreeBSD, které používají operátoři na celém světě pro svoji infrastrukturu pro mobilní sítě a internetové připojení, i přes to, že nejnovější modely už přecházejí na Linuxový Junos OS Evolved.

Závěr

Využití

Alternativy

Pro někoho, kdo chce vyzkoušet FreeBSD, aniž by se musel trápit náročnější instalací, si může zvolit GhostBSD, což je distribuce FreeBSD určená pro jednoduché a desktopové použití.

Pro vyšší výchozí bezpečnost lze sáhnout po OpenBSD, ale kompatibilita není jeho nejsilnější stránkou.

Z Linuxového světa se jako alternativa dá považovat taktéž Chimera Linux, která staví na Linuxovém kernelu, ale s FreeBSD userlandem.

Případně Linux distribuce Gentoo Linux nebo Void Linux, které nabízejí zajímavé pojetí operačního systému, ale s jednoduchostí v duchu.

Pro serverové použití je možné se podívat i po Illumos, který je založený na OpenSolarisu a má podobnost s FreeBSD. Například taktéž obsahuje nativní ZFS a DTrace z originálního Solarisu.

Má smysl?

I přes to, že se jedná o fascinující operační systém se skvělou stabilitou a funkcemi a jednoduchostí, pro většinu lidí je to spíš zajímavý systém na neprimární zařízení pro experimenty nebo síťové zařízení, ale pro běžný provoz může být práce s ním občas nepříjemná kvůli nekompatibilitě některého softwaru nebo více práce v příkazové řádce.

Je také důležité si uvědomit dlouhodobost a udržovanost samotného projektu, jelikož je dobré brát v potaz i to, zda projekt v blízké době neumře apod. FreeBSD má celý tým a spoustu dobrovolníků a firem za sebou, které nepovolí, aby projekt jen tak umřel, plus je dobré zmínit, že i přes konzervativnější přístup se FreeBSD snaží být moderním operačním systémem a jít s dobou, důkazem je například NTsync driver pro vylepšení výkonu her z Windows.

Pro lidi, co chtějí něco méně korporátního jako právě Linux, může být FreeBSD zajímavou alternativou bez GNU userlandu a s některými specifickými výhodami a čistotou.

V případě zájmu o vyzkoušení lze FreeBSD stáhnout na jejich webu a vyzkoušet ho na vašem zařízení nebo přes libovolný hypervizor, a až následně případně nainstalovat na vaše zařízení.

Zdroje

FreeBSD® je registrovaná ochranná známka The FreeBSD Foundation. Vektorová grafika Tuxe (Linux) od gg3po vychází z původního návrhu Larryho Ewinga a programu GIMP.

TechKnow admin@techknow.sk
© 2022-2026
Ochrana súkromia
ikona - šípka hore