Jesienne migracje pakietów
Proza dnia codziennego co krok udowadnia nam, że najprostsze rozwiązania częstą są tymi najlepszymi. Bo oto, jakimi wyszukanymi sposobami można przeprowadzić klonowanie zainstalowanych programów pomiędzy kilkoma komputerami w obrębie tej samej dystrybucji? Okazuje się, że wystarczy nam stary, dobry Synaptic, który pomimo pojawienia Centrum Oprogramowania Ubuntu, nadal bezstresowo obsługuje instalację i deinstalację pakietów.
Nim zwolennicy terminala i komendy dpkg wyklną mnie od czci i wiary, napomknę, że taka migracja listy zainstalowanych programów jest możliwa do przeprowadzenia również w trybie tekstowym. Lecz w obliczu XXI wieku, wypada znać również rozwiązania ‘klikalne’. Za pomocą Synaptica operacja wygląda niewyobrażalnie prosto:
- po uruchomieniu programu (jeżeli go nie mamy – instalujemy), udajemy się do Plik -> Zapisz zaznaczenia
- w oknie dialogowym wybieramy nazwę i miejsce dla listy, oraz zaznaczamy na samym dole opcję ‘Zapisz pełny stan (nie tylko zmiany)‘
- tak przygotowany plik przenosimy na docelowy komputer, gdzie też za pomocą Synaptica odczytujemy listę Plik -> Odczytaj zaznaczenia
W całej metodzie tkwi jeden szkopuł. Jeżeli mamy zainstalowane programy spoza głównych repozytoriów (np. z PPA), musimy również pamiętać o przeniesieniu listy tych repozytoriów – tego Synaptic za nas nie zrobi.
cp -ar /etc/apt/sources.list.d ~/sources.list.d.kopia
… i zawartość tego katalogu kopiujemy na docelowej maszynie do /etc/apt/sources.list.d/.
Ku uciesze pewnej części gawiedzi, uciekliśmy się do użycia terminala i polecenia ‘cp’ – czy wobec tego nie lepiej od razu wykonać całość pracy w terminalu? (zza monitora dobiega pomruk tłumu ‘a nie mówiliśmy…’). Oczywiście, jest to możliwe i jeżeli ktoś nie cierpi na terminalofobię, to za pomocą wspomnianego dpkg może wygenerować listę pakietów:
dpkg --get-selections > moja_lista.txt
… by następnie na innej maszynie nakarmić nią system:
dpkg --set-selections < moja_lista.txt
(należy pamiętać by wykonywać to polecenie z prawami roota - czyli w Ubuntu dodać na samym początku sudo).
Jak rozsądnie zauważą niektórzy, to tematu nie wyczerpuje. Terminal ma jeszcze w zanadrzu np. polecenie apt-mark bądź aptitude. Ale tajemne moce drzemiące w tych komendach pozostawiam do samodzielnego przetestowania.
Do tajemnych mocy dorzucę apt-clone:
http://dug.net.pl/tekst/172/proste_migawki_systemu_z_apt_clone/
a ja to robię tak, 4 komendy 🙂 http://banasiak.me/2009/11/instalacja-brakujacych-pakietow-po-przeinstalowaniu-systemu/