Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

FreeBSD 7. Historia 1991 – pierwsze wydanie BSD (386BSD) na procesory x86 21 marca 1993 – początek prac nad NetBSD 19 czerwca 1993 – rozpoczęcie prac.

Podobne prezentacje


Prezentacja na temat: "FreeBSD 7. Historia 1991 – pierwsze wydanie BSD (386BSD) na procesory x86 21 marca 1993 – początek prac nad NetBSD 19 czerwca 1993 – rozpoczęcie prac."— Zapis prezentacji:

1 FreeBSD 7

2 Historia 1991 – pierwsze wydanie BSD (386BSD) na procesory x86 21 marca 1993 – początek prac nad NetBSD 19 czerwca 1993 – rozpoczęcie prac nad projektem FreeBSD 1995 – rozłam w zespole NetBSD – powstanie OpenBSD 2004 – wydzielenie z projektu FreeBSD wersji PC- BSD listopad 2009 roku – wydanie FreeBSD 8.0

3 Filozofia projektu Kompletny system operacyjny, zawierający wbudowany zestaw podstawowych narzędzi Tworzony przez zamkniętą grupę, tzw. Core Team (9 osób), nadzorującą pracę oficjalnych deweloperów (committers, ok. 400 osób) pracujących nad jądrem i base systemu oraz opiekunów portów System oparty na bardzo liberalnej licencji BSD Wydawany jednocześnie w dwóch wersjach: STABLE i CURRENT

4 Core Team Core Team zapowiada wybory 6 tygodni przed ich datą i wybiera sekretarza wyborczego, który przeprowadzi wybory, w ciągu tygodnia od ogłoszenia wyborczego chętni spośród aktywnych programistów mogą zgłaszać swoje kandydatury i publikować oświadczenia wyborcze, głosowanie trwa 4 tygodnie (długi czas uwzględnia ochotniczy charakter prac oraz rozproszenie geograficzne uczestników), każdy z aktywnych programistów może oddać swój głos na maksymalnie 9 spośród zgłoszonych kandydatur, w przeciągu tygodnia następuje przeliczenie oddanych głosów i ogłoszenie wyników, nowo wybrany zespół przejmuje obowiązki w ciągu następnego tygodnia od momentu ogłoszenia wyników. ordynacja wyborcza może zostać zmieniona większością 2/3 głosów, o ile w głosowaniu weźmie udział przynajmniej 50 proc. aktywnych programistów. członkowie Core Team — podobnie jak pozostali committers — są usuwalni większością 2/3 głosów pozostałych członków Core Team.

5 Podstawowe cechy systemu FreeBSD wspiera następujące architektury: x86, x86_64, UltraSparc, IA-64 Itanium, ARM i PowerPC, Alpha (wsparcie zaprzestane) oraz MIPS (w przygotowaniu) Jądro monolityczne, z możliwością dynamicznego ładowania modułów Natywny system plików UFS2 z SoftUpdates

6 Domyślnie wbudowane elementy Base systemu – podstawowe narzędzia wiersza poleceń, usługi typu NFS, SSH itp. Kompilator z zestawem bibliotek niezbędnych do skompilowania jądra i base Kolekcja portów (/usr/ports) Kompletne źródła jądra i całego base (/usr/src) Komplet dokumentacji: manuale, handbook, FAQ, dokumentacja poszczególnych usług itp. (/usr/share/doc)

7 Nazewnictwo urządzeń W systemach BSD większość urządzeń nazywa się inaczej niż w Linuxie – adNsMK – dysk twardy ATA, gdzie N to numer urządzenia, M – numer partycji, K-litera okreslająca dysk logiczny, np. ad0s1a – daNsMK - j.w., ale SCSI lub SATA, np. da0s1a – acdN – cdrom, N – numer urządzenia, np. acd0 – rlN, bceN itp. – karty sieciowe (nazwy są luźno powiązane z producentem karty), N - numer interfejsu, np. rl0, bce0

8 Instalacja Intuicyjny instalator tekstowy, będący również nakładką na menedżera pakietów i użytkowników, konfiguratorem usług, środowiska użytkownika, sieci itp. System można zainstalować niemal ze wszystkich mediów (sieci, nośników lokalnych, zdalnych systemów plików itp.) Do instalacji wystarczy jedna partycja na dysku

9 Przebieg uruchamiania systemu Uruchamianie systemu przebiega inaczej niż w przypadku systemu Linux. Etap 1: Uruchomienie kodu znajdującego się w MBR (pozwala on wybrać uruchamiany system). Etap 2: Uruchomienie programu znajdującego się w sektorze rozruchowym partycji FreeBSD, którego zadaniem jest załadowanie loadera.

