staging.inyokaproject.org

Sicherung und Wiederherstellung

Ausbaufähige Anleitung

Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.


Anmerkung: Der Abschnitt Komplett über WLAN mit rsync konnte bisher nicht abschließend geprüft werden. Wer Expertise in rsync und SSH hat, ist gebeten, dort zu unterstützen!

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Achtung!

Für jegliche Veränderungen an Ubuntu Touch ist der Besitzer selbst verantwortlich. Weder die Artikelautoren noch ubuntuusers.de haften, falls Probleme auftreten oder das benutzte Gerät im schlimmsten Fall nie mehr gestartet werden kann. Tiefe Systemeingriffe können dazu führen, dass Ubuntu Touch durch einen sogenannten Flashvorgang neu aufgespielt werden muss.

Unter bestimmten Umständen könnte auch dies unmöglich werden - das Gerät und damit auch die Daten sind dann unwiederbringlich zerstört. Schwere Systemeingriffe wie Schreibzugriff auf das System sind inoffiziell, können schnell zu Problemen führen und sind allgemein häufig von Garantieleistungen der Gerätehersteller/ Shops ausgenommen.

Wiki/Icons/ubuntutouch.png Jeder, der mit datenverarbeitenden Systemen arbeitet, sollte sich mit dem Thema Datensicherung auseinandersetzen. Es ist noch keine App zur einfachen Datensicherung bekannt, im Notfall[1] wäre diese wahrscheinlich auch nicht zugänglich. Daher muss man sich mit den Sicherungsmechanismen vertraut machen.

Sicherungsmechanismen

Hintergründe

Sicherungsmechanismen stellen sicher, dass man im Notfall nach Möglichkeit noch Zugang zu seinem Gerät hat, um weitere Maßnahmen wie Reparatur, Neuinstallation oder Wiederherstellung einer Sicherung des Systems oder von Daten oder gar eine Datenrettung einleiten zu können. Es gibt mehrere Sicherungsmechanismen, wenn einmal etwas schiefgehen sollte:

Fastboot, den Recovery Modus sowie die ADB-Shell. Diese werden im Abschnitt Bootmenü kurz beschrieben. Der Bootloader, Fastboot, der Recovery Modus sowie das System - und nebenbei auch Cache sowie Daten - liegen jeweils auf eigenen Partitionen, die man nicht manuell verändern sollte, weil das das Gerät unwiederbringlich zerstören kann und dann auch die Sicherungsmechanismen beschädigt werden könnten.

Achtung!

Es ist nicht möglich, ein Gerät mit defekter Partitionstabelle bzw. Partitionierung noch zu starten, wenn keiner der Sicherungsmechanismen mehr ansprechbar ist. Auch eine Neuinstallation oder Wiederherstellung ist im Gegensatz zu einem PC bei einem Smartphone oder Tablet dann nicht mehr möglich.

Wenn das System nicht mehr startfähig und auch die ADB-Shell (sowie SSH) nicht mehr zugänglich ist, bleibt einem nur noch der Recovery Modus sowie Fastboot. Direkt über den Recovery Modus kann man allerdings sein System nur auf den Werkszustand zurücksetzen.

Achtung!

Bei diesem Vorgang werden alle Daten gelöscht. Änderungen an einer beschreibbar gemachten Systempartition können auf diesem Wege nicht wiederhergestellt werden.

Der Recovery Modus bietet zwar eine ADB-Shell an, diese ist jedoch derzeit nicht aktiviert. Fastboot bietet die Möglichkeit, einen alternativen Recovery Modus mit aktivierter ADB-Shell zu installieren. Von dort aus könnte man ein funktionierendes neues Systemimage online flashen. Aufgrund ungeklärter Umstände ist diese ADB-Shell leider auch nicht immer erreichbar.

Eine Übersicht über alle Partitionen liefert die folgende Ausgabe am Ubuntu-Touch-Terminal [2]. Dazu sind Root-Rechte [3] erforderlich.

sudo blkid 

