piątek, 27 kwietnia 2007

Ubuntu. Szybkie prze-instalowanie systemu.

Nie trudno się zorientować, że używam Linuksa. Właściwie, to używam tylko tego systemu. Wcześniej korzystałem z dystrybucji Gentoo (będzie ze cztery lata...). Jednak człowiek się starzeje i nie ma już tyle czasu na zabawy z portage'em i forum Gentoo w poszukiwaniu rozwiązania kolejnego dziwnego problemu ;)

Wsiadłem więc na Ubuntu. Wydaje mi się, że to był bardzo dobry wybór. Wszystko działa bezproblemowo. Jednak już zaczyna mi brakować niektórych funkcji dostępnych w Portage. Oczywiście jeszcze do końca wszystkiego nie rozgryzłem (daleko jeszcze do tego...), ale z tego co do tej pory rozpoznałem, to brakuje mi odpowiednika pliku world z Gentoo. Czyli czegoś, co przechowuje wszystkie wybrane (czyli zainstalowane) przeze mnie aplikacje.

Okazuje się, że jest coś takiego także w Ubuntu. I można to nawet bardzo sprytnie wykorzystać. Wiadomo, że czasem potrzebny jest szybki backup systemu. Najlepszy to taki, który po prostu zachowuje wszystkie ustawienia systemowe (/etc + lokalne katalogi + domowe katalogi), a reszta jest już na serwerach Ubuntu, więc wystarczy tylko informacja o tym co jest zainstalowane (lista aplikacji). Jeżeli chcemy także zapisać ustawienia debconf, czyli domyślne wpisy konfiguracyjne (odpowiedzi na pytania zadawane w czasie instalacji), to należy zainstalować pakiet debconf-get-selections.

Można to zrobić przez:
# debconf-get-selections > debconfsel.txt # Wpisy konfiguracji
# dpkg --get-selections "*" | grep '\binstall' > selections.txt

Teraz w powyższych plikach tekstowych jest wszystko co trzeba do instalacji. Żeby tego dokonać, należy zainstalować świeże Ubuntu, a potem:
# dselect update
# debconf-set-selections < debconfsel.txt # Wpisy konfiguracji
# dpkg --set-selections < selections.txt
# apt-get -u dselect-upgrade

Oczywiście należy pamiętać o wcześniejszym przywróceniu katalogu z źródłami (/etc/sources), a w dalszej kolejności innych zmian z całego /etc.

Metoda działa jak trzeba i świetnie nadaje się do szybkiego odzyskania systemu. Myślę, że świetnym dopełnieniem takiego podejścia byłby jakiś system, który na bieżąco śledziłby zmiany w katalogach konfiguracyjnych. Wtedy przy instalowaniu czystego systemu można by zweryfikować, jakie zmiany nas naprawdę interesują i czy jest w ogóle sens je wprowadzać. Robienie różnicy całego katalogu ma istotną wadę -- pokazuje nie tylko nasze zmiany, ale również ewentualne zmiany w dystrybucji (o ile instalujemy nowszą wersję).

Znalazłem to oczywiście gdzieś na necie. W bardzo dobrym i zwięzłym podręczniku do zarządzania pakietami w Debianie (oczywiście aplikuje się to wszystko do Ubuntu). Link jest tutaj.

Jedyne, co nie daje mi jednak spokoju, to fakt, że lista zainstalowanych aplikacji nie posiada informacji o tym, czy zostały zainstalowane jako zależności, czy explicite... Ale to już inna kwestia. Tymczasem.

0 komentarze: