Inhaltsverzeichnis
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