Ich bin auf der Suche nach Möglichkeiten, unter Linux die nativ auf einer Time Capsule gespeicherten Dateien über eine Netzwerkfreigabe bereitzustellen und zu lesen. Wie bei dieser Frage suche ich nach etwas, das zumindest die Nur-Lese-Funktion von hdiutil repliziert , um ein Sparse-Bundle-Disk-Images anzuhängen und anschließend bereitzustellen .
Das Mounten von SMB ist einfach, da die Time Capsule sowohl AFP als auch SMB verwendet . Ich bin mir jedoch nicht sicher, ob das Bündel mit den wenigen Festplatten als wiederhergestelltes HFS + -Verzeichnis bereitgestellt werden kann.
Bonuspunkte für einen funktionierenden Mount-Befehl oder Zeiger auf das entsprechende Paket, das dieses DMG-Format analysiert.
Falls es nicht klar ist - so sehen die Banddateien für mich aus, wenn sie von einem Mac in Terminal gemountet werden, und ich erwarte, dass Linux sie anzeigt, ohne dass das eigentliche Dateisystem gemountet werden kann, das in einer Vielzahl von Binärbanddateien codiert ist.
host:iMac.sparsebundle mike$ ls -la
total 24
drwxrwxrwx@ 7 mike staff 264 Jul 5 10:01 .
drwx------ 6 mike staff 264 Mar 26 13:11 ..
-rwxrwxrwx 1 mike staff 499 Feb 24 15:33 Info.bckup
-rwxrwxrwx 1 mike staff 499 Feb 24 15:33 Info.plist
drwxrwxrwx 31101 mike staff 1057390 Jun 17 20:19 bands
-rwxrwxrwx 1 mike staff 532 Jun 24 22:06 com.apple.TimeMachine.MachineID.plist
-rwxrwxrwx 1 mike staff 0 Feb 24 15:33 token
host:iMac.sparsebundle mike$ ls -la bands | head -10
total 1582092552
-rwxrwxrwx 1 mike staff 8388608 Jul 5 08:33 0
-rwxrwxrwx 1 mike staff 8388608 May 31 13:02 1
-rwxrwxrwx 1 mike staff 8388608 Jun 24 22:16 10
-rwxrwxrwx 1 mike staff 8388608 Mar 19 17:15 1000
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 10000
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 10001
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 10002
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 10003
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 10004
host:iMac.sparsebundle mike$ ls -la bands | tail -10
-rwxrwxrwx 1 mike staff 8388608 May 31 00:51 fff6
-rwxrwxrwx 1 mike staff 8388608 May 31 00:51 fff7
-rwxrwxrwx 1 mike staff 8388608 May 31 00:51 fff8
-rwxrwxrwx 1 mike staff 8388608 May 31 00:51 fff9
-rwxrwxrwx 1 mike staff 8388608 May 31 00:51 fffa
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 fffb
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 fffc
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 fffd
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 fffe
-rwxrwxrwx 1 mike staff 8388608 May 31 00:50 ffff
host:~ mike$ ls -la bands|wc -l
96636
cd
sobald das Volume, auf dem Ihre Time Machine-Backups gespeichert sind, unter Linux gemountet ist.Antworten:
Sie können eine Kombination dieser beiden verwenden:
FUSE-Dateisystem zum Lesen von Festplatten-Images mit Mac OS-Sparse-Bundle
Apples Time Machine Fuse Nur-Lese-Dateisystem
Die erste kümmert sich um das .sparsebundle-Format und präsentiert es als dmg-Datei, die dann wie gewohnt gemountet werden kann. Die zweite kümmert sich um die von Time Machine verwendeten Verzeichnis-Hardlinks.
quelle
tmfs
hat den Job für mich perfekt unter Debian 7.0 gemacht.Dies ist eine Erweiterung der Antwort von @ TorArneVestbø.
Nachdem Sie https://github.com/torarnv/sparsebundlefs und https://github.com/abique/tmfs installiert haben , müssen Sie das folgende Skript in Bash ausführen. Stellen Sie sicher, dass die beiden Variablen zu Beginn als Quelle und Ziel aktualisiert werden.
Auf das endgültige Reittier können Sie zugreifen (solange
$TM_MNT
Sie Zugriff haben). Die letzte Zeile kann fehlschlagen, wenn FUSE nicht so eingerichtet ist, dass andere Benutzer es zulassen, und Sie erfahren, wie das Problem behoben werden kann.Zum Abmelden müssen Sie folgende Schritte ausführen:
Dies wurde auf einem Fedora 28-System getestet und funktioniert gut.
quelle
Apples Time Machine Fuse Nur-Lese-Dateisystem
https://github.com/abique/tmfs
quelle
Der obige Beitrag von Alexandre Bicque enthält ein Linux-Programm (? Unix), mit dem ein Time Machine-Sparsebundle geöffnet werden kann, das auf einer HFS + -Diskette oder -Diskettenpartition im Mac-Format gespeichert ist und das Lesen der Dateien auf einem Linux-Server ermöglicht.
Die Einrichtung ist nichts für schwache Nerven. Es ist in C ++ geschrieben und erfordert 3 C ++ - Bibliotheken -
cmake
, FUSE und Boost - mit bestimmten Mindestversionen (die möglicherweise nicht die neuesten Standardversionen für meinen Ubuntu Server 10.04 sind). Außerdem müssen ein g ++ - Compiler und die oben genannten Bibliotheken gefunden und installiert werden.Ich benutze Ubuntu Server 10.04 und bin kein großer Programmierer. Nach einigem Aufwand gelang es mir jedoch, alle erforderlichen Bibliotheken zu installieren, das tmfs-Paket zu kompilieren, zu verknüpfen und zu verwenden. Es funktioniert und ermöglicht das Einhängen einer TimeMachine-Zeitkapsel. Es ist jedoch erforderlich, dass die Festplatte, auf die das Sparsebundle-Image geschrieben wird, eine HFS + -Diskette oder -Partition ist. Es funktioniert nicht, wenn das Image auf einem NTFS- oder ext2 / ext3 / ext4-Dateisystem auf einem Linux-Server geschrieben ist.
Ab Apple OS X 10.7 (Lion) funktionieren Time Machine-Images (Sparsebundle) nicht mehr, wenn sie auf einer Windows-Linux-Freigabe (SMB / Samba) bereitgestellt werden. Sie müssen Linux / Unix Netatalk (
afpd
plusavahi-daemon
) -Dienste ausführen , um Linux als zu verwenden ein Time Machine Server.Ich habe viel nach einer anderen Lösung gesucht. Ich vermute, dass ein Linux / Unix-C ++ - Programmierer eine bessere Leistung erbringen könnte als ich. Er erweiterte Alexandre Bicques Arbeit, um die Verwendung von ext4- oder ntfs-Dateisystemen zu ermöglichen. Ich versuche herauszufinden, wie es geht, aber ich habe noch einen langen Weg vor mir.
Ich denke, es wird erforderlich sein, dass ich die Sicherung (User-Space-Dateisystem) und möglicherweise die
boost::filesystem
Systementwicklungshelfer viel besser verstehe , um voranzukommen.quelle
Leider ist der Weg zum Finden von Dingen in einem Sparsebundle unter Linux nicht einfach. Dies ist möglich, erfordert jedoch die Interpretation einiger Inode-Informationen, die Apple in die Hardlinks einbettet, um die eigentliche Datei im Sparsebundle zu finden. In diesem MacWorld-Hinweis wird beschrieben, wie Sie herausfinden, wo ein Hardlink in einem Sparsebundle auf die tatsächliche Datei verweist, damit Sie von einem Linux-System aus darauf zugreifen können. Es handelt sich um eine Time Machine-Festplatte, die als lokale Festplatte an eine einzelne Maschine angeschlossen wurde.
In deinem Fall
<mount point>/Backups.backupdb
ist das höchstwahrscheinlich<machinename>
.backupdb`.Ich bin nicht sicher, ob
<mount point>/.HFS+ Private Directory Data
es an derselben Stelle eine freigegebene Festplatte gibt, die von mehreren Computern für Time Machine-Sicherungen verwendet wird. Sie müssen eine kleinels -la
Inspektion der Festplatte und der Sparsebundles durchführen, um das herauszufinden.Andernfalls helfen Ihnen diese MacWorld-Anweisungen beim Abrufen von Dateien auf einem Time Machine-Bundle von Linux.
Ein Update zum Einhängepunkt.
Ich habe anhand Ihrer aktualisierten Frage experimentiert. Es sieht so aus, als ob der Einhängepunkt das
*.sparsebundle
Verzeichnis und nicht das Laufwerk sein sollte. Wenn ich das Laufwerk in OS X einbinde und gehe,/Volumes/Remote Backups/mymachine.sparsebundle
sehe ich dasbands
Verzeichnis wie Sie und es ist unbrauchbar.Aber wenn ich so einbinde
mymachine.sparsebundle
, dass ich zu gehen kann/Volumes/Time Machine Backups
(das ist, was es als automatisch in Finder einbindet, wenn ich auf das doppelklickemymachine.sparsebundle
), sehe ich das erwarteteBackups.backupdb
Verzeichnis und darunter die Datum-Zeit-Verzeichnisse wie erwartet.quelle
ls | tee /tmp/bands
, um die Ausgabe zu erfassen. Ich habe 96636 Binärdateien, von denen die meisten 8388608 groß sind. Ich habe kein Problem damit, die Backup-Struktur zu umgehen, wenn sie vom Festplatten-Dienstprogramm des Mac in ein Dateisystem umgewandelt und dann erneut freigegeben wurde. Ich kann nur nicht herausfinden, wie die Bänder unter Linux ohne OS X-System verarbeitet werden, um das Dateisystem erneut freizugeben.*.sparsebundle
Datei unter Linux als hfsplus-Dateisystem anstelle des Remote-Laufwerks bereitzustellen. Ähnlich wie beim Öffnen der .sparsebundle-Datei auf Ihrem Mac und beim Aufrufen eines/Volumes/Time Machine Backups
Volumes unter OS X. Die Antwort wurde detaillierter aktualisiert.