Live manual

Debian Live

<< previous toc next >>

Debian Live Manual

Zarządzanie konfiguracją

6. Zarządzanie konfiguracją

Ten rozdział wyjaśnia, jak zarządzać konfiguracją live od początku jej tworzenia, przez kolejne zmiany i kolejne wersje oprogramowania live-build i obrazu live.

6.1 Radzenie sobie ze zmianami konfiguracji

Konfiguracje live rzadko są idealne na przy pierwszej próbie. Powinno się dodać opcje lb config z linii poleceń do wykonania pojedynczej kompilacji, ale bardziej typowe jest sprawdzać te opcje i kompilować ponownie aż do uzyskania satysfakcji. Aby poradzić sobie z tymi zmianami, potrzeba automatycznych skryptów, które zapewnią, że konfiguracja przechowywana jest w stanie spójnym.

6.1.1 Czemu używać automatycznych skryptów? Co one robią?

Polecenie lb config zapisuje opcje, które są wprowadzane do plików w config}/*# oraz wielu innym opcją przypisuje wartości domyślne. Jeśli uruchomisz #{lb config ponownie, nie skasuje to żadnych opcji, która została zapisana na podstawie początkowych opcji. Tak więc, na przykład, jeśli by uruchomić lb config ponownie z nową wartością dla --binary-images, wszelkie opcje zależne, które zostały przypisane jako domyślne dla poprzedniej dystrybucji mogą już nie współgrać z nowym ustawieniem. Pliki te nie są przeznaczone do odczytu lub edycji. Przechowują one wartości dla ponad stu opcji, więc nikt, nie mówiąc już o robieniu tego w pojedynkę, nie będzie mógł zobaczyć, które z tych opcji są faktycznie przypisane. I wreszcie, po uruchomieniu lb config, a następnie uaktualnieniu live-build a zdarza się, że zmieniają się nazwy opcji, config/* nadal będzie zawierać zmienne nazwane po staremu, które nie są już aktualne.

Z tych wszystkich powodów, skrypty auto/* czynią Twoje życie łatwiejszym. Są proste wrappery do poleceń lb config, lb build i lb clean, które są zaprojektowane, aby pomóc w zarządzaniu konfiguracją. Skrypt auto/config przechowuje toje polecenie lb config ze wszystkimi pożądanymi opcjami, skrypt auto/clean usuwa pliki zawierające wartości zmiennych konfiguracyjnych a skrypt auto/build zachowuje log build.log każdej kompilacji. Każdy z tych scenariuszy jest uruchamiany automatycznie przy każdym uruchomieniu odpowiedniego polecenia lb. Korzystając z tych skryptów, konfiguracja jest bardziej czytelna i jest przechowywana w sposoób wewnętrznie spójny z jednej wersji do następnej. Ponadto, będzie o wiele łatwiej zidentyfikować opcje, które należy zmienić po uaktualnieniu live-build i po przeczytaniu dokumentacji aktualizacji.

6.1.2 Użyj przykładowych automatycznych skryptów

Dla Twojej wygody, live-build jest dostarczany z przykładowymi skryptami powłoki do automatycznego kopiowania i edycji. Rozpocznij nową, domyślną konfigurację, a następnie skopiuj do niej przykłady:

$ mkdir mójlive && cd mójlive && lb config
$ mkdir auto
$ cp /usr/share/doc/live-build/examples/auto/* auto/

Edytuj auto/config, dodając wszelkie opcje, jakie uważasz. Przykładowo:

#!/bin/sh
lb config noauto \
     --architectures i386 \
     --linux-flavours 686-pae \
     --binary-images hdd \
     --mirror-bootstrap http://ftp.ch.debian.org/debian/ \
     --mirror-binary http://ftp.ch.debian.org/debian/ \
     "${@}"

Teraz, za każdym razem kiedy korzystasz z lb config, auto/config skasuje konfigurację w oparciu o te opcje. Gdy chcesz wprowadzić zmiany do nich, należy edytować opcje w tym pliku zamiast przekazywać je do lb config. Podczas korzystania z lb clean, auto/clean oczyści pliki w config/* wraz z innymi produktami kompilacji. I wreszcie, kiedy używasz lb build, log kompilacji zostanie zapisany przez auto/build w build.log.

Uwaga: Specjalnny parametr noauto jest użyty tutaj, aby powstrzymać kolejne zapytania do auto/config, zapobiegając w ten sposób nieskończonej rekurencji. Upewnij się, że przypadkowo nie został usunięty podczas dokonywania zmiany. Również należy zadbać o to aby podczas dzielenia polecenia lb config na wiele lini dla czytelności, jak pokazano w powyższym przykładzie, nie zapomnisz odwrotnego ukośnika (\) na końcu każdej linii, która kontynuuje polecenie w następnej linijce.

6.2 Klonowanie konfiguracji opublikowanej przez Git

Use the lb config --config option to clone a Git repository that contains a live system configuration. If you would like to base your configuration on one maintained by the Debian Live Project, look at ‹https://salsa.debian.org/live-team/› for the repository named live-images in the category Subgroups and projects. This repository contains the configurations for the live systems prebuilt images.

For example, to build a standard image, use the live-images repository as follows:

$ mkdir live-images && cd live-images
$ lb config --config https://salsa.debian.org/live-team/live-images.git::debian
$ cd images/standard

Edytuj auto/config i ​​wszelkie inne rzeczy, których wymagasz do własnych potrzeb w drzewie katalogów config. Na przykład, nie nieoficjalne prekompilowane obrazy tworzy się dodając po prostu --archive-areas "main contrib non-free".

Opcjonalnie można zdefiniować skrót w konfiguracji Git przez dodanie następujących opcji do ${HOME}/.gitconfig:

[url "https://salsa.debian.org/live-team/"]
         insteadOf = lso:

This enables you to use lso: anywhere you need to specify the address of a salsa.debian.org git repository. If you also drop the optional .git suffix, starting a new image using this configuration is as easy as:

$ lb config --config lso:live-images::debian

Klonowanie całego repozytorium live-images (obrazów live) sciąga konfigurację używaną dla kilku różnych obrazów. Jeśli masz ochotę na budowę innego obrazu po zakończeniu pracy z pierwszym, przejdź do innego katalogu i ponownie w miarę potrzeb dokonaj zmian.

W każdym przypadku należy pamiętać, że za każdym razem trzeba będzie budować obraz jako super-użytkownik: lb build


<< previous toc next >>