Es ist nicht unbedingt sinnvoll, jede Partition bzw. deren Inhalt zu sichern, es schadet jedoch sicher nicht. Die wichtigsten sind boot, recovery sowie system, alle sind für die unterstützten Geräte aus Originaldateien problemlos wiederherstellbar. userdata mit den persönlichen Daten ist dagegen separat und regelmäßig zu sichern.

Konsequenzen

Aus diesen vielfältigen Möglichkeiten ergeben sich folgende Konsequenzen:

Man muss sich klarmachen

  • was man sichert

  • wie man sichert

  • wann und wo man noch sichern oder wiederherstellen kann und wo/ wann nicht (mehr).

Im Grunde gibt es dabei folgende Dinge zu beachten:

Man muss seine Homepartition mit seinen persönlichen Daten und Einstellungen nicht löschen lassen, sofern die Störung des Startvorgangs nicht damit in Verbindung steht, sondern z.B. nur mit einer misslungenen Aktualisierung.

  • Persönliche Daten und Einstellungen sind also stets separat zu sichern, um jederzeit Zugriff auf sie zu haben und sie notfalls ebenfalls wiederherstellen zu können. Dies muss durch andere geeignete Verfahren wie rsync erfolgen. Die externe Speicherkarte dagegen lässt sich schneller mit einem Dateimanager sichern.

Systemsicherung

Regelmäßige Datensicherung

Bei der Überlegung, was gesichert werden soll, ist es sinnvoll, gleiche Dateien nicht doppelt oder gar dreifach zu sichern. Daher lohnt es sich zu überprüfen, ob nicht große Dateien "zwischengespeichert" sind, z.B. in den Verzeichnissen

  • /home/phablet/.cache/Media Player/HubIncoming/ - Standardverzeichnis für den Medienwiedergabe-Scope

  • /home/phablet/.cache/xenial/HubIncoming/ - falls ein Libertine-Container mit der ID xenial existiert

Ggf. findet sich der Ursprung dann auch noch in

  • /home/phablet/Downloads.

Gerade wenn es sich dabei um längere Videos handelt, können schnell mehrere GB an überflüssigem Daten- und Speichervolumen zusammenkommen, die die Sicherungzeit zudem stark verlängern wird.

Grundlagen

Für eine Datensicherung ist es nicht nötig, die standardmäßig schreibgeschützte Systempartition mitzusichern. Stattdessen achtet man darauf, die Homepartition sowie die miniSD (SD-Karte) zu sichern. Während man keinen PC zur Verfügung hat, bietet es sich auch an, wichtige Inhalte auf die SD-Karte zu kopieren, denn so hat man zwei Kopien und sollte das System aus irgendeinem Grund zurückgesetzt werden müssen, kann man die SD-Karte problemlos an einem anderen Lesegerät oder nach einer nötigen Reparatur am Ubuntu-Touch-Gerät erneut auslesen bzw. weiterbenutzen.

Ergänzende Möglichkeiten

Beispielsweise kann man auch innerhalb der App Kamera durch Wischen nach oben bei "SD" "Auf SD-Karte speichern" einstellen. Bislang nutzen jedoch wenige Apps eine solche Funktion. Sie lässt sich allerdings in manchen Fällen wie bei umfangreichem Navigations-Kartenmaterial manuell durch einen Symlink auf die SD-Karte nachrüsten. Das alleinige Speichern auf SD-Karte ist jedoch keine Kopie und somit nicht mal ein halbherziges Backup. Es sichert die ausgewählten Daten jedoch besser bei Systemausfällen ab.

Dateien über USB im Dateimanager

Am einfachsten und schnellsten kann eine Datensicherung über USB-Kabel stattfinden. Damit kann man die Dateien wie von USB-Sticks gewohnt in einem Dateimanager kopieren. Der Nachteil dieser Methode ist, dass man damit nur die vorgegebenen Ordner der Homepartition sowie der SD-Karte sichern kann, also beispielsweise nicht die versteckten Dateien im Homeverzeichnis, welche jedoch alle Apps, Einstellungen sowie Daten wie etwa eingegangene Emails enthalten. Daher sollte man diese Daten ergänzend sichern.