10 Przebieg uruchamiania systemu Etap 3: Uruchamianie loadera znajdującego się w katalogu /boot. Zadaniem tego programu jest umożliwienie użytkownikowi wybranie trybu uruchamamiania (normalny, single user itp.) lub uruchomienie trybu naprawy systemu w przypadku np. zainstalowania wadliwego jądra. Etap 4: Loader ładuje właściwe jądro i niezbędne moduły, leżące w katalogu /boot/kernel. Żeby załadować FreeBSD przez gruba należy wykorzystać chainloading lub załadować zamiast jądra plik /boot/loader (wymagana obsługa UFS2 przez gruba).

11 Przebieg uruchamiania systemu Jądro uruchamia skrypt init, który Wykonuje sprawdzanie spójności systemów plików wymienionych w /etc/fstab Podmontowuje systemy plików (jeśli w którymś z tych etapów napotka błąd niemożliwy do automatycznego naprawienia, to przechodzi w tryb single user) Uruchamia usługi systemowe

12 Różnice w stosunku do Linuxa FreeBSD nie obsługuje poziomów uruchamiania Głównym plikiem, odpowiedzialnym za niemal cała konfigurację systemu jest /etc/defaults/rc.conf (tylko do odczytu) oraz /etc/rc.conf (modyfikowany przez użytkownika) Większość ustawień konsol jest zdefiniowanych w pliku /etc/ttys

13 Dyski, partycje, systemy plików FreeBSD wspiera większość systemów plików (ext2/3, fat16/32, ntfs, xfs, zfs itd.) Domyślnie FreeBSD instaluje się na jednej partycji fizycznej, która zostaje podzielona na dyski logiczne zwane slices. Natywnym systemem plików jest UFS2 ze wsparciem dla SoftUpdates (odpowiednik journalingu w innych systemach). System UFS2 dzięki SoftUpdates jest całkiem wydajny i odporny na uszkodzenia. SoftUpdates jest oparty na asynchronicznych, wstępnie przetwarzanych zapisach. Do naprawy systemu plików wykorzystuje się narzędzie fsck. Dla uniknięca kontroli integralności systemu plików i wyszukiwania potencjalnych problemów wykorzystuje się demona diskcheckd. Podstawowymi narzędziami dyskowymi są fdisk (podział dysku na partycje) i disklabel (podział partycji BSD na dyski logiczne).

14 Zgodność binarna z innymi systemami FreeBSD posiada wbudowane w jądro moduły kompatybilność binarnej (translatory API jądra) z najpopularniejszymi systemami unixowymi na danej platformie, np. na x86 może obsługiwać binaria Linuxa, SCO, Solarisa, SVR4, a na sparc Linuxa, Solarisa, SunOSa, SVR4. Obsługiwane są również binaria OpenBSD, NetBSD i binaria starszych wersji FreeBSD (od wersji 5 włącznie). Emulacja ogranicza się do włączenia modułów jądra i nie wymaga dalszego wkładu ze strony użytkownika Moduły zgodności są aktualizowane po wyjściu nowej wersji jądra systemu, do którego emulacji służą. Emulacja nie powoduje spadku wydajności.

15 Konfiguracja systemu Niemal wszystkie ustawienia systemu są zawarte w pliku /etc/defaults/rc.conf i /etc/rc.conf System najpierw parsuje plik /etc/defaults/rc.conf, a następnie przeciąża ustawienia tymi z /etc/rc.conf W pliku rc.conf można: sterować usługami, konfigurować parametry sieci, konsole itp.

16 Przykłady wpisów w rc.conf Konfiguracja sieci ifconfig_ETH="inet IP_ADDRESS netmask MASK" ifconfig_ETH_aliasN="inet IP_ADDRESS netmask MASK" defaultrouter="IP_ADDRESS" hostname="HOSTNAME.DOMAINNAME" gdzie ETH to nazwa interfejsu, N-kolejny numer Uruchamianie demona NAZWA_enable="YES" NAZWA_flags="PARAMETRY" gdzie NAZWA jest nazwą skryptu w /etc/rc.d

17 Optymalizacja wydajności Rekompilacja jądra, z wyłączonymi zbędnymi modułami i trybem debugowania Włączenie SoftUpdates Ustawienie optymalnych wartości zmiennych jądra w zależności od posiadanego sprzętu i połączenia sieciowego (komenda sysctl lub wpisy w pliku /boot/loader.conf (lub /boot/defaults/loader.conf – niezalecane))

18 Bezpieczeństwo FreeBSD nie posiada odpowiednika mechanizmu SELinux Wspiera klasyczne uprawnienia unixowe oraz listy ACL Posiada wbudowane firewalle ipfilter oraz pf Domyślna blokada zdalnego logowania roota Lokalnie na konto roota mogą zalogować się jedynie członkowie grupy wheel. Inne zabezpieczenia: żądanie hasła roota w trybie single user, wyłączenie obsługi skrótu CTRL+ALT+DEL

