|
|
|
|
|
Ten rozdział zawiera przegląd trzech głównych narzędzi stosowanych w budowie systemów live: live-build, live-boot i live-config.
Iive-build to zbiór skryptów do budowania systemów live. Skrypty te są również określane jako "polecenia".
Pomysłem stojącym za live-build jest bycie oprawą, która używa struktury katalogów jako konfiguracji, aby całkowicie zautomatyzować i dostosować wszystkie aspekty budowania obrazu live.
Wiele pojęć jest podobnych do tych używanych do budowania pakietów Debiana z użyciem debhelper' a:
W przeciwieństwie do debhelpera, live-build zapewnia narzędzia do generowania szkieletu katalogów konfiguracyjnych. Może to być uznane za podobne do narzędzi takich jak dh-make. Aby uzyskać więcej informacji na temat tych narzędzi, kontynuuj czytanie, ponieważ pozostała część tego rozdziału omawia cztery najważniejsze polecenia. Należy zauważyć, że głównym wrapperem dla polecenia live-build jest lb.
Jak omówiono w live-build, skrypty, które składają się na live-build czytają swoją konfigurację przy użyciu polecenia source z katalogu o nazwie config/. Budowanie tego katalogu ręcznie byłoby czasochłonne i podatne na błędy, polecenie lb config może być używane do tworzenia początkowej konfiguracji drzewa katalogów.
Wykonanie lb config bez żadnych argumentów tworzy podkatalog config, w którym zapisane są niektóre domyślne ustawienia, w plikach konfiguracyjnych, oraz dwa szkielety drzew o nazwach auto/ i #{local/}#.
$ lb config
[2015-01-06 19:25:58] lb config
P: Creating config tree for a debian/stretch/i386 system
P: Symlinking hooks...
Normalnie, pewnie będziesz chciał określić niektóre opcje. Na przykład, aby określić, jakiego menadżera pakierów chcesz użyć podczas budowania obrazu:
$ lb config --apt aptitude
Jest możliwe ustalenie wielu opcji, takich jak:
$ lb config --binary-images netboot --bootappend-live "boot=live components hostname=live-host username=live-user" ...
Pełna lista opcji dostępna jest w podręczniku man pakietu lb_config.
Polecenie lb build czyta konfigurację z katalogu config/. A następnie uruchamia polecenia niższego poziomu potrzebne do budowy Twojego systemu live.
Zadaniem polecenia lb clean, jest to aby usunąć różne części kompilacji tak aby można było zacząć od czystego stanu. Domyślnie etapy chroot, binary and source są sprzątane, ale cache pozostaje nienaruszone. Ponadto, tylko poszczególne etapy mogą być oczyszcane. Na przykład, jeśli zostały wprowadzone zmiany, które wpływają tylko na etap binarny, należy użyć lb clean --binary przed budowaniem nowych plików binarnych. Jeśli zmiany unieważniają proces bootstrap i/lub zmieniają cache pakietów, np. po zmianie opcji --mode, --architecture, lub --bootstrap, trzeba użyć lb clean --purge. Zobacz podręcznik man pakietu lb_clean aby uzyskać listę wszystkich opcji.
live-boot to zbiór skryptów zapewniających haki do initramfs-tools, wykorzystywane do wytwarzania plików initramfs, które są w stanie uruchomić system live, takich jak te stworzone przez live-build. Obejmuje to obrazy ISO systemów live, archiwa netboot i obrazów dysku USB.
W czasie rozruchu będzie szukać nośników tylko do odczytu zawierających katalog /live/, gdzie jest przechowywany system plików (często skompresowany obraz systemu plików jak SquashFS). Jeśli znajdzie takowy, stworzy zapisywalne środowisko, stosując aufs, dla systemów takich jak Debian, aby z niego wystartować.
Więcej informacji na temat początkowych plików ramfs w Debianie można znaleźć w Podręczniku Debiana Linux Kernel na ‹http://kernel-handbook.alioth.debian.org/› w rozdziale initramfs.
live-config zawiera skrypty, które są uruchamiane przy starcie systemu live po live-boot, tak aby automatycznie skonfigurować system live. Obsługuje on takie zadania jak ustawienie nazwy hosta, lokalizacji i strefy czasowej, tworzenie użytkownika live, zatrzymywanie zadań crona i autologowanie użytkownika live.