FreeBSD
Wstęp
edytujGłówny podręcznik do systemu w wersji angielskiej https://www.freebsd.org/doc/handbook/index.html
w wersji polskiej https://docs.freebsd.org/doc/11.2-RELEASE/usr/local/share/doc/freebsd/pl/books/handbook/
Instalacja
edytujPrzypadki użycia różnych maszyn i związane z tym niuanse.
Hyper-V
edytujMapa kompatybilności https://docs.microsoft.com/pl-pl/windows-server/virtualization/hyper-v/Supported-FreeBSD-virtual-machines-on-Hyper-V#BKMK_notes
Wynika z niej, że aktualnie UEFI działa i tak bootowało się z płyty, SecureBoot nie działa. Daje się uruchomić na typie maszyny Generacji 2.
Przy instalacji typ partycji musi być GPT z racji tego, że maszyna Generacji 2 jest UEFI. Po zainstalowaniu trzeba wysunąć obraz płyty w maszynie i w kolejności bootowania przenieść dysk wyżej bo próbuje z karty sieciowej odpalić się a to trwa bardzo długo.
Aktualizacje
edytujWersja
edytujfreebsd-version
freebsd-update
edytujPlik konfiguracyjny tego narzędzia jest /etc/freebsd-update.conf
Program aktualizuje system
- fetch pobiera aktualizacje
- upgrade -r 9.1-RELEASE to zmiana wersji lub odświeżenie aktualnej, operacja bardzo czasochłonna. Robiłem próbę podbicia 11.1 do 11.2 p2 zakończona pomyślnie, trzeba restart w międzyczasie. Podbił to do wersji p2.
- install instaluje
- rollback cofa instalacje
- IDS porównuje coś od nowa
Moduły
edytujModuły rozszerzają to czego nie ma wbudowanego w monolicie jądra. Można nazwać to sterownikami ładowanymi z plików.
kldload
edytujnazwa modułu. Przy ładowaniu są badane zależności i czasami krzyczy, że potrzeba jeszcze coś załadować.
Instalacja oprogramowania
edytujPaczki
edytujpkg
edytujprogram do zarządzania paczkami
- update, pobiera aktualizacje
- upgrade instaluje
- search nazwa wyszukuje ciąg “nazwa” w nazwach paczek
- install nazwa
- version pokazuje zainstalowane paczki i wersje oraz jakiś znak = lub <
Porty
edytujPortowane aplikacje z różnych systemów. Generalnie chyba lepsza metoda niż instalacja z paczek. Portowane rozwiązania są kompilowane na danej maszynie a nie pobierane i instalowane jak paczki. Porty pobierają źródła.
portsnap
edytuj- fetch pobiera aktualizację portów
- extract to trzeba zrobić za pierwszym razem
- update aktualizuje coś
Konsola
edytujW trybie tekstowym domyślna konsola jest konsolą systemową i jest oznaczona jako ttyv0. Konsola jest związana z plikiem /dev/ttyv0, który jest specjalnym plikiem znakowym w systemie. Można powiedzieć, że to takie urządzenie znakowe. Przełączanie między innymi konsolami ALT+Fx
Konfiguracja konsol jest zapisana w pliku /etc/ttys
W pierwszej kolumnie widzimy numer konfigurowanej konsoli, druga to ścieżka i jaki program jest dla niej odpalany.
# name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off secure
# name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" xterm on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" xterm on secure
ttyv2 "/usr/libexec/getty Pc" xterm on secure
ttyv3 "/usr/libexec/getty Pc" xterm on secure
ttyv4 "/usr/libexec/getty Pc" xterm on secure
ttyv5 "/usr/libexec/getty Pc" xterm on secure
ttyv6 "/usr/libexec/getty Pc" xterm on secure
ttyv7 "/usr/libexec/getty Pc" xterm on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
W pliku znajduje się wpis
console none unknown off secure
dotyczy on konfiguracji konsoli w trybie pojedynczego użytkownika.
Program getty to po prostu program przekazujący to co wpisze użytkownik do samego systemu i zwraca mu wyniki, program konsoli. Po getty jest wpis Pc jest to określenie wyglądu konsoli. Jest konfigurowane w bazie /etc/gettytab.
Polska lokalizacja
edytujPo zainstalowaniu do logowania system umie używać polskich znaków jak ustawimy klawiaturę polską-programisty.
Ustawienie klawiatury jest potem zapisane w pliku /etc/rc.conf
keymap=”pl.kbd”
Nie wiem w jakim kodowaniu to leci. Natomiast po zalogowaniu w konsoli nie ma polskich znaków.
W pliku /etc/login.conf ustawiamy
:umask=022:\
:charset=UTF-8:\
:lang=pl_PL.UTF-8:
po takich zmianach musimy
cap_mkdb /etc/login.conf
i zalogować się ponownie
Normalnie system nie odczytuje konfiguracji bezpośrednio z pliku /etc/login.conf, lecz odczytuje plik bazy danych /etc/login.conf.db, który umożliwia szybsze przeszukiwanie.
Udało mi się uzyskać polskie znaki w konsoli gdy FreeBSD było gościem Hyper-V zarówno przy logowaniu jak i późniejszym użytkowaniu. Nie wiem czy nie trzeba wybierać karty graficznej dla maszyny gościa.
Dyski
edytujNadawanie etykiet dyskom
glabel
- label nazwa_etykiety /dev/urządzenie
- list wyświetla nasze etykiety
ZFS
edytujhttps://docs.oracle.com/cd/E19120-01/open.solaris/817-2271/6mhupg6ma/index.html
Awarie i naprawa
edytujloader.conf
edytujBłędne wpisy w tym pliku mogą spowodować zatrzymanie uruchamiania systemu. Moja pierwsza próba to było dodanie kern.vty=sc By to naprawić trzeba polecieć taką sekwencją:
- Zabootować system z płyty, jak ruszy instalator to wybrać LiveCD
- Sprawdzić jakie pule można importować zpool import
- Utworzyć punkt montowania dla puli mkdir -p /tmp/zroot
- Zaimportować pulę do tego punktu
- zpool import -fR /tmp/zroot zroot
- Utworzyć punkt montowania dla / systemu zfs mkdir /tmp/root
- Zamontować system plików zfs do tego punktu mount -t zfs zroot/ROOT/default /tmp/root
- Poprawić plik loader.conf
- Zabootować z dysku
Pliki konfiguracyjne
edytuj/etc/
edytujPlik | Wykorzystanie |
ttys | Do konfiguracji konsol. |
gettytab | Do konfiguracji wyglądu konsoli. Duża baza danych. |
Bezpieczeństwo
edytuj- Single user mode . Wybór takiego uruchomienia systemu jest na starcie maszyny w opcjach bootowania. Opcja secure oznacza, że konsola fizyczna jest chroniona i możemy uruchomić ją bez podawania hasła roota. Użytkownik na tak przygotowanej konsoli będzie mógł zmienić hasło roota. By to zmienić musimy edytować odpowiednio wpisy w pliku /etc/ttys na insecure.