|
1.
dispatch-conf
dispatch-conf jest narzędziem, które służy do zastępowania plików
konfiguracyjnych plikami ._cfg0000_<nazwa>, umożliwia ich
interaktywną edycję oraz pozwala automatycznie dokonać drobnych zmian w tych
plikach. Pliki ._cfg0000_<nazwa> są generowane przez Portage,
gdy chce nadpisać jakiś plik w katalogu chronionym zmienną CONFIG_PROTECT.
Dzięki dispatch-conf można nadpisywać zmiany w plikach konfiguracyjnych
zachowując jednocześnie na wszelki wypadek poprzednie wersje tych plików.
dispatch-conf będzie przechowywał wszystkie zmiany jako pliki patch lub
korzystając z systemu rewizji RCS. Dzięki temu w razie gdy popełni się błąd
podczas aktualizacji pliku konfiguracyjnego, można łatwo wrócić do poprzedniej
jego wersji.
dispatch-conf po uruchomieniu zapyta czy pozostawić pliki konfiguracyjne
bez zmian, nadpisać je nowszymi wersjami, wyświetlić różnice lub uruchomić
interaktywną aktualizację plików. Ponadto posiada wiele innych ciekawych
funkcji:
-
Automatycznie zamienia stare pliki nowymi jeśli zmiany w nich dotyczą
jedynie linii oznaczonych jako komentarze
-
Automatycznie zamienia pliki, gdy zmiany dotyczą jedynie pustego miejsca
(spacje, tabulatory, puste wiersze itp.)
Pracę z programem dispatch-conf należy rozpocząć od utworzenia katalogu,
na który wskazuje zmienna archive-dir znajdująca się w pliku
/etc/dispatch-conf.conf.
Listing 1.1: Uruchamianie dispatch-conf |
# dispatch-conf
|
Po uruchomieniu dispatch-conf wyświetli kolejno opcje dla każdego
aktualizowanego pliku konfiguracyjnego. Po naciśnięciu klawisza u stary
plik zostanie nadpisany nowym, a program przejdzie do następnego pliku. Klawisz
z usunie aktualizację pozostawiając stary plik bez zmian oraz przejdzie
do następnego pliku. Po wybraniu opcji dla wszystkich plików konfiguracyjnych
program dispatch-conf zakończy pracę. W każdej chwili można skorzystać z
klawisza q, aby zakończyć pracę programu.
Więcej informacji o programie dostarczy man dispatch-conf. Można tam
między innymi przeczytać o tym jak interaktywnie wprowadzać zmiany w plikach
konfiguracyjnych, ręcznie edytować nowe pliki konfiguracyjne czy wyświetlać
różnice między nimi.
Listing 1.1: Czytanie manuala dispatch-conf |
$ man dispatch-conf
|
1.
etc-update
Alternatywą dla dispatch-conf jest program o nazwie etc-update.
Nie jest tak prosty w obsłudze, nie posiada też wielu funkcji swojego
odpowiednika. Posiada jednak możliwość automatycznego dodawania drobnych zmian
oraz opcję interaktywnej aktualizacji plików konfiguracyjnych.
Główną wadą etc-update jest to, że nie przechowuje dawnych wersji
nadpisanych plików konfiguracyjnych. Po zaktualizowaniu pliki stara wersja jest
stracona na zawsze. W związku z tym praca z etc-update jest znacznie
bardziej ryzykowna niż praca z dispatch-conf.
Listing 1.1: Uruchamianie etc-update |
# etc-update
|
Program automatycznie dokona drobnych zmian w plikach konfiguracyjnych, a potem
pokaże listę plików chronionych i poprosi o decyzję w ich sprawie. Na dole
pojawi się poniższa lista dostępnych opcji wraz z ich krótkim opisem:
Listing 1.1: Opcje etc-update |
Please select a file to
edit by entering the corresponding number.
(-1 to exit)
(-3 to auto merge all remaining files)
(-5 to auto-merge AND not use 'mv -i'):
|
Po wybraniu -1 etc-update zakończy działanie. Warto pamiętać, że
jest to jedynie polecenie zakończenia programu i nie cofnie żadnych dokonanych
wcześniej zmian. Po wybraniu -3 lub -5 wszystkie znajdujące
się na liście pliki konfiguracyjne zostaną nadpisane nowszymi wersjami. Dobrym
pomysłem jest zaznaczenie plików, których nie chcemy nadpisywać automatycznie.
Dokonuje się tego po prostu wpisując liczbę znajdującą się na lewo od danego
pliku.
Np. wybieramy sobie plik konfiguracyjny /etc/pear.conf i po
wybraniu jego indeksu widzimy coś takiego:
Listing 1.1: Oddzielne uaktualnienie wybranego pliku |
Beginning of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
End of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
1) Replace original with update
2) Delete update, keeping original as is
3) Interactively merge original with update
4) Show differences again
|
W ten sposób można łatwo uzyskać informacje o różnicach pomiędzy oboma plikami.
Jeśli jesteśmy pewni, że zastąpienie starego pliku nowym to dobry pomysł,
naciskamy 1. Może zdarzyć się też tak, że nie będziemy chcieli nowego
pliku. Wtedy naciskamy 2 i zapominamy o tym, że była nowsza wersja :)
Jeśli chcemy bliżej zająć się tym plikiem (tzw. metoda interaktywna) wybieramy
3.
Nie ma sensu rozpisywać się na temat trzeciej metody - ograniczymy się jedynie
do podania możliwych w tym trybie do wybrania komend. Generalnie wygląda to tak,
że program pokazuje dwie linie - oryginalną i proponowaną i czeka aż wpiszemy
jeden z ciągów znaków:
Listing 1.1: Komendy dostępne podczas interaktywnej edycji plików |
ed: Edycja i użycie obu wersji, każdej z nagłówkiem.
eb: Edycja i użycie obu wersji.
el: Edycja i użycie wersji po lewej.
er: Edycja i użycie wersji po prawej.
e: Edycja nowej wersji.
l: Użycie wersji po lewej.
r: Użycie wersji po prawej.
s: Dołączenie wspólnych linii bez informowania o tym.
v: Dołączenie wspólnych linii z podaniem informacji.
q: Zakończenie.
|
Kiedy już skończymy uaktualniać te najważniejsze pliki, pozostałe możemy
zamienić w trybie automatycznym. etc-update wyłączy się kiedy już nie
będzie miało żadnych plików do uaktualnienia.
1.
Quickpkg
Program quickpkg umożliwia spakowanie zainstalowanego programu do paczki,
z której następnie możemy go bezproblemowo i błyskawicznie odtworzyć.
Uruchamianie quickpkg jest proste: po prostu podajemy nazwy programów do
spakowania jako parametry i wciskamy enter.
Na przykład wybieramy do spakowania: curl, orage i procps:
Listing 1.1: Przykład użycia quickpkg |
# quickpkg curl orage procps
|
Po zakończeniu całego procesu gotowe paczki znajdziemy w katalogu
$PKGDIR/All (domyślnie /usr/portage/packages/All).
Ponadto w $PKGDIR/<kategoria> będą się znajdowały dowiązania
symboliczne do wszystkich zbudowanych przez nas paczek.
|