Live manual

Debian Live

<< previous toc next >>

Debian Live Manual

Dostosowywanie zawartości

9. Dostosowywanie zawartości

Ten rozdział omawia dokładną regulację dostosowywania zawartości systemu poza samym wybieraniem pakietów do wyboru, które będą zawarte. Uwzględnianie pozwala dodać lub wymienić dowolne pliki w obrazie systemu live, haki pozwalają na wykonanie dowolnego polecenia na różnych etapach produkcji oraz w czasie rozruchu a opcji preseeding pozwala skonfigurować pakiety, gdy są zainstalowane poprzez dostarczenie odpowiedzi na pytania debconfa.

9.1 Uwzględnianie

Chociaż najlepiej byłoby gdyby system live zawierał się wyłącznie z plików dostarczonych przez całkowicie niemodyfikowane pakiety, to czasami wygodniejszym jest, dostarczenie lub zmodyfikowanie pewnych treści za pomocą plików. Korzystając z uwzględniania, można dodać (lub wymienić) dowolne pliki w systemie obrazu live. live-build dostarcza dwa takie mechanizmy wykorzystania:

Proszę zobaczyć Definicje aby uzyskać więcej informacji na temat różnicy między obrazami "binarnymi" a obrazami "live".

9.1.1 Lokalnie uwzględniane w chroot/live

Chroot local includes can be used to add or replace files in the chroot/Live filesystem so that they may be used in the Live system. A typical use is to populate the skeleton user directory (/etc/skel) used by the Live system to create the live user's home directory. Another is to supply configuration files that can be simply added or replaced in the image without processing; see Chroot local hooks if processing is needed.

Aby dołączyć pliki, po prostu dodaj je do katalogu config/includes.chroot. Ten katalog odnosi się do katalogu root / systemu live. Na przykład, aby dodać plik /var/www/index.html do systemu live, użyj:

$ mkdir -p config/includes.chroot/var/www
$ cp /path/to/my/index.html config/includes.chroot/var/www

Konfiguracja będzie mieć następujący układ:

- config
    [...]
     |-- includes.chroot
     |   `-- var
     |       `-- www
     |           `-- index.html
    [...]

Lokalnie uwzględnione w chroot są instalowane po instalacji pakietów, tak że pliki zainstalowane przez pakiety są zastępowane.

9.1.2 Lokalnie uwzględniane dane binarne

Aby zawierać materiały takie jak filmy lub dokumentacja na systemie plików nośnika tak, aby były one dostępne od razu po włożeniu nośnika bez uruchamiania systemu live, możesz użyć lokalnego uwzględniania danych binarnych. Działa to w podobny sposób do lokalnego uwzględniania w chroot/live. Załóżmy na przykład, że pliki ~/video_demo.* to filmy demonstacyjne systemu live opisanego przez i dowiązane przez stronę indeksu HTML. Wystarczy skopiować materiał z config/includes.binary/ w następujący sposób:

$ cp ~/video_demo.* config/includes.binary/

Pliki te pojawią się teraz w katalogu głównym nośnika live.

9.2 Haki

Hooks allow commands to be run in the chroot and binary stages of the build in order to customize the image. Depending on whether you are building a live image or a regular system image you have to place your hooks in config/hooks/live or config/hooks/normal respectively. These are frequently referred to as local hooks because they are executed inside the build environment.

There are also boot-time hooks that allow you to run commands once the image has already been built, during the boot process.

9.2.1 Chroot local hooks

To run commands in the chroot stage, create a hook script with a .hook.chroot suffix containing the commands either in the config/hooks/live or config/hooks/normal directories. The hook will run in the chroot after the rest of your chroot configuration has been applied, so remember to ensure your configuration includes all packages and files your hook needs in order to run. See the example chroot hook scripts for various common chroot customization tasks provided in /usr/share/doc/live-build/examples/hooks which you can copy or symlink to use them in your own configuration.

9.2.2 Lokalne haki binarne

To run commands in the binary stage, create a hook script with a .hook.binary suffix containing the commands either in the config/hooks/live or config/hooks/normal directories. The hook will run after all other binary commands are run, but before binary_checksums, the very last binary command. The commands in your hook do not run in the chroot, so take care not to modify any files outside of the build tree, or you may damage your build system! See the example binary hook scripts for various common binary customization tasks provided in /usr/share/doc/live-build/examples/hooks which you can copy or symlink to use them in your own configuration.

9.2.3 Haki podczas uruchamiania

Aby wykonać polecenia przy starcie systemu, możesz dostarczyć haki live-config, jak wyjaśniono w jego podręczniku man w sekcji "Customization" (ang. dostosowywanie). Przeanalizuj własne haki live-config dostarczone w /lib/live/config/, zwracając uwagę na numery sekwencji. Następnie dodaj swój własne hak z odpowiednim prefiksem numeru sekwencji, albo jako lokalnie uwzględnione w chroot w config/includes.chroot/lib/live/config/, lub w postaci niestandardowego pakietu omówione w Instalowanie zmodyfikowanych pakietów lub pakietów innych firm.

9.3 Wstępne ustawienie pytań Debconfa (Preseeding)

Pliki w katalogu config/preseed/ z rozszerzeniem .cfg w następującym etapie (.chroot lub .binary) są brane pod uwagę jako pliki preseed debconfa i są instalowane za pomocą live-build przez debconf-set-selections podczas odpowiedniego etapu.

Aby uzyskać więcej informacji o debconf, proszę przeczytaj debconf(7) z pakietu debconf.


<< previous toc next >>