GNU/Linux >> Znalost Linux >  >> Linux

Co mají různé BSD společného?

…a jaký je mezi nimi rozdíl? Svou otázku jsem formuloval takto, aby bylo jasné, že mě nezajímá plamenná válka názorů, spíše objektivní srovnání různých příchutí BSD Unix. V ideálním případě bych mohl získat zpětnou vazbu od uživatelů, kteří mají zkušenosti se všemi z nich.

Pozadí

Nedávno jsem zjistil, že v Unixu je mnohem víc než jen Linux. Solaris používám v práci, otevřelo mi to oči. Teď mě zajímají nové uniky, chci vyzkoušet nový a přirozeně jsem zvědavý na BSD.

Problém

Nežádám o rady nebo názory na to, jaké BSD nainstalovat; Chci znát rozdíly (a společné body) mezi nimi, abych si mohl udělat vlastní názor. Problém je v tom, že je obtížné mezi nimi získat správná srovnání.

Pokud budete mít štěstí, dostanete nějakou ukvapenou definici, jako je tato:

FreeBSD = Popular all-rounder.
NetBSD = Portable (runs on a lot of platforms, including a toaster)
OpenBSD = Security above anything else.

(Může to být pravda, ale ve skutečnosti to není užitečné. Jsem si jistý, že FreeBSD je také přenosné a bezpečné…)

Pokud budete mít smůlu, uvíznete v jedné z těch nevyhnutelných unixových legend o rozdělování projektů, forkingu, rebrandingu na intelektuálních/morálních základech, o tom, jak je Theo de Raadt extrémista a jak měly MacOS X a FreeBSD před více než 20 lety společného předka.

Fascinující, ale ne skutečně informativní, že?

BSD

BSD, které mě zajímají, jsou:

  • FreeBSD
  • OpenBSD
  • NetBSD

a volitelně

  • Vážka
  • Darwin

Moje otázky

Abychom lépe porozuměli rozdílům, zde je seznam poněkud souvisejících otázek o různých distribucích (můžeme tento termín použít?). Pokud svou odpověď předložíte pod nějakou formou tabulkových dat, jste můj hrdina všech dob!

  • Používají stejné jádro?
  • Používají stejné uživatelské nástroje? (jaké jsou rozdíly, pokud existují?)
  • Používají stejný systém správy balíčků/zdrojů?
  • Používají stejný výchozí shell?
  • Jsou mezi nimi binární soubory přenositelné?
  • Jsou zdroje mezi nimi přenositelné?
  • Používají různé adresářové stromy?
  • Jak velké jsou jejich příslušné komunity? Jsou řádově stejné?
  • Kolik aktuálního vývoj je společný?
  • Jaké jsou mezi nimi hlavní nekompatibility?

Nevím, jak snadné je na tyto otázky odpovědět a jak relevantní pro formát StackExchange tato otázka skutečně je. Jen jsem se nikdy nesetkal s jednoduchým dokumentem, který jasně uvádí rozdíly mezi BSD, což je užitečné pro zkušené uživatele, aby se na něj podívali a mohli si snadno vybrat.

Přijatá odpověď:

Nemyslím si, že vám a všem poskytnu dokonalou odpověď, nicméně při každodenním používání systému BSD v práci jsem si jistý, že vám mohu poskytnout užitečný náhled do světa BSD.
Nikdy jsem to neudělal používejte NetBSD, nebudu o tom moc mluvit.

Používají stejné jádro?

Ne, i když existují podobnosti kvůli historickým vidlicím. Každý projekt se vyvíjel samostatně.

Používají stejné uživatelské nástroje? (jaké jsou rozdíly, pokud existují?)

Všichni dodržují POSIX. Můžete očekávat, že sada nástrojů bude mít stejnou funkcionalitu mezi *BSD.
Je také běžné vidět některé zjevné rozdíly v nástrojích pro správu procesů/sítí v rámci BSD.

Používají stejný systém správy balíčků/zdrojů?

Poskytují systém balení, odlišný pro každý OS.

Používají stejný výchozí shell?

Ne, například FreeBSD používá csh, OpenBSD používá ksh.

Jsou mezi nimi binární soubory přenositelné?

Ne:

([email protected] 101)file `which ls`
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.5, dynamically linked (uses shared libs), stripped

Ve skutečnosti nepodporují stabilní a rychlou binární emulaci. Nespoléhejte na to.

Jsou zdroje mezi nimi přenositelné?

