Live manual Debian Live

# Debian Live Manual

# Dostosowywanie zawartości

521

# 9. Dostosowywanie zawartości

522

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.

523

9.1 Uwzględnianie

524

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:

525

- Lokalne uwzględnianie chroot: Pozwoli Ci dodać lub zastąpić pliki w systemie plików chroot/live. Zobacz Lokalne uwzględnianie chroot/live, aby uzyskać więcej informacji.

526

- Lokalne uwzględnianie danych binarnych: Pozwoli Ci dodać lub zastąpić pliki w obrazie binarnym. Zobacz Lokalnych uwzględnianie danych binarnych, aby uzyskać więcej informacji.

527

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

528

9.1.1 Lokalnie uwzględniane w chroot/live

529

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.

530

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:

531

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

532

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

533

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

534

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

535

9.1.2 Lokalnie uwzględniane dane binarne

536

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:

537

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

538

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

539

9.2 Haki

540

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.

541

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

542

9.2.1 Chroot local hooks

543

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.

544

9.2.2 Lokalne haki binarne

545

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.

546

9.2.3 Haki podczas uruchamiania

547

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.

548

9.3 Wstępne ustawienie pytań Debconfa (Preseeding)

549

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.

550

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