Live manual

Live Systems


<< previous toc next >>

Podręcznik Systemów Live

O tym podręczniku

O tym podręczniku

1. O tym podręczniku

1.1 Dla niecierpliwych
1.2 Definicje
1.3 Autorzy
1.4 Wnoszenie wkładu do tego dokumentu
1.4.1 Nanoszenie zmian
1.4.2 Tłumaczenie

O Live Systems Project

2. O Live Systems Project

2.1 Motywacja
2.1.1 Co jest nie tak w moim dotychczasowym systemie live?
2.1.2 Czemu tworzyć nasz własny system live?
2.2 Filozofia
2.2.1 Tylko niezmienione pakiety z działu Debian "main"
2.2.2 Bez konfiguracji pakietów systemu live
2.3 Kontakt

Użytkownik

Instalacja

3. Instalacja

3.1 Wymagania
3.2 Instalowanie live-build
3.2.1 Z repozytorium Debiana
3.2.2 Ze źródła
3.2.3 Ze zrzutów deweloperskich
3.3 Instalowanie live-boot i live-config
3.3.1 Z repozytorium Debiana
3.3.2 Ze źródła
3.3.3 Ze zrzutów deweloperskich

Podstawy

4. Podstawy

4.1 Co to jest system live?
4.2 Pobieranie prekompilowanych obrazów
4.3 Using the web live image builder
4.3.1 Używanie i przestrogi dotyczące Web buildera
4.4 Pierwsze kroki: budowanie obrazu ISO-hybrydy
4.5 Korzystanie z hybrydowego obrazu ISO live
4.5.1 Wypalanie obrazu ISO na fizycznym nośniku
4.5.2 Kopiowanie obrazu ISO-hybrydy na nośnik USB
4.5.3 Wykorzystanie przestrzeni pozostałej na nośniku USB
4.5.4 Uruchamianie nośnika live
4.6 Używanie wirtualnej maszyny do testowania
4.6.1 Testowanie obrazu ISO z użyciem QEMU
4.6.2 Testowanie obrazu ISO z użyciem VirtualBox'a
4.7 Budowanie i używanie obrazu HDD
4.8 Budowanie obrazu netboot
4.8.1 Serwer DHCP
4.8.2 Serwer TFTP
4.8.3 Serwer NFS
4.8.4 Netboot testing HowTo
4.8.5 Qemu
4.9 Webbooting
4.9.1 Getting the webboot files
4.9.2 Uruchamianie obrazów webboot

Przegląd narzędzi

5. Przegląd narzędzi

5.1 Pakiet live-build
5.1.1 Polecenie lb config
5.2 Wcięcia
5.2.1 Polecenie lb build
5.2.2 Polecenie lb clean
5.3 Pakiet live-boot
5.4 Pakiet live-config

Zarządzanie konfiguracją

6. Zarządzanie konfiguracją

6.1 Radzenie sobie ze zmianami konfiguracji
6.1.1 Czemu używać automatycznych skryptów? Co one robią?
6.1.2 Użyj przykładowych automatycznych skryptów
6.2 Klonowanie konfiguracji opublikowanej przez Git

Dostosowywanie zawartości

7. Opis dostosowywania

7.1 Konfiguracja podczas kompilacji vs. podczas uruchamiania systemu
7.2 Etapy kompilacji
7.3 Uzupełnienie lb config plikami
7.4 Zadania dostosowywania

Dostosowywanie instalacji pakietów

8. Dostosowywanie instalacji pakietów

8.1 Źródła pakietu
8.1.1 Dystrybucja, działy archiwum i tryb
8.1.2 Serwery lustrzane dystrybucji
8.1.3 Serwery lustrzane dystrybucji używane podczas budowania obrazu
8.1.4 Serwery lustrzane dystrybucji użyte podczas uruchomienia
8.1.5 Dodatkowe repozytoria
8.2 Wybieranie pakietów do instalacji
8.2.1 Lista pakietów
8.2.2 Używanie metapakietów
8.2.3 Lokalna lista pakietów
8.2.4 Lokalna lista pakietów binarnych
8.2.5 Wygenerowana lista pakietów
8.2.6 Używanie instrukcji warunkowych w listach pakietów.
8.2.7 Usuwanie pakietu podczas instalacji
8.2.8 Pulpit i zadania językowe
8.2.9 Rodzaj jądra i wersja
8.2.10 Niestandardowe jądra
8.3 Instalowanie zmodyfikowanych pakietów lub pakietów innych firm
8.3.1 Używanie packages.chrootdo instalacji niestandardowych pakietów
8.3.2 Używanie repozytoriium APT aby zainstalować niestandarkowe pakiety
8.3.3 Niestandardowe pakiety i APT
8.4 Konfigurowanie APT podczas kompilacji
8.4.1 Wybieranie apt lub aptitude
8.4.2 Używanie serwera proxy z APT
8.4.3 Podkręcanie APT celu zaoszczędzenia miejsca
8.4.4 Przekazywanie opcji do apt lub aptitude
8.4.5 Pinning APT

