FreeBSD

0% Status
Z Wikibooks, biblioteki wolnych podręczników.

Wstęp[edytuj]

Głó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[edytuj]

Przypadki użycia różnych maszyn i związane z tym niuanse.

Hyper-V[edytuj]

Mapa 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[edytuj]

Wersja[edytuj]

freebsd-version

freebsd-update[edytuj]

Plik 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[edytuj]

Moduły rozszerzają to czego nie ma wbudowanego w monolicie jądra. Można nazwać to sterownikami ładowanymi z plików.

kldload[edytuj]

nazwa modułu. Przy ładowaniu są badane zależności i czasami krzyczy, że potrzeba jeszcze coś załadować.

Instalacja oprogramowania[edytuj]

Paczki[edytuj]

pkg[edytuj]

program 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[edytuj]

Portowane 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[edytuj]

W 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[edytuj]

Po 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[edytuj]

Nadawanie etykiet dyskom

glabel

  1. label nazwa_etykiety /dev/urządzenie
  2. list wyświetla nasze etykiety

ZFS[edytuj]

https://docs.oracle.com/cd/E19120-01/open.solaris/817-2271/6mhupg6ma/index.html

Awarie i naprawa[edytuj]

loader.conf[edytuj]

Błę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ą:

  1. Zabootować system z płyty, jak ruszy instalator to wybrać LiveCD
  2. Sprawdzić jakie pule można importować zpool import
  3. Utworzyć punkt montowania dla puli mkdir -p /tmp/zroot
  4. Zaimportować pulę do tego punktu
  5. zpool import -fR /tmp/zroot zroot
  6. Utworzyć punkt montowania dla / systemu zfs mkdir /tmp/root
  7. Zamontować system plików zfs do tego punktu mount -t zfs zroot/ROOT/default /tmp/root
  8. Poprawić plik loader.conf
  9. Zabootować z dysku

Pliki konfiguracyjne[edytuj]

/etc/[edytuj]

Plik Wykorzystanie
ttys Do konfiguracji konsol.
gettytab Do konfiguracji wyglądu konsoli. Duża baza danych.

Bezpieczeństwo[edytuj]

  1. 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.