Rechner übertragen & Packete klonen mit apt-clone

Andere Tipps

Linuxrechner klonen

Installieren der Software

(Zur Sicherheit abgeschrieben von https://linuxundich.de/gnu-linux/mit-apt-clone-die-installation-eines-rechners-auf-andere-ubertragen/)

Installieren von apt-clone:

sudo apt-get install apt-clone

Packete aufräumen

sudo apt-get autoremove

Alte Kernel entfernen

mit

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'

läßt man sich erst mal alle alten Kernel anzeigen. Mit

uname -a

prüft man nochmal sicherheitshalber, ob nicht doch der aktuelle Kernel mit dabei ist… Wenn alles ok ist, entfernt man die alten Kernel mit

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Klonen

Klonen aller Packete inklusive aller manuell installierten dpgs sowie der händisch eingefügten Packetquellen:

sudo apt-clone clone --with-dpkg-repack /

(Soll Fehlermeldungen generieren, die man aber ignorieren können soll)

Danach findet sich im Wurzelverzeichnis / die Datei apt-clone-state-rechnername.tar.gz. Diese kann bei manuellen DPKGs auch entsprechend groß ausfallen.

/etc sichern

Konfig speichern mit

sudo tar -cvzf etc.tar.gz /etc

mySQL sichern

Konfig speichern mit

sudo mysqldump -u root -p --all-databases > msq_backup.sql

php sichern

Konfig speichern mit

pip freeze > php2.lst
pip3 freeze > php3.lst

Packete wieder einspielen

Neuen Rechner installieren, und am grafischen Anmeldefenster mit ALT + F2 an der Textkonsole anmelden. Alte Platte anklemmen, verschlüsselte Homeverzeichnis mit ecryptfs-recover-private mounten und das komplette Homeverzeichnis per

cp -aPvr Quelle/* Ziel
cp -aPvr Quelle/.[^.]* Ziel

rüberkopieren (Irgendwie mag cp keine versteckten .Daten )

Ebenso die oben gesicherte Packetliste mit

sudo apt-clone restore apt-clone-state-rechnername.tar.gz

wieder installieren.

MySQL wieder füllen:

sudo mysql -u root -p < msq_backup.sql

und

sudo pip install -r php2.lst
sudo pip3 install -r php3.lst

wieder einspielen.

Danach per ALT + F6 wieder auf die grafische Anmeldung und anmelden. In der GUI dann Terminal auf und die oben erzeugte etc.tar.gz in /tmp auspacken. Als root dirdiff starten und die Unterschiede zwischen gespeicherter und aktueller /etc vorsichtig wieder einspielen.

Dabei auch die fstab auch wieder um die Netzlaufwerke und die RAM- Disk ergänzen:

##### Steffens eigene Laufwerke //192.168.1.11/daten /mnt/smbdata cifs _netdev,username=steffen,password=<????? my Password ?????>,uid=1000,guid=100,dir_mode=0777,file_mode=0777 0 0 192.168.1.11/music /mnt/smbmusic cifs _netdev,username=steffen,password=<????? my Password ?????>,uid=1026,guid=100,dir_mode=0777,file_mode=0777 0 0 //192.168.1.11/public /mnt/smbpublic cifs _netdev,username=steffen,password=<????? my Password ?????>,uid=1000,guid=100,dir_mode=0777,file_mode=0777 0 0 //192.168.1.11/photo /mnt/smbphoto cifs _netdev,username=steffen,password=<????? my Password ?????>,uid=1000,guid=100,dir_mode=0777,file_mode=0777 0 0 //192.168.1.11/web /mnt/smbweb cifs _netdev,username=steffen,password=<????? my Password ?????>,uid=1000,guid=100,dir_mode=0777,file_mode=0777 0 0 //192.168.1.11/Video /mnt/smbvideo cifs _netdev,username=steffen,password=<????? my Password ?????>,uid=1000,guid=100,dir_mode=0777,file_mode=0777 0 0 //192.168.1.11/Music /mnt/smbmusic cifs _netdev,username=steffen,password=<????? my Password ?????>,uid=1000,guid=100,dir_mode=0777,file_mode=0777 0 0 none /media/ram tmpfs defaults 0 0

und nicht vergessen, dass RAM- Mount Verzeichnis zu erzeugen:

sudo mkdir /media/ram
sudo chmod 777 /media/ram