Chcę sprawdzić, czy Linux może montować i czytać pliki natywnie przechowywane na Time Capsule przez udział sieciowy. Podobnie jak to pytanie , szukam czegoś, co powiela przynajmniej hdiutil funkcję tylko do odczytu, aby dołączyć, a następnie zamontować rzadkie obrazy dysku pakietu.
Podłączenie SMB jest łatwe, ponieważ Time Capsule korzysta zarówno z AFP, jak i SMB , ale nie jestem pewien, czy pakiet dysku rzadkiego może zostać zamontowany jako odtworzony katalog HFS +.
Punkty bonusowe za działające polecenie lub wskaźnik montowania do odpowiedniego pakietu, który analizuje ten format DMG.
W przypadku, gdy nie jest to jasne - tak wyglądają dla mnie pliki zespołu po zamontowaniu z komputera Mac w terminalu i to, czego oczekuję, że zobaczy Linux bez możliwości zamontowania rzeczywistego systemu plików zakodowanego w wielu plikach zespołu binarnego.
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
w nim, gdy wolumin, w którym przechowywane są kopie zapasowe Time Machine, zostanie zamontowany w systemie Linux.Odpowiedzi:
Możesz użyć kombinacji tych dwóch:
System plików FUSE do odczytywania obrazów dyskowych pakietu Mac OS
Bezpiecznik Time Machine firmy Apple, system plików tylko do odczytu
Pierwszy zajmuje się formatem .sparsebundle, prezentując go jako plik dmg, który można następnie zamontować jak zwykle. Drugi zajmuje się twardymi linkami do katalogu używanymi przez Time Machine.
źródło
tmfs
wykonał dla mnie pracę doskonale w Debianie 7.0.To jest rozszerzenie odpowiedzi @ TorArneVestbø.
Po zainstalowaniu https://github.com/torarnv/sparsebundlefs i https://github.com/abique/tmfs musisz uruchomić następujący skrypt w Bash. Zaktualizuj dwie zmienne na początku jako źródło i miejsce docelowe.
Ostateczny wierzchowiec będzie dla ciebie dostępny (o ile
$TM_MNT
jest on dostępny). Ostatnia linia może się nie powieść, jeśli BEZPIECZNIK nie jest skonfigurowany tak, aby zezwolić innemu użytkownikowi, mówi ci, jak to naprawić.Aby odmontować, wykonaj następujące czynności:
Zostało to przetestowane na systemie Fedora 28 i działa dobrze.
źródło
Bezpiecznik Time Machine firmy Apple, system plików tylko do odczytu
https://github.com/abique/tmfs
źródło
Powyższy post, autorstwa Alexandre Bicque, zawiera program dla systemu Linux (? Unix), który otworzy sparsebundle Time Machine przechowywany na dysku HFS + w formacie Mac lub partycji dysku, umożliwiając odczyt plików na serwerze Linux.
Przygotowanie go nie jest dla osób o słabych nerwach. Jest napisany w C ++ i wymaga 3 bibliotek C ++ -
cmake
, FUSE i Boost, z pewnymi minimalnymi wersjami (które mogą nie być domyślnymi najnowszymi wersjami dla mojego Ubuntu Server 10.04). Wymaga to również znalezienia i zainstalowania kompilatora g ++ i powyższych bibliotek.Używam serwera Ubuntu 10.04 i nie jestem zbytnim programistą. Jednak po długim czasie i pracy udało mi się zainstalować wszystkie niezbędne biblioteki, skompilować i połączyć pakiet tmfs i użyć go. Działa, umożliwiając zamontowanie TimeMachine Time Capsule. JEDNAK, wymaga, aby dysk, na którym zapisany jest obraz sparsebundle, był dyskiem lub partycją HFS +. Nie zadziała, jeśli obraz zostanie zapisany w systemie plików NTFS lub ext2 / ext3 / ext4 na serwerze Linux.
Począwszy od systemu OS X 10.7 firmy Apple (Lion), obrazy Time Machine (sparsebundle) nie będą już działać, jeśli zostaną zamontowane na udziale systemu Windows (smb / Samba) Linux i konieczne jest uruchomienie usług Linux / Unix Netatalk (
afpd
plusavahi-daemon
), aby używać Linuksa jako serwer Time Machine.Dużo szukałem innego rozwiązania. Podejrzewam, że programista Linux / Unix C ++ mógłby poradzić sobie lepiej niż ja, rozszerzając pracę Alexandre Bicque, aby umożliwić stosowanie systemów plików ext4 lub NTFS. Próbuję wymyślić, jak to zrobić, ale mam przed sobą długą drogę.
Myślę, że będzie to konieczne, aby lepiej zrozumieć bezpiecznik (system plików w przestrzeni użytkownika) i być może
boost::filesystem
pomocników programistycznych, aby przejść dalej.źródło
Niestety ścieżka do znalezienia rzeczy w rzadkim pakiecie od Linuksa nie jest prosta. Można to zrobić, ale wymaga to interpretacji niektórych informacji i-węzłowych, które Apple osadza w linkach twardych, aby znaleźć rzeczywisty plik w pakiecie rzadkim. Ta wskazówka MacWorld opisuje, w jaki sposób zaczynasz zastanawiać się, gdzie wskazuje hardlink w części sparsebund pod względem rzeczywistego pliku, abyś mógł uzyskać do niego dostęp z systemu Linux. Zajmuje się dyskiem Time Machine, który został podłączony jako dysk lokalny do pojedynczego komputera.
W twoim przypadku
<mount point>/Backups.backupdb
najprawdopodobniej jest to<machinename>
.backupdb`.Nie jestem pewien, czy
<mount point>/.HFS+ Private Directory Data
istnieje w tym samym miejscu dla dysku współdzielonego używanego do tworzenia kopii zapasowych Time Machine przez wiele komputerów.ls -la
Aby to znaleźć, musisz przeprowadzić małą inspekcję dysku i pakietów sparse.Ale w przeciwnym razie instrukcje MacWorld pomogą Ci pobrać pliki z pakietu Time Machine z Linuksa.
Aktualizacja dotycząca punktu montowania.
Przeprowadziłem eksperymenty na podstawie zaktualizowanego pytania. Wygląda na to, że punktem montowania powinien być
*.sparsebundle
katalog, a nie dysk. Jeśli podłączę dysk w systemie OS X i przejdę do katalogu,/Volumes/Remote Backups/mymachine.sparsebundle
zobaczę,bands
jak ty, i jest to bezużyteczne.Ale jeśli zamontuję
mymachine.sparsebundle
tak, że mogę przejść do/Volumes/Time Machine Backups
(to, co montuje automatycznie w Finderze po dwukrotnym kliknięciu namymachine.sparsebundle
), widzę oczekiwanyBackups.backupdb
katalog, a pod nim katalogi daty i czasu zgodnie z oczekiwaniami.źródło
ls | tee /tmp/bands
aby przechwycić dane wyjściowe. Mam 96636 plików binarnych, z których większość ma rozmiar 8388608. Nie mam problemu z obejściem struktury kopii zapasowej, która została przekształcona w system plików przez narzędzie dyskowe Mac, a następnie ponownie udostępniona. Po prostu nie mogę zrozumieć, jak przetwarzać pasma na systemie Linux bez systemu OS X w celu ponownego udostępnienia systemu plików.*.sparsebundle
plik jako system plików hfsplus w systemie Linux zamiast dysku zdalnego. Podobne do tego, co się stanie, jeśli otworzysz .sparsebundle na komputerze Mac i uzyskasz/Volumes/Time Machine Backups
wolumin w systemie OS X. Zaktualizowana odpowiedź z bardziej szczegółowymi informacjami.