Ein Vorteil vom Raspberry Pi ist, dass das Betriebssystem auf einer SD-Karte ist. Dadurch kann man relativ einfach ein Backup vom gesamten System machen. Ich gehe davon aus, dass man noch einen weiteren Rechner mit Linux zur Verfügung hat.
Ein Backup bietet sich auf jeden Fall an, wenn man ein größeres Update plant oder ein etwas Experimentiert und viel Software nachinstallieren muss. Im zweiten Fall kann man schnell sein System verfriemeln und man weiß nicht nicht mehr was man alles verändert hat.
Backup erstellen
Am einfachsten kann man ein Backup der kompletten SD-Karte mit dd
machen. Dabei
muss man die Karte in einen zweiten Rechner stecken und heraus finden, wie die SD-Karte heißt.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232,9G 0 disk
├─sda1 8:1 0 46,6G 0 part /
└─sda3 8:3 0 186,3G 0 part /home
mmcblk0 179:0 0 14,7G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part
└─mmcblk0p2 179:2 0 14,5G 0 part
Man sieht, dass das Device für die SD-Karte mmcblk0
ist.
Das andere Device ist meine Festplatte.
Mit dd
machen wir das eigenliche Backup. Dabei wird der
gesamte Inhalt von /dev/mmcblk0
in die Datei $HOME/backups/pi-backup-$(date +%F).img
geschrieben. $(date +%F)
fügt das aktuelle Datum in
den Dateinamen ein.
sudo dd if=/dev/mmcblk0 of=$HOME/backups/pi-backup-$(date +%F).img bs=4096
Nun hat man ein Backup fertig.
Backup ansehen
Beim Raspberry Pi ist eine Partionstabelle auf der SD-Karte. Die Daten befinden sich in der 2. Partion. Diese muss man mounten.
$ sudo kpartx $HOME/backups/pi-backup-2015-09-30.img
[sudo] password for rennecke:
loop0p1 : 0 114688 /dev/loop0 8192
loop0p2 : 0 62211072 /dev/loop0 122880
loop deleted : /dev/loop0
Nun weiß man, dass die zweite Partion bei Block 62211072 beginnt. Das mounten geht jetzt wie folgt:
sudo mount -o loop,rw,offset=62914560 $HOME/backups/pi-backup-2015-09-30.img /mnt
Ich muss meistens das Abbild beim ersten mal ReadWrite rw
mounten, da das Dateisystem überprüft werden muss.
Sonst kann man auch ReadOnly ro
mounten. Das hat den Vorteil, dass man nichts aus versehen im Backup verändern kann.
Nachdem man die Partion gemountet hat, kann man mit rsync
oder einfach kopieren einzelne Dateien bzw. ganze Verzeichnisse wieder herstellen. rsync
kann man auch in verbindung mit ssh verwenden.