Als Alternative bietet sich rsync über SSH mit folgendem Vorgehen an:

Komplett über WLAN mit rsync

Man richtet im Ubuntu Touch SSH ein. Danach könnte man rsync so einrichten, dass das gesamte System mit Root-Rechten gesichert werden kann: Gesamtes System mit root Rechten. Da dies bei Ubuntu Touch jedoch extrem langsam ist und die Systempartition sowieso schreibgeschützt, sollte man damit trotzdem nur die Homepartition sichern. Dies ist auch ausreichend, da die Apps in der Homepartition enthalten sind.

Es bietet sich an, möglichst auch für die Sicherung der Homepartition die Root-Rechte entsprechend einzurichten, um auch die Dateien zu sichern, die ausnahmsweise für Root reserviert sind und sich sonst nicht sichern lassen.

Um die im Artikel beschriebene Änderung der Datei /etc/sudoers vornehmen zu können, muss zunächst das System zumindest für diese eine Änderung kurzzeitig beschreibbar gemacht werden. Anschließend kann der rsync-Befehl aus dem Wiki folgendermaßen angepasst werden:

Hinweis:

rsync muss zuvor unbedingt wie eben beschrieben sowie detailliert verlinkt eingerichtet worden sein!

rsync --rsync-path="sudo rsync" --delete --stats -PSHAXhavxze ssh --exclude='/media/*/**' --link-dest=~/ut-backup-alt phablet@10.42.0.35:/home/phablet ~/ut-backup-neu 


Hinweis:

Das funktioniert allerdings unter 18.04 nicht, siehe diesen Thread


Achtung!

Durch die Option --exclude='/media/*/**' wird die SD-Karte von der Datensicherung ausgenommen, da auch dies über rsync an den derzeitig verfügbaren Ubuntu-Touch-Geräten viel zu langsam wäre und bereits bei wenigen GB mehrere Tage dauern würde. Es ist auch nicht unbedingt nötig, da rsync vor allem den Zweck hat, auch andere als die Standardordner und somit auch versteckte Ordner und Dateien zu sichern, welche auf der SD-Karte zunächst gar nicht vorkommen und weniger Relevanz haben. Alternativ bzw. ergänzend kann man externe Datenträger auch mit der Option -x ausschließen.

Dabei ist zu beachten, dass der Ordner ~/ut-backup-alt zunächst leer sein kann. Beim nächsten Sichern sollte man dort jedoch den Ordner der alten Sicherung angeben, denn dann wird damit verglichen und so werden nur die geänderten bzw. neuen Dateien gesichert. Das spart viel Zeit und Speicherplatz.

Hinweis:

10.42.0.35 ist die Standard-IP bei der Einrichtung eines WLAN-Hotspots an einem Ubuntu-PC und muss ggf. angepasst werden.

Einfachere Variante ohne Root-Rechte

Möchte man dagegen mit einer einfacheren Variante ohne Root-Rechte sichern, bietet sich folgender Befehl an:

rsync --delete --stats -PSHAXhavxz --exclude='/media/*/**' --link-dest=~/ut-backup-alt phablet@10.42.0.35:/home/phablet ~/ut-backup-neu 

Damit können manche Dateien möglicherweise nicht kopiert werden. Das funktioniert z.B. mit BQ Aquaris HD M10 und bei Fairphone2, fast alle Dateien werden kopiert.

Bootmenü

Das Bootmenü kann erreicht werden, wie bis 3. unter Ubuntu Touch/Notfall (Abschnitt „Zuruecksetzen“) für das Zurücksetzen beschrieben. Dort bieten sich die Optionen "Recovery Mode", "Fastboot Mode" sowie "Normal Mode". Das ist allerdings von Gerät zu Gerät unterschiedlich.

Fastboot Mode

Der Fastboot Modus ist dazu da, um im Notfall noch neue Systemimagedateien aufspielen zu können. Man erreicht ihn über das Bootmenü oder über die ADB-Shell mit dem Kommando

fastboot 

aus dem Paket android-tools-fastboot

