NetBSD a niečo o ňom

NetBSD - stručne o histórii
Trochu o Linuxe
Rozdiely NetBSD oproti FreeBSD
Rozdiely NetBSD oproti OpenBSD
Ako používať Xen (3.x) bez GRUBu (v NetBSD)

Informácie tu uvedené sú aktuálne v čase ich písania (apríl 2012). Autor webu: www.freebsd.nfo.sk

Tu som sa rozhodol zaradiť niektoré zaujímavé informácie o NetBSD, napríklad ako rozbehnúť Xen bez GRUBu, alebo niektoré odlišnosti NetBSD oproti FreeBSD (atď.).

Ale najprv začnem tým, že som vydal (asi jediný na svete) Live USB verziu NetBSD 6.0 a prišla mi odpoveď, že ide o "cool project". Celý projekt je v mojej anglickej časti blogu o FreeBSD.

Najprv však trochu niečo z iného miesta toho istého jablka.

NetBSD - stručne o histórii

UNIX sa začal vyvíjať v Bell Labs (spoločnosťou AT&T) už začiatkom druhej polovice 20. storočia. Niekoľko univerzít ho odkúpilo aj s licenciou na zdrojový kód a UC (University of California) v Berkeley tiež; v sedemdesiatych rokoch totiž mala spoločnosť AT&T zákaz konkurovať na trhu s počítačmi. Z tohto dôvodu bola spoločnosť AT&T ochotná poskytnúť licenciu Unixu (vrátane zdrojových kódov) za malý poplatok univerzitám. Tie si potom vzájomne vymieňali opravy kódu (patches), ale musel ich pravdaže aj niekto koordinovať. Opravy dostali pomenovanie BSD Unix (Berkeley Software Distribution), pretože koordinácie sa ujala skupina CSRG (Computer Science Research Group) na univerzite v Berkeley. BSD, teda Berkeley Software Distribution, je dnes rodina Unixov, ale oproti Linuxu s obrovskou históriou (napríklad /etc/fstab, ale aj FTP protokol a plno iných vecí vrátane TCP/IP je vynález BSD).

Pre otvorenie BSD bol najvýznamnejší rok 1993. Tento jedinečný kód (386/BSD a 4.3 BSD-Lite ["Net/2"]) bol zrazu verejný, tak sa sformovala skupina vývojárov s odhodlaním pokračovať vo vývoji a začiatkom roku 1993 vznikol projekt NetBSD (ale aj komerčný BSD/OS). Medzi zakladateľov NetBSD patril aj Theo de Raadt, ktorý v súčasnosti stojí za projektom OpenBSD. O niekoľko mesiacov neskôr vzniká projekt FreeBSD.

Theo de Raadt, zakladateľ OpenBSD, sa pre svoj odchod z tímu NetBSD rozhodol z osobných dôvodov, čo sa stalo až v roku 1995, teda oveľa neskôr. Príčinou jeho odchodu, tvrdia ľudia z NetBSD, bolo údajne hrubé správanie, ale mne Theo de Raadt odpísal a poslal mi aj odkaz na emailovú korešpondenciu s tvrdením, že nešlo o nič iné, iba o boj o moc. Ktovie? OpenBSD je teda celý postavený na NetBSD, z ktorého v roku 1995 vyšiel v celej jeho kráse.

Rodina operačných systémov BSD má spoločnú architektúru - každý systém je samostatný operačný systém s jadrom + základným systémom a balíčky sú už mimo základného systému, často s celkom inou licenciou. NetBSD, OpenBSD a FreeBSD sú na rozdiel od Linuxov vzájomne binárne nekompatibilné, hoci binárne súbory možno obmedzene spúšťať za pomoci podporných emulačných softvérov.

Ak si stiahnete nejaké LiveCD FreeBSD 9.0 alebo PC-BSD postavené na FreeBSD 9.0, vždy budete mať rovnaké knižnice, takže nebude zmätok. Pre spúšťanie aplikácií starších systémov vám stačí si iba doinštalovať knižnice pre kompatibilitu.