Některé ano, pokud například nepoužíváte kód jádra nebo kód libc (který je pevně svázán s operačním systémem).

Používají různé adresářové stromy?

Ne, jsou zde velmi podobné Linuxu.
FreeBSD však obhajuje použití /usr/local/etc pro konfigurační soubory softwaru třetích stran. OpenBSD vloží vše do /etc…
Všechny třetí strany vloží do /usr/local, zatímco linuxová distribuce si udělá, jak uzná za vhodné.
Obecně lze říci, že *BSD je v tomto ohledu velmi konzervativní, věci patří tam, kam patří, a to není co vymýšlet.

Jak velké jsou jejich příslušné komunity? Jsou řádově stejné?

FreeBSD je největší a nejaktivnější, můžete se k němu dostat prostřednictvím mnoha různých fór, e-mailových konferencí, IRC kanálů a podobně...
OpenBSD má dobrou komunitu, ale většinou je viditelné prostřednictvím IRC a e-mailových konferencí.

Související:Proč následující příkaz zabíjí systém?

Ve skutečnosti, pokud si myslíte, že potřebujete dobrou komunitu, FreeBSD je správná cesta.
Komunity NetBSD a OpenBSD se soustředí na vývoj, mluví o nových vylepšeních atd. Opravdu neradi dělají základní uživatelskou podporu nebo reklamu . Očekávají, že všichni budou pokročilí uživatelé unixu a budou schopni si přečíst dokumentaci, než se na něco zeptají.

Jak velká část současného vývoje je běžná?

Vzhledem k tomu, že mezi projekty může proudit kód skutečně bezplatných licencí, OpenBSD často opravuje svůj kód podle NetBSD (jelikož jejich zdroje mají mnoho společného), FreeBSD přebírá a integruje Packet Filter OpenBSD atd. Je to samozřejmě těžší, pokud jde o ovladače a další věci jádra.

Jaké jsou mezi nimi hlavní nekompatibility?

Nejsou kompatibilní v binární podobě, ale většinou jsou kompatibilní v syntaxi a kódu. Můžete se na to spolehnout, abyste dosáhli přenositelnosti kódu. Bude se snadno stavět nebo/a spouštět na všech variantách BSD, kromě případů, kdy se příliš přiblížíte jádru (ifconfig, pfctl…).

Zde je návod, jak si můžete užít učení ze světa BSD:

Zkus vyměnit svůj domácí router za openbsd box, pohraj si s pf a sítí. Uvidíte, jak snadné je vyrobit to, co chcete. Je to čisté, spolehlivé a bezpečné.
Použijte FreeBSD jako desktop, podporují spoustu GPU, do určité míry můžete používat flash, existuje určitá kompatibilita s binárními soubory Linuxu. Můžete si bezpečně vytvořit vlastní jádro (ve skutečnosti je to doporučeno). Celkově je to dobrá zkušenost s učením.
Vyzkoušejte NetBSD na velmi starém hardwaru nebo dokonce toustovačích.

I když jsou různé, každý z nich se snaží být dobrým OS a uživatelům se vyrovná více než situací. Vyzkoušejte je všechny (Net/Open/Free), ale později možná zjistíte, že pro většinu situací používáte pouze 1 (protože máte lepší znalosti konkrétního systému nebo více zapadáte do komunity).

Ostatní BSD jsou hybridy nebo jen mírně upravené verze, považuji za lepší zůstat blízko zdroje vývoje softwaru (použijte paketový filtr na OpenBSD, nakonfigurujte si svůj desktop na FreeBSD, …).

Související:Linux – vhodná hodnota vm.swappiness při použití zram?

Jako osobní poznámku, jsem rád, že vidím nadšence, jako jste vy, a doufám, že ve světě BSD najdete spoustu dobrých věcí. BSD není o nenávisti k oknům nebo jiným OS, ale o tom, že máte rádi Unix.


Linux
  1. Jaký je rozdíl mezi InnoDB a MyISAM?

  2. Společné řádky mezi dvěma soubory?

  3. Jaký je rozdíl mezi /bin/false a /sbin/nologin jako uživatelský shell nologin

  1. Jaké jsou typy serverů DNS

  2. Jaký je účel každého z různých UID, který proces může mít?

  3. Jaký je rozdíl mezi strtok_r a strtok_s v C?

  1. Jaký je rozdíl mezi fsck a e2fsck?

  2. Proč máme v LINUXu 3 typy X-výběrů?

  3. Jaký je rozdíl mezi root a sudo?