Der Fastboot-Modus lässt sich z.T. auch über lang gedrückte Kombination taste Vol- + Power, erreichen, so auf dem Fairphone2.

Hinweis:

Den Fastboot Modus ohne Aufruf aus einer Shell, direkt über das Bootmenü, kann man nur verlassen, indem man ein USB-Kabel an einem PC sowie dem Ubuntu-Touch-Gerät ansteckt oder den Not-Aus betätigt.

Recovery Mode

Den Recovery Modus erreicht man über das Bootmenü oder über die ADB-Shell mit dem Kommando

adb reboot recovery 

Sobald man das Ubuntu-Logo sieht, muss man die Taste Vol+ Vol+ drücken, um in das dahinterliegende Menü zu gelangen. Dieses bietet meist zumindest folgende Möglichkeiten:

  • "reboot system now" - System jetzt neustarten

  • "wipe data/factory reset" - Daten löschen/ Werkszustand wiederherstellen (Reset)

  • "wipe cache partition" - Cache Partition löschen

Mit der Taste Vol- Vol- kann man einen der Menüpunkte ansteuern und mit der Power Power-Taste auswählen, wie dort im Menü auch nochmal erklärt 🇬🇧 wird. Am Wichtigsten ist der Werkszustand, aber auch das Löschen der Cache Partition kann manche Probleme lösen, z.B. bestimmte Speicherplatzprobleme bei Aktualisierungen.

Das ist allerdings von Gerät zu Gerät unterschiedlich. Auf dem Fairphone2 erreicht man diese Optionen unter dem "UBports Recovery → Android actions". Auf einem BQ Aquaris HD m10 heißt der Eintrag zum Zurücksetzten nur "factory reset".

Normal Mode

Mit dem Menüpunkt "Normal Mode" kann man das Gerät wieder starten, im normalen Modus, in welchem man das Gerät mit seinen Apps benutzt. Dieser Menüpunkt ist nicht auf allen Geräten verfügbar, es gibt es aber immer etwas wie "Reboot system now".

Wiederherstellung

Je nachdem, was und wie gesichert wurde bzw. welche Originaldateien in Form von Images vorhanden sind, kann auch die Wiederherstellung erfolgen.

Systemwiederherstellung

Eine Systemwiederherstellung erfolgt sinnvollerweise über UBports Installer, alle unterstützten Geräte können, solange sie noch in den Bootloader- oder den Recovery-Modus gebootet werden können, problemlos wieder hergestellt werden.

Datenwiederherstellung

Zunächst stellt man das System wieder her bzw. auf seinen Ursprungszustand zurück, falls dies aufgrund Problemen nötig sein sollte - dies wurde in den vorherigen Abschnitten ausführlich beschrieben.

Daten dagegen, welche man mit rsync gesichert hatte, sichert man am besten ebenfalls mit rsync wieder zurück. Dazu wählt man die Daten aus und vertauscht im Befehl Quelle und Ziel. Beispiel:

Wenn man mit

rsync --delete --stats -PSHAXhavxze ssh --exclude='/media/*/**' --link-dest=~/ut-backup-alt phablet@10.42.0.35:/home/phablet ~/ut-backup-neu 

aus obigem Beispiel gesichert hatte, stellt man mit

rsync --delete --stats -PSHAXhavxze ssh ~/ut-backup-neu/phablet phablet@10.42.0.35:/home 

die Daten wieder her. Wichtig ist dabei, dass man genau darauf achtet, welche Ordner man angibt. Es darf sich hinter der Quelle phablet kein "/" befinden.

Daten, welche man per Dateimanager gesichert hatte, kann man entsprechend einfach auf dieselbe Weise zurückkopieren.

Flashen

Mit Flashen wird ein Vorgang bezeichnet, mit dem eine andere, meist neuere, Version von Ubuntu Touch installiert werden kann. Besonders unter Ubuntu Touch ist es ratsam, einen der stabilen Kanäle zu benutzen. Flashen kann auch helfen, das System wieder in seinen Ursprungszustand zu versetzen.

Achtung!