Trochu o Linuxe

Linux je jedinečný operačný systém a najviac vhodný na desktop. Linux je však v odbornej terminológii iba jadro a spôsob, ako sa distribuuje, ho robí Linuxom s konkrétnym názvom - Slackware Linux je jadro + tgz balíčky s knižnicami často odlišnými od iných konkrétnych distribúcii Linuxu, aj boot manažér má celkom iný - Lilo, ktorý dnes už skoro všetky ostatné Linuxy nahradili GRUBom. Debian Linux používa DEB balíčky a SuSE Linux RPM balíčky. Ak si stiahnete a skonvertujete nejaký RPM balíček do TGZ a budete ho chcieť použiť napríklad pod Slackware Linuxom, s veľkou pravdepodobnosťou ho asi ani nespustíte. Linux (ak si odmyslíme, že odborná verejnosť pod týmto pojmom chápe iba jadro) je podstatne viac hybridnejší a laická verejnosť pod týmto pojmom si naopak predstaví akúkoľvek linuxovskú distribúciu.

Linux má ďalej ten problém, že ľudia zoskupení okolo jedného jeho krídla si svojsky vykladajú pojem "sloboda". Nie som žiadny nepriateľ Linuxu, iba namietam, že ak tučniakovi odtrhneme jeho pravé krídlo, bude zmrzačený.

Sloboda je, že si zoberiete skript a prepíšete licenciu na akúkoľvek licenciu.

Pozor, keď táto krásna himalájska mačka uvidí, ako si tučniak v topiacich sa ľadoch hľadá nové miesto v Himalájách, tak ho zožerie. Jediné, čo tu pomôže, sú vidly a BSD.

Rozdiely NetBSD oproti FreeBSD

NetBSD si viac zachováva (rovnako ako OpenBSD) svoj tradičný BSD ráz, čo vidieť napríklad na umiestnení jadra, ktoré je stále v koreňovom adresári / (rovnako ako v OpenBSD), alebo na názvoch zariadení - tie sa vo FreeBSD zmenili (wd0a na ad0s1a atď.).

NetBSD nemá po inštalácii aktívne SSH, čo doriešite editáciou skriptu /etc/rc.conf: sshd=YES

Sieť aktivujete (po spustení NetBSD) tiež zápisom potrebných riadkov do rc.conf:
dhclient=YES
dhclient_flags=vr0
("vr0"je názov sieťového zariadenia, ktoré vypíše ifconfig -a - u vás môže byť iné, preto do rc.conf uveďte vaše aktuálne zariadenie)

PKGSRC sa líši od portov (ktoré sa používajú vo FreeBSD a OpenBSD) tým, že tento systém je ľahko transportovateľný do iných Unixov (pomocou /usr/pkgsrc/bootstrap/bootstrap skriptu). Ports sú určené iba pre tú-ktorú distribúciu, čo znamená, že tie určené pre OpenBSD sú vo FreeBSD nepoužiteľné; o PKGSRC platí opak - podarilo sa mi ho udomácniť aj v OpenBSD, čoho výhodou je možnosť doinštalovať do OpenBSD viac balíčkov (PKGRSC ich má viac ako Ports v OpenBSD).

NetBSD (podobne ako OpenBSD) obsahuje malý www server (httpd) v základnom systéme, čo uľahčuje okamžité spustenie www servera v základnom systéme bez potreby niečo inštalovať. Tím OpenBSD, na rozdiel od NetBSD, robí ešte vo svojom základnom systéme dôsledný bezpečnostný auditing.

FreeBSD sa v minulosti podstatne viac opieral o Perl.

FreeBSD má viac balíkov ako NetBSD a pekný inštalátor (sysinstall) - v rozhraní je bližšie užívateľom Linuxu.

Vývoj FreeBSD je agresívnejší, čo sa mierne môže odzrkadliť na stabilite.

V NetBSD po implicitnej (defaultnej) inštalácii nájdete všetko (ako SSH atď.) zakázané; vo FreeBSD nie.

