FreeBSD - FreeBSD
Deweloper | Projekt FreeBSD |
---|---|
Rodzina systemów operacyjnych | Uniksopodobny |
Stan pracy | Aktualny |
Model źródłowy | Otwarte źródło |
Pierwsze wydanie | 1 listopada 1993 |
Najnowsze wydanie | 13.0 (13 kwietnia 2021 [±]
12.2 (27 października 2020 ) [±] |
)
Najnowszy podgląd | 13.0-RC4 (29 marca 2021 [±] | )
Magazyn | |
Cel marketingowy | Serwery , stacje robocze , systemy wbudowane , zapory sieciowe |
Menedżer pakietów | pakiet |
Platformy | x86-64 , ARM64 , ARM32 , IA-32 , MIPS , PowerPC , RISC-V , 64-bitowy SPARC |
Typ jądra | Jądro monolityczne |
Kraina użytkownika | BSD |
Domyślny interfejs użytkownika |
Powłoka uniksowa |
Licencja | FreeBSD licencji , licencji FreeBSD Documentation |
Oficjalna strona internetowa | www |
FreeBSD to darmowy i open-source podobny do Uniksa system operacyjny wywodzący się z Berkeley Software Distribution (BSD), który został oparty na Research Unix . Pierwsza wersja FreeBSD została wydana w 1993 r. W 2005 r. FreeBSD było najpopularniejszym systemem operacyjnym BSD typu open source , stanowiąc ponad trzy czwarte wszystkich zainstalowanych prostych, liberalnie licencjonowanych systemów BSD.
FreeBSD ma podobieństwa do Linuksa , z dwiema głównymi różnicami w zakresie i licencjonowaniu: FreeBSD utrzymuje kompletny system, tj. projekt dostarcza jądro , sterowniki urządzeń , narzędzia przestrzeni użytkownika i dokumentację , w przeciwieństwie do Linuksa dostarczającego tylko jądro i sterowniki oraz polegającego na osobom trzecim w zakresie oprogramowania systemowego; a kod źródłowy FreeBSD jest ogólnie udostępniany na liberalnej licencji BSD , w przeciwieństwie do licencji GPL typu copyleft używanej przez Linuksa.
Projekt FreeBSD obejmuje zespół ds. bezpieczeństwa nadzorujący całe oprogramowanie dostarczane w podstawowej dystrybucji. Szeroka gama dodatkowych aplikacji firm trzecich może być instalowana z pakietów binarnych przy użyciu systemu zarządzania pakietami pkg lub ze źródeł poprzez porty FreeBSD lub ręcznie kompilując kod źródłowy.
Znaczna część kodu FreeBSD stała się integralną częścią innych systemów operacyjnych, takich jak Darwin (podstawa dla macOS , iOS , iPadOS , watchOS i tvOS ), TrueNAS ( system operacyjny NAS / SAN o otwartym kodzie źródłowym ) oraz oprogramowanie systemowe dla konsole do gier PlayStation 3 i PlayStation 4 .
Historia
Tło
W 1974 profesor Bob Fabry z Uniwersytetu Kalifornijskiego w Berkeley nabył licencję na źródła Unix od AT&T . Przy wsparciu finansowym DARPA , Computer Systems Research Group zaczęła modyfikować i ulepszać AT&T Research Unix. Nazwali tę zmodyfikowaną wersję "Berkeley Unix" lub " Berkeley Software Distribution " (BSD), implementując funkcje takie jak TCP/IP , pamięć wirtualna i Berkeley Fast File System . Projekt BSD został założony w 1976 roku przez Billa Joya . Ale ponieważ BSD zawierał kod z AT&T Unix, wszyscy odbiorcy musieli najpierw uzyskać licencję od AT&T, aby używać BSD.
W czerwcu 1989 roku wydano „Networking Release 1” lub po prostu Net-1 – pierwszą publiczną wersję BSD. Po wydaniu Net-1 Keith Bostic , twórca BSD, zasugerował zastąpienie całego kodu AT&T kodem, który można swobodnie redystrybuować na oryginalnej licencji BSD . Rozpoczęły się prace nad wymianą kodu AT&T i po 18 miesiącach większość kodu AT&T została wymieniona. Jednak w jądrze pozostało sześć plików zawierających kod AT&T. Twórcy BSD zdecydowali się wydać "Networking Release 2" (Net-2) bez tych sześciu plików. Net-2 został wydany w 1991 roku.
Narodziny FreeBSD
W 1992 roku, kilka miesięcy po wydaniu Net-2, William i Lynne Jolitz napisali zamienniki sześciu plików AT&T, przenieśli BSD na mikroprocesory Intel 80386 i nazwali swój nowy system operacyjny 386BSD . Wydali 386BSD za pośrednictwem anonimowego serwera FTP. Przepływ rozwoju 386BSD był powolny i po okresie zaniedbań, grupa użytkowników 386BSD zdecydowała się na samodzielne rozgałęzienie, aby mogli aktualizować system operacyjny. 19 czerwca 1993 roku projekt został wybrany pod nazwą FreeBSD. Pierwsza wersja FreeBSD została wydana w listopadzie 1993 roku.
Na początku powstania projektu, firma o nazwie Walnut Creek CDROM , za sugestią dwóch programistów FreeBSD, zgodziła się wydać system operacyjny na CD-ROM . Oprócz tego firma zatrudniała Jordana Hubbarda i Davida Greenmana, prowadziła FreeBSD na swoich serwerach, sponsorowała konferencje FreeBSD i publikowała książki związane z FreeBSD, w tym The Complete FreeBSD autorstwa Grega Leheya . Do 1997 roku FreeBSD było "najbardziej udanym produktem Walnut Creek". Firma zmieniła później nazwę na The FreeBSD Mall, a później na iXsystems .
Obecnie FreeBSD jest używane przez wiele firm informatycznych, takich jak IBM , Nokia , Juniper Networks i NetApp do tworzenia swoich produktów. Niektóre części firmy Apple „s Mac OS X systemu operacyjnego są oparte na FreeBSD. System operacyjny PlayStation 3 również zapożycza pewne komponenty z FreeBSD, podczas gdy system operacyjny PlayStation 4 wywodzi się z FreeBSD 9. Netflix , WhatsApp i FlightAware to także przykłady dużych, odnoszących sukcesy i mocno zorientowanych na sieć firm, które korzystają z FreeBSD.
Pozew sądowy
386BSD i FreeBSD wywodzą się z wydań BSD. W styczniu 1992 roku firma Berkeley Software Design Inc. (BSDi) zaczęła wypuszczać BSD/386 , później nazwany BSD/OS, system operacyjny podobny do FreeBSD i oparty na 4.3BSD Net/2. AT&T złożyło pozew przeciwko BSDi i rzekomo rozpowszechniał kod źródłowy AT&T z naruszeniem umów licencyjnych. Sprawa została rozstrzygnięta poza sądem, a dokładne warunki nie zostały ujawnione. Jedynym, który został upubliczniony, było to, że BSDi przeniesie swoją bazę źródłową do nowszych źródeł 4.4BSD-Lite2. Chociaż nie był zaangażowany w spory sądowe, zasugerowano FreeBSD, że powinni również przejść na 4.4BSD-Lite2. FreeBSD 2.0, który został wydany w listopadzie 1994 roku, był pierwszą wersją FreeBSD bez żadnego kodu od AT&T.
Cechy
Przypadków użycia
FreeBSD zawiera znaczącą kolekcję oprogramowania związane z serwerem w systemie bazowym i kolekcji portów, umożliwiając FreeBSD być konfigurowane i używane jako serwer poczty , serwer WWW , firewall , serwer FTP , serwer DNS i routera , między innymi aplikacjami.
FreeBSD można zainstalować na zwykłym komputerze stacjonarnym lub laptopie. X Window System nie jest instalowany domyślnie, ale jest dostępny w FreeBSD Porty kolekcji . Wayland (protokół serwera wyświetlania) jest również dostępny dla FreeBSD (nieoficjalnie obsługiwany). Wiele środowisk graficznych, takich jak GNOME , KDE i Xfce , a także lekkie menedżery okien, takie jak Openbox , Fluxbox , dwm i bspwm , są również dostępne dla FreeBSD. Od FreeBSD 12 obsługa nowoczesnego stosu graficznego jest dostępna za pośrednictwem drm-kmod. Obsługiwana jest duża liczba kart bezprzewodowych.
FreeBSD wydaje obrazy instalacyjne dla obsługiwanych platform. Od FreeBSD 13 skupiono się na platformach x86-64 i aarch64 , które wspierają Tier 1. x86-32 jest platformą Tier 1 we FreeBSD 12, ale jest platformą Tier 2 we FreeBSD 13. 32-bitowe procesory ARM używające armv6 lub armv7 również obsługują Tier 2. Obsługiwane są również 64-bitowe wersje PowerPC i RISC-V . Rośnie zainteresowanie architekturą RISC-V. MIPS architektura port został oznaczony na amortyzację i nie ma obrazu dla każdej wersji aktualnie obsługiwane. FreeBSD 12 obsługuje SPARC, ale nie ma obrazu dla FreeBSD 13.
Sieć
Stos TCP/IP FreeBSD jest oparty na implementacji TCP/IP 4.2BSD, która w znacznym stopniu przyczyniła się do powszechnego przyjęcia tych protokołów. FreeBSD obsługuje również IPv6 , SCTP , IPSec i sieci bezprzewodowe ( Wi-Fi ). Stosy IPv6 i IPSec zostały zaczerpnięte z projektu KAME . Przed wersją 11.0 FreeBSD obsługiwał protokoły IPX i AppleTalk , ale są one uważane za stare i zostały porzucone.
Od FreeBSD 5.4, wsparcie dla Common Address Redundancy Protocol (CARP) zostało zaimportowane z projektu OpenBSD . CARP pozwala wielu węzłom dzielić zestaw adresów IP, więc jeśli jeden z węzłów ulegnie awarii, inne węzły nadal mogą obsługiwać żądania.
Składowanie
FreeBSD ma kilka unikalnych funkcji związanych z przechowywaniem. Aktualizacje miękkie mogą chronić spójność systemu plików UFS (szeroko stosowanego na BSD) w przypadku awarii systemu. Migawki systemu plików umożliwiają wydajne tworzenie obrazu systemu plików UFS w jednej chwili. Migawki umożliwiają niezawodne tworzenie kopii zapasowych działającego systemu plików. GEOM to modułowa platforma, która zapewnia macierz RAID (obecnie poziomy 0, 1, 3), pełne szyfrowanie dysku , kronikowanie , konkatenację, buforowanie i dostęp do sieciowej pamięci masowej. GEOM umożliwia budowanie złożonych rozwiązań pamięci masowej łączących („łańcuchowe”) te mechanizmy. FreeBSD udostępnia dwa frameworki do szyfrowania danych: GBDE i Geli . Zarówno GBDE, jak i Geli działają na poziomie dysku. GBDE został napisany przez Poul-Henning Kamp i jest rozpowszechniany na dwuklauzulowej licencji BSD. Geli to alternatywa dla GBDE napisana przez Pawła Jakuba Dawidka i po raz pierwszy pojawiła się we FreeBSD 6.0.
Od wersji 7.0 FreeBSD obsługuje system plików ZFS . ZFS był wcześniej systemem plików o otwartym kodzie źródłowym, który został po raz pierwszy opracowany przez Sun Microsystems , ale kiedy Oracle przejął firmę Sun, ZFS stał się produktem zastrzeżonym. Jednak projekt FreeBSD wciąż się rozwija i ulepsza swoją implementację ZFS poprzez projekt OpenZFS .
Bezpieczeństwo
FreeBSD zapewnia kilka funkcji związanych z bezpieczeństwem, w tym listy kontroli dostępu (ACL), audyt zdarzeń bezpieczeństwa, rozszerzone atrybuty systemu plików, obowiązkową kontrolę dostępu (MAC) i szczegółowe możliwości . Te ulepszenia bezpieczeństwa zostały opracowane przez projekt TrustedBSD . Projekt został założony przez Roberta Watsona w celu wdrożenia koncepcji z Common Criteria for Information Technology Security Evaluation oraz Orange Book . Ten projekt jest w toku, a wiele jego rozszerzeń zostało zintegrowanych z FreeBSD. Projekt jest wspierany przez różne organizacje, w tym DARPA, NSA, Network Associates Laboratories, Safeport Network Services, University of Pennsylvania, Yahoo!, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, University of Cambridge Laboratorium komputerowe i inne.
Projekt został również przeniesiony NSA „s KOLBY wdrożenia / TE z SELinux do FreeBSD. Inne prace obejmują rozwój OpenBSM , implementacji open source Sun's Basic Security Module (BSM) API oraz formatu pliku dziennika audytu, który obsługuje rozbudowany system audytu bezpieczeństwa. Zostało to wydane jako część FreeBSD 6.2. Inne prace nad infrastrukturą we FreeBSD wykonywane w ramach projektu TrustedBSD obejmowały GEOM i OpenPAM.
Większość komponentów projektu TrustedBSD zostaje ostatecznie złożona do głównych źródeł FreeBSD. Ponadto wiele funkcji, po osiągnięciu pełnej dojrzałości, trafia do innych systemów operacyjnych. Na przykład OpenPAM został zaadoptowany przez NetBSD . Co więcej, platforma TrustedBSD MAC Framework została zaadoptowana przez Apple dla systemu macOS .
FreeBSD jest dostarczany z trzema różnymi pakietami firewalla: IPFW , pf i IPFilter . IPFW jest natywną zaporą sieciową FreeBSD. pf został pobrany z OpenBSD, a IPFilter został przeniesiony do FreeBSD przez Darrena Reeda.
Zaczerpnięty z OpenBSD, program OpenSSH był zawarty w domyślnej instalacji. OpenSSH jest darmową implementacją protokołu SSH i zastępuje telnet . W przeciwieństwie do telnetu, OpenSSH szyfruje wszystkie informacje (w tym nazwy użytkowników i hasła).
W listopadzie 2012 roku zespół ds. bezpieczeństwa FreeBSD ogłosił, że hakerzy uzyskali nieautoryzowany dostęp do dwóch serwerów projektu. Te serwery zostały natychmiast wyłączone. Więcej badań wykazało, że pierwszy nieautoryzowany dostęp hakerów miał miejsce 19 września. Najwyraźniej hakerzy uzyskali dostęp do tych serwerów, kradnąc klucze SSH od jednego z programistów, a nie wykorzystując błąd w samym systemie operacyjnym. Te dwa zhakowane serwery były częścią infrastruktury wykorzystywanej do tworzenia pakietów oprogramowania innych firm. Zespół Bezpieczeństwa FreeBSD sprawdził integralność pakietów binarnych i ogłosił, że nie dokonano żadnych nieautoryzowanych zmian w pakietach binarnych, ale stwierdził, że nie może zagwarantować integralności pakietów pobranych między 19 września a 11 listopada.
Ruchliwość
FreeBSD został przeniesiony do różnych architektur zestawów instrukcji . Projekt FreeBSD organizuje architektury w warstwy, które charakteryzują poziom zapewnianego wsparcia. Architektury warstwy 1 są dojrzałe iw pełni obsługiwane, np. jest to jedyna warstwa „wspierana przez oficera bezpieczeństwa”. Architektury warstwy 3 są eksperymentalne lub nie są już aktywnie rozwijane, a architektury warstwy 4 w ogóle nie mają wsparcia.
Od marca 2021 FreeBSD zostało przeniesione na następujące architektury:
Architektura | Poziom wsparcia | Uwagi |
---|---|---|
x86-64 | Poziom 1 | określany jako „amd64” |
x86 (IA-32) | Poziom 1 (poziom 2 w 13.x) | określany jako „i386” |
64-bitowe ARM | Poziom 1 | |
32-bitowe ARM | Poziom 2 | |
MIPS | Poziom 2 | |
32-bitowy i 64-bitowy PowerPC | Poziom 2 | |
64-bitowy SPARC | Poziom 2 (poziom 4 w 13.x) | tylko architektura 64-bitowa (V9) |
64-bitowy RISC-V | Poziom 3 (poziom 2 w 13.x) | od 12-WYDANIA |
NEC PC-9801 | Poziom 4 (poziom 2 w 11.x) | określany jako „pc98”, obsługa usunięta w 12-CURRENT |
IA-64 | (był poziom 3) | nieobsługiwane od 11,0 |
DEC Alfa | (był poziom 4) | wsparcie przerwane w 7.0 |
Obsługa 32-bitowego ARM (w tym OTG) i MIPS jest skierowana głównie do systemów wbudowanych ( ARM64 jest również skierowany do serwerów), jednak FreeBSD/ARM działa na wielu komputerach jednopłytkowych , w tym BeagleBone Black , Raspberry Pi i Wandboard .
Kompatybilność sprzętowa
Obsługiwane urządzenia są wymienione w Informacjach o sprzęcie FreeBSD 12.1-RELEASE. Dokument opisuje urządzenia, o których obecnie wiadomo, że są obsługiwane przez FreeBSD. Inne konfiguracje również mogą działać, ale po prostu nie zostały jeszcze przetestowane. Wstępne, automatycznie wyodrębniane listy obsługiwanych identyfikatorów urządzeń są dostępne w repozytorium stron trzecich.
W 2020 roku wprowadzono nowy projekt automatycznego zbierania informacji o testowanych konfiguracjach sprzętowych.
Oprogramowanie innych firm
FreeBSD posiada repozytorium oprogramowania z ponad 30 000 aplikacji opracowanych przez strony trzecie. Przykłady obejmują: systemy okienkowe , przeglądarki internetowe , klienty poczty e-mail , pakiety biurowe i tak dalej. Ogólnie rzecz biorąc, sam projekt nie rozwija tego oprogramowania, a jedynie framework umożliwiający instalację tych programów, znany jako kolekcja Ports. Aplikacje mogą być skompilowane ze źródeł („porty”), pod warunkiem, że zezwalają na to ich warunki licencyjne, lub pobrane jako prekompilowane pliki binarne („pakiety”). Kolekcja Ports obsługuje obecne i stabilne gałęzie FreeBSD. Starsze wersje nie są obsługiwane i mogą, ale nie muszą działać poprawnie z aktualną kolekcją portów.
Porty używają plików Makefile do automatycznego pobierania kodu źródłowego żądanej aplikacji z lokalnego lub zdalnego repozytorium , rozpakowywania go w systemie, nakładania na niego łat i kompilacji. W zależności od rozmiaru kodu źródłowego kompilacja może zająć dużo czasu, ale daje użytkownikowi większą kontrolę nad procesem i jego wynikiem. Większość portów ma również odpowiedniki pakietów (tj. prekompilowane pliki binarne), dając użytkownikowi wybór. Chociaż ta metoda jest szybsza, użytkownik ma mniej opcji dostosowywania.
FreeBSD w wersji 10.0 wprowadził menedżera pakietów pkg jako zamiennik poprzednio używanych narzędzi pakietowych. Jest funkcjonalnie podobny do apt i yum w dystrybucjach Linuksa . Pozwala na instalację, aktualizację i usuwanie zarówno portów, jak i pakietów. Oprócz pkg pakiet PackageKit może również służyć do uzyskiwania dostępu do kolekcji portów.
Więzienia
Po raz pierwszy wprowadzone w FreeBSD w wersji 4, więzienia są mechanizmem bezpieczeństwa i implementacją wirtualizacji na poziomie systemu operacyjnego, która umożliwia użytkownikowi uruchamianie wielu instancji systemu operacyjnego gościa na hoście FreeBSD. Jest to ulepszona wersja tradycyjnego mechanizmu chroot . Proces działający w takim więzieniu nie może uzyskać dostępu do zasobów znajdujących się poza nim. Każde więzienie ma własną nazwę hosta i adres IP . Możliwe jest prowadzenie wielu więzień w tym samym czasie, ale jądro jest wspólne dla wszystkich. Dlatego tylko oprogramowanie obsługiwane przez jądro FreeBSD może być uruchamiane w więzieniu.
Wirtualizacja
bhyve , nowe rozwiązanie do wirtualizacji, zostało wprowadzone we FreeBSD 10.0. bhyve pozwala użytkownikowi na jednoczesne uruchamianie wielu systemów operacyjnych gościa (FreeBSD, OpenBSD , Linux i Microsoft Windows ). Planowane są inne systemy operacyjne, takie jak Illumos . bhyve zostało napisane przez Neela Natu i Petera Grehana i po raz pierwszy zostało ogłoszone na konferencji BSDCan 2011. Główna różnica między więzieniami bhyve i FreeBSD polega na tym, że więzienia są wirtualizacją na poziomie systemu operacyjnego i dlatego są ograniczone tylko do gości FreeBSD; ale bhyve jest hiperwizorem typu 2 i nie ogranicza się tylko do gości FreeBSD. Dla porównania, bhyve to technologia podobna do KVM, podczas gdy więzienia są bliżej kontenerów LXC czy stref Solaris . Instancje Amazon EC2 AMI są również obsługiwane przezamazon-ssm-agent
Od czasu FreeBSD 11.0, istnieje wsparcie dla uruchamiania jako uprzywilejowana domena Dom0 dla hiperwizora Xen typu 1. Wsparcie dla uruchamiania jako DomU (gość) jest dostępne od wersji FreeBSD 8.0.
VirtualBox (bez pakietu rozszerzeń o zamkniętym kodzie źródłowym ) i QEMU są dostępne we FreeBSD.
Warstwy zgodności systemu operacyjnego
Większość oprogramowania działającego pod Linuksem może działać we FreeBSD przy użyciu opcjonalnej wbudowanej warstwy kompatybilności . Dlatego większość plików binarnych Linuksa może być uruchamiana na FreeBSD, w tym niektóre zastrzeżone aplikacje dystrybuowane tylko w formie binarnej. Ta warstwa kompatybilności nie jest emulacją ; Interfejs wywołań systemowych Linuksa jest zaimplementowany w jądrze FreeBSD, a zatem obrazy wykonywalne Linuksa i biblioteki współdzielone są traktowane tak samo, jak natywne obrazy wykonywalne i biblioteki współdzielone FreeBSD. Dodatkowo, FreeBSD zapewnia warstwy kompatybilności dla kilku innych uniksopodobnych systemów operacyjnych , oprócz Linuksa, takich jak BSD/OS i SVR4 , jednak użytkownicy częściej kompilują te programy bezpośrednio na FreeBSD.
Podczas uruchamiania binariów Linuksa nie odnotowano żadnych zauważalnych spadków wydajności w stosunku do natywnych programów FreeBSD, aw niektórych przypadkach mogą one działać nawet płynniej niż pod Linuksem. Jednak warstwa ta nie jest całkowicie płynna, a niektóre binaria Linuksa są bezużyteczne lub tylko częściowo nadają się do użytku we FreeBSD. Istnieje wsparcie dla wywołań systemowych do wersji 2.6.18, dostępnej od FreeBSD 7.0 . Od wersji 10.3 FreeBSD może uruchamiać 64-bitowe binaria Linuksa.
FreeBSD zaimplementował szereg interfejsów jądra NDIS natywnych Microsoft Windows , aby umożliwić FreeBSD uruchamianie (w przeciwnym razie) sterowników sieciowych tylko dla systemu Windows.
Warstwa kompatybilności Wine , która umożliwia uruchamianie wielu aplikacji Windows, zwłaszcza gier, bez (licencjonowanej) kopii Microsoft Windows , jest dostępna dla FreeBSD.
Jądro
Jądro FreeBSD zapewnia obsługę niektórych podstawowych zadań, takich jak zarządzanie procesami, komunikacja, uruchamianie i systemy plików. FreeBSD ma jądro monolityczne o modułowej konstrukcji. Różne części jądra, takie jak sterowniki, są projektowane jako moduły. Użytkownik może ładować i rozładowywać te moduły w dowolnym momencie. ULE jest domyślnym harmonogramem we FreeBSD od wersji 7.1, obsługuje SMP i SMT . Jądro FreeBSD posiada również skalowalny interfejs powiadamiania o zdarzeniach o nazwie kqueue . Został przeniesiony do innych pochodnych BSD, takich jak OpenBSD i NetBSD . Wątkowanie jądra zostało wprowadzone we FreeBSD 5.0 przy użyciu modelu wątków M:N . Model ten teoretycznie działa dobrze, ale jest trudny do wdrożenia i niewiele systemów operacyjnych go obsługuje. Chociaż implementacja tego modelu we FreeBSD działała, nie działała dobrze, więc począwszy od wersji 7.0, FreeBSD zaczął używać modelu wątków 1:1 , zwanego libthr.
Dokumentacja i wsparcie
Dokumentacja FreeBSD składa się z podręczników, stron podręcznika, archiwów list dyskusyjnych, często zadawanych pytań i różnych artykułów, głównie utrzymywanych przez The FreeBSD Documentation Project. Dokumentacja FreeBSD jest przetłumaczona na kilka języków. Cała oficjalna dokumentacja jest udostępniana na licencji FreeBSD Documentation License , "dopuszczalnej licencji wolnej dokumentacji nie będącej copyleft, która jest zgodna z GNU FDL". Dokumentacja FreeBSD jest określana jako "wysokiej jakości".
Projekt FreeBSD utrzymuje różne listy dyskusyjne. Wśród najpopularniejszych list mailingowych znajdują się pytania dotyczące FreeBSD (pytania ogólne) i hakerzy FreeBSD (miejsce zadawania bardziej technicznych pytań).
Od 2004 roku baza danych New York City BSD Users Group dostarcza informacje dmesg z kolekcji komputerów ( laptopy , stacje robocze , komputery jednopłytkowe , systemy wbudowane , maszyny wirtualne itp.) z systemem FreeBSD.
Instalatorzy
Od wersji 2.0 do 8.4 FreeBSD używał programu sysinstall jako głównego instalatora. Został napisany w C przez Jordana Hubbarda . Wykorzystuje tekstowy interfejs użytkownika i jest podzielony na szereg menu i ekranów, które można wykorzystać do konfiguracji i sterowania procesem instalacji. Może być również używany do instalowania portów i pakietów jako alternatywy dla interfejsu wiersza poleceń .
Narzędzie sysinstall jest obecnie uważane za przestarzałe na rzecz bsdinstall, nowego instalatora wprowadzonego we FreeBSD 9.0. bsdinstall jest "lekkim zamiennikiem sysinstall", który został napisany w sh. Według OSNews „Stracił niektóre funkcje, zyskując inne, ale jest to znacznie bardziej elastyczna konstrukcja i ostatecznie będzie to znacząca poprawa”.
Powłoka
Domyślną powłoką FreeBSD jest powłoka tcsh dla roota i powłoka Almquist (sh) dla zwykłych użytkowników. Domyślną powłoką skryptową jest powłoka Almquist.
Rozwój
FreeBSD jest rozwijany przez zespół wolontariuszy zlokalizowany na całym świecie. Twórcy wykorzystują Internet do wszelkiej komunikacji, a wielu z nich nie spotkało się osobiście. Oprócz sponsorowanych przez użytkowników lokalnych grup użytkowników, w których uczestniczą użytkownicy, USENIX organizuje coroczną konferencję o nazwie BSDcon . BSDcon nie jest specyficzny dla FreeBSD, więc zajmuje się technicznymi aspektami wszystkich systemów operacyjnych wywodzących się z BSD, w tym OpenBSD i NetBSD . Oprócz BSDcon, trzy inne doroczne konferencje, EuroBSDCon, AsiaBSDCon i BSDCan odbywają się odpowiednio w Europie , Japonii i Kanadzie .
Struktura zarządzania
Projekt FreeBSD jest prowadzony przez około 500 zatwierdzających lub programistów, którzy mają dostęp do głównych repozytoriów kodu źródłowego i mogą rozwijać, debugować lub ulepszać dowolną część systemu. Większość programistów to wolontariusze, a niewielu programistów opłacają niektóre firmy. Istnieje kilka rodzajów osób zatwierdzających, w tym zatwierdzających źródła (podstawowy system operacyjny), zatwierdzających dokumenty (autorzy dokumentacji i witryn internetowych) oraz porty (przenoszenie i infrastruktura aplikacji innych firm). Co dwa lata autorzy FreeBSD wybierają 9-osobowy zespół FreeBSD Core Team, który jest odpowiedzialny za ogólne kierowanie projektem, ustalanie i egzekwowanie reguł projektu oraz zatwierdzanie nowych autorów lub przyznawanie dostępu do zatwierdzenia SVN. Wiele obowiązków jest oficjalnie przypisywanych innym zespołom programistycznym przez zespół FreeBSD Core, na przykład odpowiedzialność za zarządzanie zbiorem portów jest delegowana na Zespół ds. Zarządzania Portami.
Oprócz programistów FreeBSD ma tysiące „współtwórców”. Współtwórcy są również ochotnikami spoza projektu FreeBSD, którzy przesyłają łatki do rozpatrzenia przez autorów, ponieważ nie mają bezpośredniego dostępu do repozytorium kodu źródłowego FreeBSD. Zatwierdzający oceniają następnie zgłoszenia współtwórców i decydują, co zaakceptować, a co odrzucić. Współtwórca, który przesyła wysokiej jakości łatki, jest często proszony o zostanie committerem.
Gałęzie
Deweloperzy FreeBSD utrzymują co najmniej dwie gałęzie jednoczesnego rozwoju. -BIEŻĄCE gałąź zawsze oznacza „ krwawienia krawędź ” rozwoju FreeBSD. Dla każdego głównego numeru wersji tworzona jest gałąź -STABLE FreeBSD, z której -RELEASE jest wycinane mniej więcej raz na 4–6 miesięcy. Jeśli funkcja jest wystarczająco stabilna i dojrzała, prawdopodobnie zostanie przeniesiona ( MFC lub Merge z CURRENT w slangu programisty FreeBSD) do gałęzi -STABLE .
Fundacja
„W zeszłym tygodniu przekazałem milion dolarów Fundacji FreeBSD, która wspiera system operacyjny typu open source, który pomógł milionom programistów realizować swoje pasje i realizować swoje pomysły. Właściwie jestem jedną z tych osób. FreeBSD pod koniec lat 90., kiedy nie miałem dużo pieniędzy i mieszkałem w rządowych mieszkaniach. W pewnym sensie FreeBSD pomogło mi wyjść z biedy – jednym z głównych powodów, dla których dostałem pracę w Yahoo!, jest to, że używali FreeBSD i był to mój system operacyjny, który wybrałem. Wiele lat później, kiedy Brian i ja rozpoczęliśmy tworzenie WhatsApp, użyliśmy FreeBSD do utrzymania działania naszych serwerów. Nadal to robimy. Ogłaszam tę darowiznę, aby rzucić światło na dobro praca jest wykonywana przez Fundację FreeBSD, z nadzieją, że inni również pomogą posunąć ten projekt do przodu.Wszyscy skorzystamy, jeśli FreeBSD będzie nadal dawać ludziom taką samą szansę, jaką dała mi – jeśli może wyciągnąć więcej imigrantów z ubóstwa i pomóż większej liczbie startupów zbudować coś, co odniesie sukces ul, a nawet transformacyjny”.
Rozwój FreeBSD jest częściowo wspierany przez Fundację FreeBSD. Fundacja jest organizacją non-profit, która przyjmuje darowizny na finansowanie rozwoju FreeBSD. Takie fundusze zostały wykorzystane do sponsorowania programistów konkretnych działań, zakupu sprzętu i infrastruktury sieciowej, przyznawania grantów na podróże na zjazdy programistów oraz zapewniania wsparcia prawnego dla projektu FreeBSD.
W listopadzie 2014 Fundacja FreeBSD otrzymała darowiznę w wysokości 1 miliona dolarów od Jana Kouma , współzałożyciela i dyrektora generalnego WhatsApp – największą pojedynczą darowiznę na rzecz Fundacji od jej powstania. W grudniu 2016 r. Jan Koum przekazał kolejne 500 tys. dolarów. Sam Jan Koum jest użytkownikiem FreeBSD od późnych lat 90., a WhatsApp używa FreeBSD na swoich serwerach.
Licencja
FreeBSD jest wydawane na różnych licencjach open-source. Kod jądra i większość nowo utworzonego kodu są wydawane na podstawie dwuklauzowej licencji BSD, która pozwala każdemu na używanie i redystrybucję FreeBSD według własnego uznania. Ta licencja została zatwierdzona przez Free Software Foundation i Open Source Initiative jako licencja wolnego oprogramowania i licencja Open Source. Free Software Foundation opisała tę licencję jako „wolną, liberalną, nie będącą copyleft licencją wolnego oprogramowania, zgodną z GNU GPL”. Istnieją części wydane na trzy- i czteroklauzulowych licencjach BSD, a także na licencji Beerware . Niektóre sterowniki urządzeń zawierają binarny obiekt blob , taki jak Atheros HAL wersji FreeBSD przed 7.2. Część kodu dostarczonego przez inne projekty jest na licencji GPL , LGPL , CDDL i ISC . Cały kod na licencji GPL i CDDL jest wyraźnie oddzielony od kodu na licencjach liberalnych, aby ułatwić użytkownikom, takim jak producenci urządzeń wbudowanych, korzystanie tylko z liberalnych licencji wolnego oprogramowania . ClangBSD ma na celu zastąpienie niektórych zależności GPL w podstawowym systemie FreeBSD poprzez zastąpienie kolekcji kompilatorów GNU kompilatorem LLVM / Clang na licencji BSD . ClangBSD stało się samo-hostingiem 16 kwietnia 2010 roku.
Logo
Przez wiele lat logo FreeBSD było ogólnym demonem BSD , zwanym również Beastie , co jest zniekształconą wymową BSD . Jednak Beastie nie była unikalna dla FreeBSD. Po raz pierwszy pojawiły się w 1976 roku na koszulkach Unix zakupionych przez Bell Labs , bardziej popularne wersje demona BSD zostały narysowane przez reżysera animacji Johna Lassetera począwszy od 1984 roku. Kilka wersji specyficznych dla FreeBSD zostało później narysowanych przez Tatsumi Hosokawę.
W kategoriach litograficznych grafika Lasseter nie jest grafiką liniową i często wymaga sitodruku, czterokolorowego druku offsetowego zdjęć w celu wiernego odwzorowania na fizycznych powierzchniach, takich jak papier. Ponadto uznano, że demon BSD jest zbyt szczegółowy graficznie, aby można było płynnie skalować rozmiar i był estetycznie nadmiernie zależny od wielu gradacji kolorów, przez co trudno było go wiarygodnie odtworzyć jako proste, znormalizowane logo tylko w dwóch lub trzech kolorach, a tym bardziej w trybie monochromatycznym. Z powodu tych obaw zorganizowano konkurs i 8 października 2005 r. opublikowano nowe logo zaprojektowane przez Antona K. Gurala, wciąż nawiązujące do demona BSD. Jednak Robert Watson ogłosił, że projekt FreeBSD „poszukuje nowego logo, ale nie nową maskotką” oraz że projekt FreeBSD będzie nadal wykorzystywał Beastie jako swoją maskotkę.
Nazwa "FreeBSD" została wymyślona przez Davida Greenmana 19 czerwca 1993 roku, inne sugerowane nazwy to "BSDFree86" i "Free86BSD". Slogan FreeBSD „The Power to Serve” jest znakiem towarowym Fundacji FreeBSD.
Pochodne
Istnieje wiele dystrybucji oprogramowania opartych na FreeBSD. Wybitne pochodne obejmują:
- DesktopBSD (system operacyjny zorientowany na komputery stacjonarne, pierwotnie oparty na KDE)
- TrueNAS (dla urządzeń pamięci masowej podłączonych do sieci )
- FreeSBIE ( płyta CD na żywo )
- GhostBSD ( dystrybucja oparta na MATE , która oferuje również inne środowiska graficzne)
- Północ BSD
- NanoBSD
- PicoBSD
- IntelliStar (system satelitarny obsługujący programy telewizyjne, takie jak Weatherscan i Local On The 8s)
- m0n0wall (zapora)
- OpenServer 10 (serwer)
- OPNsense (zapora)
- pfSense (zapora)
- TrueOS , wcześniej znany jako PC-BSD (przeznaczony dla użytkowników domowych i stacji roboczych, ale z wersją serwerową podobną do FreeNAS i TrueOS pico dla 32-bitowych urządzeń wbudowanych ARM )
- ZaufanyBSD
- XigmaNAS (dla urządzeń pamięci masowej podłączonych do sieci )
Wszystkie te dystrybucje nie mają żadnych lub są tylko niewielkie zmiany w porównaniu z oryginalnym systemem podstawowym FreeBSD. Główną różnicą w stosunku do oryginalnego FreeBSD jest to, że są dostarczane z preinstalowanym i wstępnie skonfigurowanym oprogramowaniem do określonych zastosowań. Można to porównać z dystrybucjami Linuksa , które są kompatybilne z plikami binarnymi, ponieważ używają tego samego jądra, a także używają tych samych podstawowych narzędzi, kompilatorów i bibliotek, a jednocześnie są dostarczane z różnymi aplikacjami, konfiguracjami i brandingiem.
Oprócz tych dystrybucji istnieje kilka niezależnych systemów operacyjnych opartych na FreeBSD. DragonFly BSD to widelec od FreeBSD 4.8 mający na celu inną strategię synchronizacji wieloprocesorowej niż ta wybrana we FreeBSD 5 i rozwój niektórych funkcji mikrojądra . Nie ma na celu pozostania kompatybilnym z FreeBSD i ma ogromne różnice w jądrze i podstawowej przestrzeni użytkownika . MidnightBSD jest rozwidleniem FreeBSD 6.1 mocno zapożyczonym z NeXTSTEP , szczególnie w dziale interfejsu użytkownika.
Darwin , rdzeń firmy Apple jest Macos , zawiera wirtualnego systemu plików i stos sieci pochodzące od tych FreeBSD i części jego przestrzeni użytkownika również FreeBSD wyprowadzone.
Niektóre usługi subskrypcyjne, które są bezpośrednio oparte na FreeBSD, to:
- WhatsApp – przetwarza 2 miliony jednoczesnych połączeń TCP na serwer.
Urządzenia wbudowane i systemy operacyjne urządzeń wbudowanych oparte na FreeBSD obejmują:
- Jałowiec „s JUNOS routera systemu operacyjnego.
- EMC Isilon „s OneFS system operacyjny.
- NetApp 's Data ONTAP 8.x i teraz zastąpiony ONTAP GX (tylko jako moduł ładujący dla zastrzeżonego modułu przestrzeni jądra).
- Open Connect Appliance firmy Netflix do obsługi dostarczania treści.
- PlayStation 4 ( " Orbis OS ")
- Panasas 'Równoległy system plików PanFS
- pfSense , zapora sieciowa typu open source, router i system operacyjny urządzeń zabezpieczających.
Historia wersji
Legenda: | Stara wersja, nieutrzymywana | Starsza wersja, nadal utrzymywana | Aktualna stabilna wersja | Przyszłe wydanie |
---|
Wersja | Data wydania | Obsługiwane do | Znaczące zmiany |
---|---|---|---|
1.x | Listopad 1993 | ||
2.x | 22 listopada 1994 |
|
|
3.x | 16 października 1998 |
|
|
4.x | 14 marca 2000 r. | 31 stycznia 2007 r. |
|
5.x | 14 stycznia 2003 r. | 31 maja 2008 |
|
6.x | 1 listopada 2005 r. | 30 listopada 2010 |
|
7.x | 27 lutego 2008 | 28 lutego 2013 |
|
8.x | 26 listopada 2009 | 1 sierpnia 2015 | |
9.x | 12 stycznia 2012 | 31 grudnia 2016 |
|
10.x | 20 stycznia 2014 | 31 października 2018 |
|
11.x | 10 października 2016 | 30 września 2021 |
|
12.x | 11 grudnia 2018 |
|
|
13.x | 13 kwietnia 2021 |
|
|
Wersja | Data wydania | Obsługiwane do | Znaczące zmiany |
Zobacz też
- BAPP , zestaw powszechnie używanego oprogramowania z FreeBSD
- Dystrybucja oprogramowania Berkeley
- Porównanie systemów operacyjnych BSD
- Porównanie jąder systemu operacyjnego
- Porównanie systemów operacyjnych
- Grupa Badawcza Systemów Komputerowych
- Marshall Kirk McKusick
Bibliografia
Cytaty
Źródła
- Negus, Krzysztof; Caen, Francois (5 maja 2008), BSD UNIX Toolbox: 1000+ poleceń dla FreeBSD, OpenBSD i NetBSD (pierwsze wydanie), Wiley , s. 309, ISBN 978-0-470-37603-4, zarchiwizowane z oryginału w dniu 2 maja 2009 , pobrane 30 kwietnia 2009
- Lavigne, Dru (24 maja 2004), BSD Hacks (pierwsze wydanie), O'Reilly Media , s. 448, ISBN 0-596-00679-9
- Lucas, Michael W. (14 listopada 2007), Absolute FreeBSD (wyd. drugie), No Starch Press , s. 744, ISBN 978-1-59327-151-0
- Lavigne, Dru; Lehey, Greg; Reed, Jeremy C. (20 grudnia 2007), The Best of FreeBSD Basics (pierwsze wydanie), Reed Media Services, s. 596, ISBN 978-0-9790342-2-0
- Hong, Bryan J. (1 kwietnia 2008), Budowanie serwera z FreeBSD 7 (pierwsze wydanie), No Starch Press , s. 288, ISBN 978-1-59327-145-9, zarchiwizowane z oryginału w dniu 7 kwietnia 2008 r. , pobrane 2 kwietnia 2008 r
- Tiemanna, Briana; Urban, Michael (15 czerwca 2006), FreeBSD 6 Unleashed (pierwsze wydanie), Sams , s. 912, ISBN 0-672-32875-5
- Korff, Yanek; Nadzieja, Paco; Potter, Bruce (marzec 2005), Opanowanie bezpieczeństwa FreeBSD i OpenBSD (pierwsze wydanie), O'Reilly Media , s. 464, ISBN 0-596-00626-8
- Lehey, Greg (kwiecień 2003), The Complete FreeBSD (wyd. czwarte), O'Reilly Media , s. 720, numer ISBN 0-596-00516-4
- McKusick, Marshall K.; Neville-Neil, George V. (2 sierpnia 2004), The Design and Implementation of the FreeBSD Operating System (pierwsze wydanie), Addison-Wesley , s. 720, numer ISBN 0-201-70245-2
- Mittelstaedt, Ted (15 grudnia 2000), Przewodnik sieciowy FreeBSD Corporate Networker's Guide (wyd. pierwsze), Addison-Wesley , s. 432, numer ISBN 0-201-70481-1
- Niespodziewanie, Murray; Lee, Chern (1 marca 2004), Podręcznik FreeBSD, tom 1: Podręcznik użytkownika (wyd. trzecie), FreeBSD Mall, s. 408, ISBN 1-57176-327-9
- Stokely, Murray (1 września 2004), The FreeBSD Handbook, Volume 2: Admin Guide (wyd. trzecie), FreeBSD Mall, s. 537, ISBN 1-57176-328-7