Łukasz Bigo
FreeBSD jako alternatywa dla Linuksa i Windows

Wstęp

Szkoły zdominowane są przez systemy Microsoftu. Podatnicy rzadko zdają sobie sprawę, że kieszeń monopolisty wypełnia się dzięki ich pieniądzom. Żeby było śmieszniej, w Sejmie co rusz posłowie bełkoczą niezrozumiale o potrzebie korzystania z "systemów Linux", ale kolejne kontrakty i tak podpisuje się z przedstawicielami firmy z Redmond. Są fajni, są pod ręką, dają cenne gadżety i tyle.

Załóżmy, że pod naszą opieką znajduje się szkolna pracownia oparta o Linuksa. Czy jest sens, żebyśmy przechodzili na system z rodziny BSD ? Odpowiedź brzmi: nie. Będzie za dużo zamieszania; prócz problemów z kompatybilnością i dostępnością niektórych pakietów oprogramowania właściwie niczego nie zyskamy. W dodatku uczniowie mogą czuć się zagubieni, bo system zacznie się zachowywać nieco odmiennie w porównaniu do tego, co - być może - mają w domu (czytaj: w porównaniu do Linuksa). Nie warto poświęcać wielu godzin pracy na zyskanie kilku procent w wydajności serwera czy routera, w typowych sytuacjach korzyści i tak będą niedostrzegalne.

Czy zatem w ogóle nie warto korzystać z FreeBSD? Odpowiedź zależy od wielu czynników, ale są takie sytuacje, w których FreeBSD jest zdecydowanie lepszym wyborem niż jakikolwiek inny system.

Rezygnujemy z Windows

Jeśli właśnie postanowiliśmy porzucić Windows na rzecz systemu posiksowego (Linuksa czy jakiejś odmiany Uniksa), dużo rozsądniej jest wybrać FreeBSD niż cokolwiek innego. Dlaczego? Odpowiedź może wydawać się zaskakująca: bo na początku jest trudniej. Kiedy najdzie nas ochota na Fedorę czy Mandrake'a, instalator bardzo podobny do tego z Windows poprowadzi nas za rękę przez wszystkie etapy instalacji. Na koniec otrzymamy pulpit niemal identyczny (z dokładnością do ułożenia wzgórz na tapecie) jak ten w produkcie z Redmond.

Pytanie: po co nam coś takiego? Niby zainstalowaliśmy Linuksa, ale w rzeczywistości zupełnie nie wiemy, co siedzi w środku. Nie orientujemy się, gdzie są pliki konfiguracyjne i co uruchamia nam się podczas startu komputera. Czy powiększyliśmy zatem swoją wiedzę? Ani trochę! Pamiętajmy, że hakerzy wolą atakować świeże, domyślne instalacje Linuksa niż Windows. Od dawna wiadomo, że bezpieczeństwo systemu w znacznej mierze zależy od poziomu wiedzy administratora - jeśli jej brak, to nawet Open- czy TrustedBSD niewiele nam pomogą.

Dlatego właśnie podczas rezygnacji z Windows warto wybrać FreeBSD. Aby system poprawnie skonfigurować, trzeba się odrobinę natrudzić i być chętnym do nauki. Wbrew pozorom nie jest potrzebna jakaś szczególna inteligencja i przeogromna wiedza. Wystarczy cierpliwość.

Przejrzystość środowiska

Na FreeBSD warto zdecydować się również wtedy, gdy ważny jest dla nas porządek w plikach i przejrzystość środowiska. Twórcy rozmaitych dystrybucji Linuksa byli dość swobodni podczas rozmieszczania niektórych bibliotek (warto przyjrzeć się pod tym kątem choćby KDE). W FreeBSD natomiast panuje wzorcowy, charakterystyczny dla wielu uniksów porządek; na przykład pliki konfiguracyjne bazy systemu zawsze znajdują się w /etc, natomiast wszelkie pochodzące od nas dodatki wędrują do /usr/local/etc niezależnie od tego, czy instalujemy Apache'a, czy Sambę.

Dzięki takiej polityce użytkownikom FreeBSD dużo łatwiej przesiąść się na NetBSD, OpenBSD czy komercyjne uniksy (np. HP/UX, Solaris), gdyż zawsze mogą mieć pewność, że nie będą musieli uczyć się tego samego od początku. Z dystrybucjami Linuksa natomiast bywa bardzo różnie.

Bardzo stary sprzęt

Boom na Linuksa nie byłby możliwy bez obniżenia cen hardware'u - komputer z zegarem powyżej 500 MHz obsłuży dość sprawnie złożone środowisko graficzne w Windows i w Linuksie. Jeśli jednak w naszej pracowni zostało sporo maszyn z dawnych czasów (od 386 do pentium), mamy do wyboru albo męczyć się z nimi w starszych, dziurawych jak rzeszoto systemach z Redmond, albo kombinować z Linuksem (przekompilowywać jądro, wyrzucać zwalniającą komputer niepotrzebną obsługę USB czy AGP itd.), albo po prostu skorzystać z FreeBSD. Ta ostatnia opcja jest zdecydowanie najrozsądniejsza: nawet na 486 możemy zainstalować FreeBSD w wersji 4.11-RELEASE i korzystać z systemu posiadającego wszystkie cechy nowoczesnego (stan na początek roku 2005) OS-a, z poziomu którego nawet o Windows 2003 Server można mówić "Phi, ależ staroć ten Windows. Ma już ponad rok..."