NetBSD podporuje veľa platforiem, oveľa viac ako FreeBSD a OpenBSD.

Rozdiely NetBSD oproti OpenBSD

NetBSD na rozdiel od OpenBSD (s výnimkou bezpečnosti) ponúka podstatne viac možností (virtualizácia, desktopové využitie), ale v stabilite sú oba systémy na tom rovnako. Je to zatiaľ (rok 2012) jediný operačný systém na báze BSD, ktorý plnohodnotne podporuje Xen (v čase písania tohto textu). NetBSD je samozrejme vhodný aj na desktop (oveľa viac ako OpenBSD) - podporuje Adobe Flash (OpenBSD nie, rok 2012), zápis na ntfs disky a väčšiu škálu hardvéru.

NetBSD má najlepšiu podporu hardvéru globálne na rôznych platformách, FreeBSD tiež, ale iba pre platformu x86. OpenBSD je na tom najhoršie.

Pre porovnanie - FreeBSD má v BSD rodine najväčšiu podporu aplikácií; NetBSD stojí niekde v strede a OpenBSD ju má najslabšiu.

Jadro NetBSD je viac zmodularizované oproti OpenBSD, ktorého jadro moduly vôbec nepoužíva (môže ich používať, ale po inštalácii ich v systéme nenájdete). NetBSD má moduly v adresári /stand/i386//5.1/modules.

Ako používať Xen (3.x) bez GRUBu (v NetBSD)

Xen je virtualizácia vhodná pre VPS (virtuálne privátne servery). Na jednom fyzickom serveri môže bežať až niekoľko VPS - jeden napríklad NetBSD VPS, druhý Debian Linux atď., čím poskytovateľ šetrí čas i peniaze a zákazníkom zároveň poskytuje oveľa vyššiu bezpečnosť (na zdieľanom serveri často môžu nastať zmätky). Na serveri, kde je veľa účtov a veľa užívateľov, má administrátor podstatne viac roboty.

Na internete som objavil článok, kde užívateľ píše, ako mu vyššia návštevnosť webu robí problémy. Od poskytovateľa začal dostávať upomienky, až mu nakoniec web odstavil. Prechodom na VPS sa jeho trápenie značne eliminovalo. Na stránkach RootBSD sa píše, že FreeBSD je vo výkone ďalej ako Linux, pretože FreeBSD server využíva menej RAM ako Linux pri rovnakom počte bežiacich aplikácií (čo rovnako platí aj o NetBSD/OpenBSD).

Zástancovia Linuxu toto veľmi nepriznajú, ale je to tak. Linux je zo serverového hľadiska dobrý pre malé a stredné firmy, BSD naopak zvláda väčšiu záťaž oveľa lepšie.

Mne sa do prostredia domU podarilo inštalovať Debian Linux (Lenny) a rozbehnúť Xen bez pomoci GRUBu, čo je novinka boot utility NetBSD.

Pre inštaláciu bude dobré mať v NetBSD zadefinovaný riadok v súbore /root/.profile:

export PKG_PATH=ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -m)/5.1/All

Potom stačí sa odhlásiť (exit) a znovu prihlásiť (aby sa načítala vyššie uvedená cesta) a v príkazovom riadku použiť pkg_add (môžete inštalovať aj pomocou PKGSRC, len kompilácia zaberie čas).

Aby ste nemuseli používať GRUB, editujte súbor /boot.cfg:
menu=Boot normally:boot netbsd
menu=Boot single user:boot netbsd -s
menu=Boot XenPAE w 256M:load /netbsd-XEN3PAE_DOM0.gz console=pc;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M
menu=Disable ACPI:boot netbsd -2
menu=Drop to boot prompt:prompt default=1 timeout=12

Jadro (ako netbsd-XEN3PAE_DOM0.gz atď.) nájdete na inštalačnom CD (v ISO súbore). domU spustíte príkazom xm create konfigurak. Niektoré domU už pripravené pre použitie nájdete na týchto stránkach.