19 Użytkownicy Domyślne wsparcie dla klas użytkowników – pozwala na indywidualne przydzielenie użytkownika do jednej z klas zdefiniowanych w pliku /etc/login.conf, niezależnie od grupy do której należy. W pliku login.conf można zdefiniować takie parametry jak ustawienia środowiska, limity pamięci, liczby procesów, ilości pamięci, czasu procesora, parametry haseł itp. Po każdej modyfikacji tego pliku należy przebudować bazę danych poleceniem cap_mkdb /etc/login.conf Aby przypisać użytkownika do odpowiedniej klasy można użyć narzędzia chfn W przypadku niepodania klasy uzytkownik jest automatycznie przypisywany do klasy default

20 Użytkownicy Użytkownicy przechowywani są w lokalnej bazie danych, generowanej na podstawie pliku /etc/master.passwd Do edycji tego pliku służy komenda vipw W przypadku edycji w innym edytorze należy ręcznie przebudować bazę danych komendą pwd_mkdb /etc/master.passwd Jedną z najważniejszych komend do ręcznego zarządzania użytkownikami jest pw

21 Użytkownicy Użytkownicy mogą mieć przydzielony jedynie powłoki, które są zawarte w /etc/shells

22 System pakietów FreeBSD udostępnia kilka metod instalacji oprogramowania. Najważniejsze to pkg oraz kolekcja portów pkg to klasyczny menedżer pakietów, znany z niektórych dystrybucji Linuxa System portów to katalog zawierający zestaw informacji o tym skąd należy wziąć zródła pakietów, jakie zastosować patche, w jaki sposób je skompilować itp.

23 Kolekcja portów Znajduje się w katalogu /usr/ports Umożliwia kompilacje ze źródeł pojedynczych pakietów lub całych drzew, np. – Wykonanie make w /usr/ports/editors spowoduje skompilowanie wszystkich edytorów – Wykonanie make w /usr/ports/editors/vim spowoduje skompilowanie tylko edytora vi

24 Kolekcja portów Kompilacja portów ogranicza się do wykonanie komend make oraz make install, a potem make clean System automatycznie pobierze niezbędne źródła, skonfiguruje je, zaaplikuje patche, skompiluje, zainstaluje, stworzy pakiety.tbz oraz zarejestruje w bazie zainstalowanych pakietów. Podobnie postąpi w przypadku stwierdzenia istnienia zależności, których nie ma zainstalowanych w systemie.

25 Kolekcja portów Usunięcie tak zainstalowanego pakietu będzie możliwe przez wykonanie make deinstall lub pkg_delete.

26 Aktualizacja systemu Aktualizacja może obejmować jądro, base system lub kolekcje portów Główną metodą aktualizacji jest kompilacja systemu ze źródeł, stanowiącej jego integralną część. Do aktualizacji wszelkich źródeł służy narzędzie cvsup. Służy ono do synchronizacji źródeł z repozytoriami CVS FreeBSD. Do aktualizacji pakietów w oparciu o kolekcję portów służy polecenie portmanager -u

27 CVSup Może pracować w trybie uruchamianym z wiersza poleceń, graficznym albo jako demon. Ma jeden plik konfiguracyjny, który podaje się jako parametr. W pliku tym podaje się skąd mają być pobrane źródła, z jakiej gałęzi, oraz jakich części systemu ma dotyczyć aktualizacja Przykładowe pliki konfiguracyjne można znaleźć w katalogu /usr/share/examples/cvsup

28 Klasyczna metoda aktualizacji Do aktualizacji z użyciem pakietów binarnych wykorzystuje się narzędzie freebsd-update Posiada ona następujące opcje – fetch – pobiera najnowsze wersje uaktualnień – upgrade - pobiera wersje pakietów z określonej gałęzi – install – instaluje pobrane uaktualnienia – rollback – odinstalowuje ostatnio zainstalowane aktualizacje – IDS – porównuje wersje plików z najnowszymi

29 Klasyczna metoda aktualizacji Po zainstalowaniu aktualizacji system otwiera wszystkie pliki konfiguracyjne, których modyfikacji nie był pewien, w domyślnym edytorze i pyta użytkownika czy zgadza się z proponowanymi zmianami.

30 Kompilacja jądra ze źródeł Źródła jądra znajdują się w katalogu /usr/src/sys Przed kompilacja należy stworzyć kopie plik /usr/src/sys/ARCH/conf/GENERIC (ARCH oznacza architekturę platformy), np. MY_KERNEL i w zweryfikować, czy nasze nowe jądro będzie posiadało wbudowany zestaw funkcji. Następnie w katalogu /usr/src wykonujemy następujące dwie komendy: make buildkernel KERNCONF=MY_KERNEL make installkernel KERNCONF=MY_KERNEL W analogicznu sposób można zbudować i zainstalować base systemu (make buildworld i make installworld)


Pobierz ppt "FreeBSD 7. Historia 1991 – pierwsze wydanie BSD (386BSD) na procesory x86 21 marca 1993 – początek prac nad NetBSD 19 czerwca 1993 – rozpoczęcie prac."

Podobne prezentacje


Reklamy Google