Nicht nutzen, ohne sich mit den Sicherungsmechanismen zumindest grundlegend vertraut gemacht zu haben! Eine Systemsicherung vorher ist dringend empfohlen.

Flashvorgänge führt man am sinnvollsten mit UBports Installer durch, mit dem alle unterstützten Geräte unkompliziert und sicher wiederhergestellt werden können, auch unter Beibehaltung der eigenen Daten und installierten Apps.

Datenrettung

Um eine Sicherung einer Imagedatei der Homepartition für die Datenrettung (Abschnitt „PhotoRec“) mit PhotoRec zu bekommen, kann man folgendermaßen vorgehen: Als einfache Voraussetzung ist beispielsweise der Terminal-Zugang mittels ADB sehr gut geeignet.

Wenn man die Systempartition bereits vor der Sicherung beschreibbar gemacht hat, sollte man nun in den Recovery Modus booten, da die zu sichernde Partition sich nicht verändern und ausgehängt sein sollte. Dabei muss man das alternative Recovery verwenden. Hat man dieses installiert, kann man es starten:

adb reboot recovery 

Im Recovery Modus wird man direkt mit Root-Rechten angemeldet, im normalen Betrieb muss man sich die nötigen Rechte durch sudo manuell beschaffen.

Beim bq Aquaris E4.5 befindet sich die Homepartition auf der siebten Partition mmcblk0p7. Die nun nötige Anmeldung an der ADB-Shell[2] im Recovery Modus ist nur möglich, wenn man über ADB den

reboot recovery 

eingeleitet hatte. Um anschließend diese Partition zu sichern, führt man im Terminal von Ubuntu folgendes aus, während sich das Ubuntu-Touch-Gerät mit USB-Kabel angeschlossen im Recovery Modus befindet:

 adb shell  'echo 'PASSWORT' | sudo -S dd if=/dev/block/mmcblk0p7 bs=4k conv=noerror,sync' > ~/Dokumente/backup-touch-mmcblk0p7-home.iso 

Das Leerzeichen vor dem Befehl sowie die zwei Leerzeichen nach adb shell sind gewollt, damit die Befehle mit Leerzeichen am Beginn starten. Diese spezielle Bash-Funktion verhindert, dass der Befehl und damit das in ihm enthaltene Passwort in der

history  

auftaucht - weder in der vom aufrufenden PC noch in der vom Ubuntu-Touch-Gerät. Als PASSWORT muss das vom Handy eingesetzt werden (z.B. eine gesetzte PIN). Danach erfolgt ein gewöhnliches Klonen mittels dd in die Datei ~/Dokumente/backup-touch-mmcblk0p7-home.iso im eigenen Homeverzeichnis des Rechners. Die Sicherungsimagedatei wird also direkt vom Ubuntu-Touch-Gerät auf den Rechner geklont.

Falls es Probleme mit dem Zugang zu adb auch im alternativen Recovery gibt, muss der normale Modus verwendet, also das Gerät ganz normal gestartet werden. Im normalen Modus muss zudem /dev/block/mmcblk0p7 durch /dev/mmcblk0p7 ersetzt werden, da sich dort die Bezeichnungen leicht unterscheiden.

Falls man den Recovery Modus betreten hatte und verlassen möchte, führt man danach

adb reboot 

in Ubuntu durch.

Nachdem man die Homepartition in die Datei ~/Dokumente/backup-touch-mmcblk0p7-home.iso gesichert hat, kann man diese ganz normal mit PhotoRec aufrufen und nach verlorenen Dateien durchsuchen lassen. Dies ist allerdings nur erfolgversprechend, solange das Gerät möglichst sofort gesichert wurde, notfalls gleich im normalen Modus, solange man nicht sicherstellt, wann die eigene Version von Ubuntu Phone einen SSD/TRIM durchführt, welcher alle Daten unweigerlich löscht. Diese Voreinstellungen könnten schließlich von Gerät zu Gerät sowie wie von Version zu Version oder nach Aktualisierungen variieren.

Diese Revision wurde am 10. April 2020 22:10 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Ubuntu Touch, Ubuntu Phone, Ubuntu, Notfall, System