Jak zachować zainstalowane aplikacje podczas migracji Ubuntu na inną platformę?

Zastanawiam się nad przeniesieniem ze starszego AMD64 na nowy dwurdzeniowy Intel, który jest 32 bitowy. Instalacja nie stanowi problemu, ale czy mogę przenieść wszystkie zainstalowane aplikacje? Nie byłem w stanie znaleźć wszystko do tej pory w Google, z wyjątkiem przypadków migracji do podobnej platformy i systemu plików. Nie zmienię systemu plików, ale platforma będzie inna. Czy jest coś na linii pliku "świat" w Gentoo?

Author: michaeljoseph, 2008-10-09

7 answers

Możesz łatwo zapisać swoją listę pakietów: zobacz "man dpkg" i wyszukaj --set-selections I -- get-selections.

Podstawowe jest jednak to, aby zapisać listę pakietów:

dpkg --get-selections > package_list

Aby przywrócić tę listę na innym systemie:

cat package_list | sudo dpkg --set-selections && sudo apt-get dselect-upgrade

Przemieszczanie się między architekturami oznacza, że niektóre pakiety będą niedostępne. Będą one ignorowane; na przykład ia32-libs nie będą instalowane w systemie 32-bitowym. Ten wybór zostanie zignorowany, jeśli przejście z x86-64 NA x86.

 34
Author: Michael Trausch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-09 15:19:51

Zabawne, tutaj używałem SO jako repozytorium howto( napisz pytanie, a następnie wybierz własną odpowiedź), ale w czasie, który zajęło mi napisanie własnej odpowiedzi, zostałem pobity do uderzenia trzykrotnie!

Tak czy siak, oto moje ujęcie dla przypomnienia:

Użyj opcji --get-selections I --set-selections dpkg, aby przechwycić i wybrać aktualnie zainstalowane pakiety.

Najpierw wyeksportuj aktualną listę pakietów do starego systemu:

sudo dpkg --get-selections > mypackages.txt

Następnie wybierz tę listę jako pakiety aby zainstalować na Nowym Systemie:

sudo dpkg --set-selections < mypackages.txt

(Aby uzyskać dodatkowe uznanie, skopiuj katalog pamięci podręcznej apt, aby zminimalizować pobierane pliki: /var/cache/apt)

Na koniec powiedz apt ' owi, aby pobrał i zainstalował wybrane pakiety:

sudo apt-get dselect-upgrade
 4
Author: michaeljoseph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-18 15:31:23

Dla wszystkiego, czego użyłeś do instalacji apt-get, jeśli chcesz utworzyć rekord tego, co jest zainstalowane, uruchom następujące polecenie:

dpkg -l|awk '/^ii\s*(.*)\s*/ {print $2}'|packages.txt

Spowoduje utworzenie pliku tekstowego ze wszystkimi zainstalowanymi pakietami. Następnie po instalacji Utwórz i uruchom skrypt o następującej treści:

#!/bin/sh
for p in $(cat packages.txt); do apt-get install $p; done

Uwagi:
1) ponieważ przechodzisz z 64-bitowego na 32-bitowy, niektóre pakiety mogą nie być kompatybilne. Chciałbym grep paczki.txt dla '64' przed uruchomieniem skryptu powyżej i znajdź alternatywy, jeśli są potrzebne.
2) wszystko, co zainstalowałeś ze źródła, musisz zanotować i zainstalować ponownie ze źródła.

Powodzenia!
 2
Author: Mark Roddy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-09 15:16:20

Jeśli (tak jak ja) nie zrobiłeś tego, zanim zepsułeś system, możesz uruchomić live-cd lub inną instalację i użyć chroot, aby uzyskać te informacje.

sudo chroot /path/to/old/system /bin/bash

Następnie wykonaj taniec dpkg --get-selections, a wynikowy plik możesz użyć do skonfigurowania nowego systemu.

 2
Author: jwhitlark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-03 22:40:17

To jest to, co zwykle zrobić, aby rozwiązać podobny problem (migrowane do nowego laptopa kilka razy).

Istnieją dwa dodatki do innych odpowiedzi na to pytanie, spowoduje to również przeniesienie ustawień update-alternatives i debconf, co zawsze zajmuje dużo czasu, aby uświadomić sobie, że nie zostały przeniesione.

Backup na starym systemie:

sudo apt-get install dselect debconf-utils
mkdir system-selections
update-alternatives --get-selections > system-selections/alternatives-selections
dpkg --get-selections '*' > system-selections/dpkg-selections
sudo debconf-get-selections > system-selections/debconf-selections

Skopiuj katalog config do systemu News ("scp -r oldsystem:system-selections ~"):

sudo apt-get install dselect debconf-utils
sudo dselect update
sudo dpkg --set-selections  < system-selections/dpkg-selections
sudo debconf-set-selections < system-selections/debconf-selections
sudo apt-get -u dselect-upgrade
sudo update-alternatives --set-selections < system-selections/alternatives-selections

Możesz również użyć tej samej metody, aby regularnie wykonywać kopie zapasowe katalogu domowego i system-selections (wspomniane powyżej) do zdalnego magazynu danych. Tak więc w przypadku uszkodzenia/kradzieży laptopa zbudowanie podobnego systemu jest dość szybkie.

 2
Author: Bekir Dogan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-30 13:10:35

Nie jestem pewien, czy to jest odpowiedź, ale właśnie odkryłem istnienie polecenia aptitude-create-state-bundle. Tak, to jedna Komenda. Sprawdź stronę man.

 1
Author: OliBlogger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-15 22:34:30

Najlepszym sposobem na to jest utworzenie kopii zapasowej listy zainstalowanych pakietów w bieżącym systemie, a następnie użycie tej listy do Ustawienia pakietów do zainstalowania w Nowym Systemie. Ogólne instrukcje dotyczące tworzenia kopii zapasowych i przywracania wybranych pakietów:

Install tools

sudo apt-get install dselect

Lista Pakietów Zapasowych

dpkg --get-selections | grep -v deinstall > ubuntu-files

Przywróć Wybór Pakietu

sudo apt-get update
sudo apt-get dist-upgrade
dpkg --set-selections < ubuntu-files
sudo dselect

Spowoduje otwarcie sesji dselect. Wpisz "I" i zezwól dselect na instalacja wymienionych pakietów w Twoim dokumencie ubuntu-files. Po zakończeniu wpisz "Q" i naciśnij klawisz ENTER, aby zakończyć program dselect.

 1
Author: Jay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-24 19:49:26