FreeBSD

| Listopad 29, 2024

FreeBSD i nie tylko

Wziąłem się za upgrade systemów z FreeBSD. Zawsze miałem do tych systemów duży sentyment, zresztą dawno temu prowadziłem szkolenia dotyczace tego systemu operacyjnego. Obawiałem się, że Linux wyprze z rynku FreeBSD. Sam zdecydowaną większość projektów realizowałem w różnych dystrybucjach linuksowych. Przewineło sie przez moje ręce wiele dystrybucji, niektórych używam nadal w mniejszym lub większym zakresie.

Systemom BSD bardzo często przepowiadano upadek. Jednakże społeczność FreeBSD cały czas je rozwija. Nowe wersje pojawiają się bardzo regularnie. Systemy BSD nie były pomyślane jako rozwiązania dla desktopów – tutaj liczy się głównie Windows, oraz OS X, a jeszcze w mniejszym stopniu Linux. Jednak na serwerach to juz zupełnie inna kwestia.

Keep it simple stupid (KISS)

Systemy BSD cały czas utrzymywane są w zgodzie z ideą KISS, tymczasem Linux odszedł od tej idei tworząc np. wszechogarniający projekt systemd.

NetBSD np. posiada ogrom portów na różne architektury sprzętowe –– ten system łatwo przenosić na nowe architektury, a to też jest bardzo istotne np w automatyce.

Obecnie podstawowym systemem plikowym w systemie FreeBSD jest ZFS.ZFS – Wikipedia, wolna encyklopedia

Pozwala on na bardzo elastyczne zarządzanie wolumenami. Wspierany jest bezpośrednio w jądrze systemu ponieważ licencja BSD zezwala na takie fuzjue. W przypadku Linuksa, ze względu na niezgodność licencji ZFS z GPLJak działa licencja GPL i dlaczego jest tak ważna? musimy korzystać z dodatkowego oprogramowania pośredniczącego. Ma to swoje wady.

Zarządzanie oprogramowaniem

FreeBSD ma bardzo rozbudowane metody zarządzanie oprogramowaniem. Po pierwsze możemy zainstalować za pomocą narzędzia pkg gotowy pakiet razem z zależnościami z dostępnych repozytoriów. Po drugie możemy skorzystać z systemu portów. Jest to drzewo katalogów, którego struktura jest tematyczna. Po wejściu do takiego katalogu, np. mail znajdziemy tam podkatalogi powiązane z usługami pocztowymi, w bardzo szerokim zakresie.

Jeżeli teraz wejdziemy do np. do pokatalogu postfix i wydamy polecenie make system odpyta nas z jakimi opcjami ma być przygotowane oprogramowanie. Potem patrząc na powiązania odpyta o konfigurację poszczególnych zależności. Jeżli zakończy się ten proces możemy wydać polecenie make install — oprogramowanie zostanie zainstalowane, a następnie polecenie make clean i zostaną usunięte tymczasowe pliki — także w katalogach zależności.

Tak zainstalowane oprogramowanie jest widziane przez program pkg , można też mieszać sposoby instalacji.

Pozostawiam kwestię ręcznej kompilacji oprogramowania ze źródeł ponieważ nie jest to nic odrębnego w systemach uniksopodobnych.

Core i reszta oprogramowania

FreeBSD dostarczane jest z pewnym, podstawowym oprogramowaniem. Zapewnia ono podstawową funkcjonalność w sieci. Ale oczywiście potrzeby użytkowników są zdecydowanie większe. Programy zainstalowane przy pomocy portów i pakietów przechowywane są w przestrzeni odseparowanej od właściwego systemu (w podkatalogach poniżej  /usr/local), co pozwala na zachowanie integralności obu warstw oprogramowania. Ułatwia to np. upgrade systemu.

Ile oprogramowania jest w portach

Dużo, trzydzieści kilka tysięcy. Zresztą nazwa ports pochodzi od przenoszenia oprogramowania, więc tutaj jest widoczna pewna dynamika. Starsze, nieużywane wersje są wycofywane, pojawiają się wersje nowsze. Porty, reprezentowane przecież przez zwykłe pliki w podkatalogach /usr/ports można updatować wykorzystując np. program git , jest też lżejszy program gitup, stworzony z myślą o wykorzystaniu środowiska portów.

Starsze wersje oprogramowanie

Porty, w starszej wersji mogą się przydać do budowania starszych wersji oprogramowania wygodniejszej dla nas z jakowyś względów. Można po prostu sięgnąć do starszej migawki portów w danej gałęzi, czy gałęziach. Warto jednak popatrzeć na uwagi dotyczące bezpieczeństwa. Być może nowe wersje były reakcją na problemy z bezpieczeństwem aplikacji.

Czy warto zająć się FreeBSD

Uważam, że tak. W miejscach, gdzie musiałem budować jakiś firewall w oparciu o komputery zdecydowanie łatwiej robiło mi się to z wykorzystaniem FreeBSD. Prosto i praktycznie bezobsługowo. FreeBSD oferuje trzy różne firewalle, poza tym bardzo prosty i przejrzysty program do przycinania QoS, który pozwala na przycięcie pasma w razie potrzeby. DummyNet integruje się bardzo łątwo z ipfw.

Rozumiem potrzebę jednolitości platform, ale w wielu firmach, których duża część systemów działała pod kontrolą systemu CentOS, zaczęła sie dyskusja co zrobić po zmianach polityki wględem dystrybucji CentOS. W przypadku FreeBSD takich problemów praktycznie nie było.

comments powered by Disqus