Liczy się każda sekunda

W zwykłej szkolnej pracowni rzadko znajdują się serwery produkcyjne. Jeśli jednak nasz Apache, demon FTP czy router są obciążone do granic możliwości, ratunkiem może być skorzystanie z FreeBSD. Jednym z najbardziej spektakularnych testów ostatnich miesięcy było badanie wydajności routingu w FreeBSD 5.3-RELEASE w stosunku do Linuksa. Jak łatwo sprawdzić nawet w warunkach domowych, dzięki wyborowi FreeBSD na system w routerze (komputerze znajdującym się pomiędzy Internetem a naszymi maszynami) będziemy mogli udostępnić połączenie z Internetem kilkuset komputerom bez jakichkolwiek strat w wydajności! Linux zostaje daleko w tyle, jeśli uda mu się sprawnie obsłużyć kilkadziesiąt komputerów, będzie dobrze. Przy typowej pracy trudno to wyczuć, ale gdyby jednocześnie we wszystkich pracowniach rozpoczęto intensywne korzystanie z sieci (przesył wielu plików), możemy być pewni, że FreeBSD będzie po prostu bez narzekania działać.

Jest to szczególnie ważne, jeśli śnią się nam po nocach koszmary o atakach na nasze serwery. Warto zapamiętać, że większość systemów operacyjnych (w Linux i Windows) na przykład w trakcie ataku DDoS ugnie się pod ciężarem pakietów zanim FreeBSD złapie choćby zadyszkę..

Oprogramowanie

Czy warto migrować do FreeBSD z powodu bogactwa oprogramowania? Tutaj musimy odpowiedzieć: raczej nie. Baza aplikacji dla FreeBSD jest olbrzymia i może być dodatkowo poszerzona o programy linuksowe przez wykorzystanie wbudowanego systemu emulacji Linuksa (złośliwcy twierdzą, że wszystko w trybie tym działa szybciej niż w prawdziwym Mandrake'u czy Debianie). Bardzo rzadko jednak uda nam się trafić na coś, co w FreeBSD nie chce działać. Osobiście znam dwa przykłady: Kismet (w FreeBSD obsługuje mniejszą ilość kart sieciowych) oraz Sphinx (w ogóle nie działa).

Nie zmienia to jednak faktu, że cała reszta jest i działa wprost wyśmienicie - pamiętajmy, większość używanego przez nas zwykle oprogramowania ma już kilka czy kilkanaście lat (bash, iksy itd.) i pracowała na systemach z grupy BSD zanim jeszcze ktokolwiek poważnie myślał o Linuksie. Zanim jednak podejmiemy decyzję o migracji, zróbmy kilka rzetelnych testów i porównajmy szybkość np. KDE pod Linuksem i FreeBSD. Możemy być bardzo mile zaskoczeni.

A to dopiero początek! Wszyscy wiemy, że instalacja programu z pakietu RPM może czasem przyprawić o ból głowy (lista zależności i konfliktów na trzy ekrany...). Czyż nie prostsze byłoby wpisanie na konsoli magicznego "proszę, zainstaluj mi się" i pozwolenie na to, by program sam się ściągnął, skompilował z opcjami najlepszymi dla naszej maszyny i zainstalował ?

Tak właśnie jest w FreeBSD. Jeśli chcemy zainstalować np. PHP5, wystarczy wejść do katalogu /usr/ports/lang/php5, wpisać "make install clean" i... poczekać. System zrobi resztę sam: ściągnie źródła, rozpakuje je, sprawdzi zależności (i dociągnie je w razie potrzeby), skompiluje, zainstaluje...

Przy tej okazji wychodzi jeszcze jedno zagadnienie: mawia się, że FreeBSD jest zacofane pod względem dostępnych wersji oprogramowania. Łatwo się jednak przekonać, że jest to nieprawda. Cóż bowiem autorowi wygodniej stworzyć: źródło czy gotową paczkę dla konkretnej dystrybucji ? Oczywiście, że źródło! Paczka (*.deb czy *.rpm) zawsze stanowi element wtórny. Dlatego możemy być pewni, że korzystając z systemu portów (/usr/ports, po prostu) zawsze będziemy na krok przed użytkownikami nakładek w rodzaju yuma czy apt-geta.

Zakończenie

Wymieniłem zaledwie kilka zalet FreeBSD - w rzeczywistości jest ich dużo, dużo więcej. Jakich? Warto się o tym przekonać samemu instalując i testując wspomniany system. Miłej zabawy !

Ps. Artykuł ten jest wprowadzeniem w świat FreeBSD. Jego druga część dotyczyć będzie instalacji FreeBSD 5.3-RELEASE na typowej maszynie: od płyty CD z nagranym obrazem ISO, do stacji roboczej pracującej w środowisku graficznym.

powrót