Dostosowywanie zawartości

9. Dostosowywanie zawartości

9.1 Uwzględnianie
9.1.1 Lokalnie uwzględniane w chroot/live
9.1.2 Lokalnie uwzględniane dane binarne
9.2 Haki
9.2.1 Lokalne haki chroot/live
9.2.2 Haki podczas uruchamiania
9.2.3 Lokalne haki binarne
9.3 Wstępne ustawienie pytań Debconfa (Preseeding)

Dostosowywanie zdarzeń podczas uruchamiania systemu

10. Dostosowywanie zdarzeń podczas uruchamiania systemu

10.1 Personalizacja użytkownika live
10.2 Ustawianie lokalizacji i języka
10.3 Persistence
10.3.1 Plik persistence.conf
10.3.2 Używanie więcej niż jednego magazynu persistence
10.3.3 Using persistence with encryption

Dostosowywanie obrazu binarnego

11. Dostosowywanie obrazu binarnego

11.1 Programy ładujące (ang. Bootloadery)
11.2 Metadane ISO

Dostosowywanie Instalatora Debiana

12. Dostosowywanie Instalatora Debiana

12.1 Typy Instalatora Debiana
12.2 Dostosowywanie Instalatora Debiana przez preseeding
12.3 Dostosowywanie zawartości Instalatora Debiana

Projekt

Wnoszenie wkładu do tego projektu

13. Wnoszenie wkładu do tego projektu

13.1 Wprowadzanie zmian

Zgłaszanie błędów

14. Zgłaszanie błędów

14.1 Znane problemy
14.2 Przebuduj od zera
14.3 Używaj aktualnych pakietów
14.4 Zbierz potrzebne informacje
14.5 Wyizoluj prawdopodobną wadę, jeśli to możliwe
14.6 Wybierz odpowiedni pakiet dla którego zgłaszasz błąd
14.6.1 W czasie budowania podczas ładowania początkowego (bootstrapping)
14.6.2 W czasie budowania podczas instalacji pakietów
14.6.3 W czasie uruchamiania
14.6.4 W czasie gdy system jest już uruchomiony
14.7 Spróbuj wykonać parę kroków
14.8 Gdzie zgłaszać błędy

Styl Kodowania

15. Styl Kodowania

15.1 Kompatybilność
15.2 Wcięcia
15.3 Zawijanie
15.4 Zmienne
15.5 Różne

Procedury

16. Procedury

16.1 Główne wydanie
16.2 Wydanie Docelowe
16.2.1 Ostatnie Wydanie Docelowe Debiana
16.2.2 Szablon obwieszczenia dla wydania docelowego

Repozytorium Git

17. Repozytorium Git

17.1 Obsługa wielu repozytoriów

Przykłady

Przykłady

18. Przykłady

18.1 Używanie przykładów
18.2 Samouczek 1: Domyślny obraz
18.3 Samouczek 2: Narzędzie przeglądarka
18.4 Samouczek 3: Spersonalizowany obraz
18.4.1 Pierwsza zmiana
18.4.2 Druga zmiana
18.5 Kiosk-klient serwera VNC
18.6 Bazowy obraz dla nośnika USB z 128MB pamięci.
18.7 Pulpit GNOME w lokalnym języku oraz instalator

Dodatek

Przewodnik redakcyjny

19. Przewodnik redakcyjny

19.1 Wytyczne dla autorów
19.1.1 Funkcje językowe
19.1.2 Procedury
19.2 Wytyczne dla tłumaczy
19.2.1 Wskazówki tłumaczenia

Metadata

SiSU Metadata, document information

Podręcznik Systemów Live

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

Użyj opcji lb config --config aby sklonować repozytorium Git, który zawiera konfigurację systemu live. Jeśli chcesz oprzeć swoją konfigurację na jednej dostarczanej przez Live Systems Project, odwiedź ‹http://live-systems.org/gitweb/› i szukaj repozytorium o nazwie live-images (obrazy live) w kategorii Packages (pakiety). To repozytorium zawiera konfiguracje dla prekompilowanych obrazów systemów live.

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

$ mkdir live-images && cd live-images
$ lb config --config git://live-systems.org/git/live-images.git
$ 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 "git://live-systems.org/git/"]
         insteadOf = lso:

Dzięki temu można skorzystać z lso: wszędzie, gdzie trzeba podać adres repozytorium git live-systems.org. Jeśli również opuścisz opcjonalny przyrostek .git, rozpoczynając nowy obraz przy użyciu tej konfiguracji jest to tak proste:

$ lb config --config lso:live-images

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