Getestet wurde der Artikel für folgende Version(en):
Ubuntu Touch 15.04 Vivid Vervet
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 beispielsweise im Fall der Nutzung von apt-get schnell zu Problemen führen und sind allgemein häufig von Garantieleistungen der Gerätehersteller/ Shops ausgenommen.
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 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.
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. Im Recovery Modus kann man allerdings sein System nur auf den Werkszustand zurücksetzen.
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 neuen Recovery Modus mit aktivierter ADB-Shell zu installieren. Von dort aus kann 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 macht nicht unbedingt Sinn, jede Partition bzw. deren Inhalt zu sichern, es schadet jedoch sicher nicht. Die wichtigsten wie boot, recovery sowie system sollten jedoch gesichert werden bzw. aus Originaldateien wiederherstellbar sein. userdata mit den persönlichen Daten ist separat und regelmäßig zu sichern.
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:
Falls das Gerät nicht mehr bootet und das Zurücksetzen der eigenen Dateien nicht mehr reicht, muss man mit Fastboot ein neues System aufspielen, wobei man dafür für Fastboot geeignete Image-Dateien herunterladen muss. Alternativ kann man damit ein alternatives Recovery einspielen, welches die ADB-Shell beherrscht, um damit das neue System aufspielen zu lassen. Der Vorteil beider Varianten ist: 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.
Wenn man es einfacher haben will, kann man diesen Vorgang mit Fastboot durch das flash_tool grafisch durchführen lassen, allerdings verliert man dabei sämtliche persönlichen Daten und Einstellungen.
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.
Am einfachsten ist dafür das Programm flash_tool geeignet - es beherrscht allerdings nur das Wiederherstellen des Werkszustandes bzw. das Installieren vorgefertigter Imagedateien von den Entwicklern, jedoch keine direkte Systemsicherung ansich. Jedoch ist es auch am unflexibelsten, z.B. wird damit bei der Wiederherstellung unweigerlich die Homepartition mit den persönlichen Daten und Einstellungen gelöscht.
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.
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.
Am einfachsten und schnellsten kann eine Datensicherung über USB-Kabel stattfinden, wofür bei weniger aktuellen Ubuntu-Versionen ggf. erst die Erkennung des Gerätes entsprechend nachgerüstet werden muss. Danach 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.
Eventuell kann man dazu mit Hilfe von dd bestimmte aushängbare oder wenig beschriebene Partitionen komplett als Image sichern und wiederherstellen. Dies würde jedoch ziemlich lange dauern, unflexibel und in vielen Fällen nicht robust sein. Als Alternative bietet sich daher rsync über SSH mit folgendem Vorgehen an:
Man richtet im Ubuntu Touch SSH ein. Danach kann man rsync so einrichten, dass das gesamte System mit Root-Rechten gesichert werden kann: Gesamtes System mit root Rechten. Da dies bei Ubuntu Phone 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:
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
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.
10.42.0.35
ist die Standard-IP bei der Einrichtung eines WLAN-Hotspots an einem Ubuntu-PC und muss ggf. angepasst werden.
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 Bootmenü kann erreicht werden, wie bis 3. unter Ubuntu Touch/Notfall für das Zurücksetzen beschrieben. Dort bieten sich die Optionen "Recovery Mode", "Fastboot Mode" sowie "Normal 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, welches man am besten über die phablet-tools mit installiert:
phablet-tools (Befehle für Ubuntu Touch Geräte)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install phablet-tools
sudo aptitude install phablet-tools
Die Bedienung wird im Abschnitt Systemwiederherstellung beschrieben.
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.
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 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-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.
Mit dem Menüpunkt "Normal Mode" kann man das Gerät wieder starten, im normalen Modus, wo man das Gerät mit seinen Apps benutzt.
Je nachdem, was und wie gesichert wurde bzw. welche Originaldateien in Form von Images vorhanden sind, kann auch die Wiederherstellung erfolgen.
Dafür benötigt man Dateien, die für eine Wiederherstellung mit Fastboot geeignet sind. Diese bekommt man beispielsweise in etwas älteren Versionen in den Ordnern des flash_tools, welche aber auch fast tagesaktuell auf cdimage.ubuntu.com zu finden sind. Besonders bietet sich aber in vielen Fällen das Flashen der alternativen Recovery für weitere Reparaturen mit der ADB-Shell an. Abweichend davon würde diese Datei nun in diesem Abschnitt mit fastboot
anstatt mit ubuntu-device-flash
geflasht werden, was auch funktioniert, wenn man im Notfall durch einen schwerwiegenden Systemfehler keine ADB-Shell mehr zur Verfügung hat.
Diese Dateien sind in einem speziellen Format für Fastboot gepackt. Es sind keine Images im herkömmlichen Sinne, welche man mit etwa dd erstellen könnte.
In Fastboot booten und anschließend am PC folgenden Befehl ausführen, um zum Beispiel die Systempartition wiederherzustellen:
fastboot flash system SYSTEMDATEI.img
Es lassen sich auch weitere Partitionen wiederherstellen, jedoch sollte man nach Möglichkeit zuvor überprüfen, ob das Wiederherstellen des vorherigen Vorgangs geklappt hat, damit man sich nicht versehentlich durch falsches Vorgehen auch noch die Boot- und Recovery-Partition zerstört und dann gar nicht mehr booten bzw. nicht mal mehr den Recovery Modus aufrufen kann.
fastboot flash boot BOOTDATEI.img fastboot flash recovery RECOVERYDATEI.img
Anschließend kann man den Fastboot Mode durch
fastboot reboot
verlassen. Will man danach wieder in das Bootmenü gelangen und funktioniert der Befehl
fastboot reboot-bootloader
nicht wie gewünscht, so kann man zum Verlassen des Fastboot Mode auch den Not-Aus betätigen, um anschließend wieder manuell das Bootmenü aufzurufen.
Weitere Befehle und Optionen von fastboot
befinden sich unter
fastboot help
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 --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
aus obigem Beispiel gesichert hatte, stellt man mit
rsync --rsync-path="sudo 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.
Mit Flashen wird ein Vorgang bezeichnet, mit dem eine andere, meist neuere, Version von Ubuntu Touch installiert werden kann. In einem anderen Artikel wurde bereits die erstmalige Solo-Installation beschrieben, welche sich jedoch in Details unterscheidet, die bei einer Wiederherstellung des Systems hinderlich sein können.
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.
Nicht nutzen, ohne sich mit den Sicherungsmechanismen zumindest grundlegend vertraut gemacht zu haben! Eine Systemsicherung vorher ist dringend empfohlen.
Zunächst muss ubuntu-device-flash installiert und der Terminal-Zugang mittels ADB eingerichtet werden. Die ADB-Shell darf aber nicht gestartet werden, sondern wird vom folgenden Flash-Befehl nach dem Download selbst gestartet. Darauf achten, dass der Bildschirm davor entsperrt wurde.
Etwas stabilere Entwicklerversion flashen:
ubuntu-device-flash -v touch --channel=ubuntu-touch/rc-proposed
Die Scopes "Heute" und "Near-by" sowie die Apps "Here Maps" sowie das Spiel "Cut the Rope" fehlen beim strengstens nicht empfohlenen Entwickler-Channel devel
möglicherweise und sind, bis auf letztere, auch noch nicht im App Store nachinstallierbar, wobei letztere dann kostenpflichtig ist.
Zurück zur neuesten Werksversion 14.10 (Stand der Information vom Januar 2016):
ubuntu-device-flash -v touch --channel=ubuntu-touch/ubuntu-rtm/14.09-factory-proposed
Die Option --bootstrap
aus der Solo-Installation wurde hier bewusst weggelassen, denn sie würde das Homeverzeichnis mit allen Daten und Einstellungen löschen. Dies muss man abseits der Erstinstallation nur tun bzw. nachholen, wenn die Probleme durch eine falsche bzw. problembehaftete Konfiguration verursacht worden sind.
Unter Ubuntu Phone ist derzeit Ubuntu 14.10 aktuell und wird weiterentwickelt, während 14.10 als Desktop oder Server Version am PC bereits keine Aktualisierungen mehr erhält (Stand vom Januar 2016).
Sollte dies scheitern, kann man den Flashvorgang auch direkt vom Gerät aus durchführen, Voraussetzung dafür ist das bereits der SSH-Zugang erfolgreich eingerichtet und das Paket phablet-tools installiert wurde.
Das folgende Beispiel zeigt, wie man den Channel rc-proposed
auf das Gerät Meizu MX4 spielt.
Zuerst wird mit der Phablet-Shell auf das Ubuntu Touch Gerät gewechselt:
phablet-shell
Nun wird der gewünschte Channel geflasht, wobei Root-Rechte erforderlich sind:
sudo system-image-cli --switch ubuntu-touch/rc-proposed/meizu.en
Unter how-do-i-use-ubuntu-device-flash-with-the-bq-aquaris-e4-5-and-aquaris-e5 befindet sich je ein alternatives Recovery Image für die beiden bq Geräte verlinkt, welche auch die ADB-Shell aktiviert haben. Dieses kann man herunterladen und in folgendem Befehl an der Stelle von recovery-krillin.img angeben.
ubuntu-device-flash -v touch --channel=ubuntu-touch/stable/bq-aquaris.en --recovery-image=ubuntu-touch-ordner/recovery-krillin.img --device=krillin
Als device
muss hierbei der Codename des jeweiligen Gerätes eingesetzt werden, z.B. krillin
für das bq Aquaris E4.5. Der Codename für das Meizu MX4 lautet arale
.
Um eine Sicherung einer Imagedatei der Homepartition für die Datenrettung 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 Ubuntu Gerätes. Die Sicherungsimagedatei wird also direkt vom Ubuntu Touch Gerät auf das Ubuntu Gerät 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 26. März 2016 19:31 von Benno-007 erstellt.