Paketgenaues klonen eines Systems

Aus Bluelupo's Wiki
Wechseln zu: Navigation, Suche


Nachfolgende Schritte erstellen eine paketgenaue Kopie eines Systems ausgehend von einer Installation der aptosid Live-CD. Voraussetzung ist eine identische HW-Plattform (686 bzw. amd64). Ansonsten muss das Zielsystem hardwaretechnisch nicht identisch mit dem Quellrechner sein.


Paktliste auf Quellrechner erstellen

Paketliste für Zielrechner in Datei source_paket_list.txt auf Quellrechner erzeugen ohne Biblotheken und Kernelpakete.

# dpkg -l | egrep -w ^ii | awk '{print $2}' | egrep -v '^(aptosid-|lib|linux-headers-|linux-image-|gcc|g++|kdelib|xulrunner)' > source_paket_list.txt

Paketliste auf Zielrechner kopieren

Per scp die soeben erstellte Paketliste auf den Tielrechner kopieren.

# scp source_paket_list.txt scrat:~ 


Paketliste auf Zielrechner erzeugen

Paketliste auf Zielrechner erzeugen und in Datei destination_paket_list.txt abspeichern, wieder ohne Biblotheken und Kernelpakete.

Alle Pakete in die Liste aufnehmen, außer die mit aptosid-, lib, linux-headers-, linux-image-, gcc, g++, kdelib oder xulrunner beginnen.

#  dpkg -l | egrep -w ^ii | awk '{print $2}' | egrep -v '^(aptosid-|lib|linux-headers-|linux-image-|gcc|g++|kdelib|xulrunner)' > destination_paket_list.txt

Differenzpaketliste erstellen

Nicht installierte Paktet auf Zielrechner ermitteln und in Datei diff_paket_list.txt abspeichern.

# diff -c source_paket_list.txt destination_paket_list.txt | egrep '^- ' | awk '{printf("%s\n",$2)}' > diff_paket_list.txt


D-U Protokoll erzeugen

Trockenlauf des Installationslaufes aus der Differenzliste diff_paket_list.txt durchführen zu Protokollzwecken.

# apt-get install $(<diff_paket_list.txt) -s > install_diff_paket_list.txt


Pakete aus Differenzpaketliste installieren

Jetzt die Installation auf dem Zielrechner durchführen.

# apt-get install $(<install_diff_paket_list.txt)


Systemupdate durchführen

Hinterher das Zielsystem auf den aktuellen Stand bringen mit eine Distupgrade.

# apt-get update && apt-get install dist-upgrade