aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/pod/live-manual/media/text/pl/user_managing_a_configuration.ssi
blob: 1b367d5a960b2fa029d81f14e94a5443de48f88f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
:B~ Zarządzanie konfiguracją

1~managing-a-configuration 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.

2~ 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.

3~ 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.

3~ 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:

code{

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

}code

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

code{

#!/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/ \
     "${@}"

}code

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.

2~clone-configuration-via-git 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 ${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}#downloading-prebuilt-images systemów live.

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

code{

 $ mkdir live-images && cd live-images
 $ lb config --config git://live-systems.org/git/live-images.git
 $ cd images/standard

}code

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}#:

code{

 [url "git://live-systems.org/git/"]
         insteadOf = lso:

}code

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:

code{

 $ lb config --config lso:live-images

}code

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