Saya mencari untuk melihat apakah Linux dapat me-mount dan membaca file yang disimpan secara asli pada Time Capsule melalui jaringan berbagi. Seperti pertanyaan ini , saya mencari sesuatu yang mereplikasi setidaknya fungsi read-only dari hdiutil untuk dilampirkan dan kemudian me-mount gambar bundle disk yang jarang.
Mount SMB mudah karena Time Capsule berbagi menggunakan AFP dan SMB , tapi saya tidak begitu yakin bundel disk jarang dapat dipasang sebagai direktori HFS + yang disusun kembali.
Poin bonus untuk perintah pemasangan yang berfungsi atau penunjuk ke paket yang sesuai yang mem-parsing format DMG ini.
Dalam kasus itu tidak jelas - ini adalah bagaimana file band terlihat kepada saya ketika dipasang dari Mac di Terminal dan apa yang saya harapkan untuk dilihat Linux tanpa kemampuan untuk me-mount sistem file yang sebenarnya yang dikodekan dalam banyak file band biner.
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
setelah volume di mana cadangan Time Machine Anda disimpan dipasang di Linux.Jawaban:
Anda dapat menggunakan kombinasi keduanya:
FUSE filesystem untuk membaca gambar disk bundel Mac OS
Sekering Mesin Waktu Apple hanya membaca sistem file
Yang pertama menangani format .sparsebundle, menyajikannya sebagai file dmg, yang kemudian dapat dipasang seperti biasa. Yang kedua menangani direktori-tautan keras yang digunakan oleh Time Machine.
sumber
tmfs
melakukan pekerjaan untuk saya dengan sempurna di Debian 7.0.Ini adalah ekstensi untuk jawaban oleh @ TorArneVestbø.
Setelah Anda menginstal https://github.com/torarnv/sparsebundlefs dan https://github.com/abique/tmfs Anda perlu menjalankan skrip berikut di Bash. Pastikan untuk memperbarui kedua variabel di awal menjadi sumber dan tujuan.
Mount akhir akan dapat diakses oleh Anda (selama
$TM_MNT
dapat diakses oleh Anda). Baris terakhir mungkin gagal jika FUSE tidak diatur untuk mengizinkan pengguna lain, ini memberi tahu Anda cara memperbaikinya.Untuk meng-unmount, Anda perlu melakukan hal berikut:
Ini diuji pada sistem Fedora 28 dan bekerja dengan baik.
sumber
Sekering Mesin Waktu Apple hanya membaca sistem file
https://github.com/abique/tmfs
sumber
Posting di atas, dari Alexandre Bicque, menyediakan program Linux (? Unix) yang akan membuka sparsebundle Time Machine yang disimpan di disk HFS + yang diformat Mac atau partisi disk, memungkinkan pembacaan file di server Linux.
Mempersiapkannya bukan untuk orang yang lemah hati. Ini ditulis dalam C ++ dan membutuhkan 3 C ++ libraries -
cmake
, FUSE, dan Boost, dengan versi minimum tertentu (yang mungkin bukan versi terbaru default untuk Ubuntu Server 10.04 saya.) Ini juga membutuhkan menemukan dan menginstal kompilator g ++ dan pustaka di atas.Saya menggunakan server Ubuntu 10,04 dan tidak banyak programmer. Namun, setelah sedikit kerja dan waktu, saya berhasil menginstal semua perpustakaan yang diperlukan, mengkompilasi dan menautkan paket tmfs, dan menggunakannya. Ini berfungsi, memungkinkan pemasangan TimeMachine Time Capsule. NAMUN, itu memang mengharuskan disk tempat gambar sparsebundle ditulis menjadi disk atau partisi HFS +. Ini tidak akan berfungsi jika gambar ditulis pada sistem file NTFS atau ext2 / ext3 / ext4 pada server Linux.
Pada Apple OS X 10.7 (Lion), Time Machine (sparsebundle) gambar tidak akan lagi berfungsi jika dipasang pada Windows (smb / Samba) Linux berbagi, dan itu perlu untuk menjalankan Linux / Unix Netatalk (
afpd
plusavahi-daemon
) untuk menggunakan Linux sebagai server Time Machine.Saya sudah melakukan banyak mencari solusi lain. Saya menduga bahwa seorang programmer Linux / Unix C ++ bisa melakukan lebih baik daripada saya, memperluas karya Alexandre Bicque untuk memungkinkan penggunaan sistem file ext4 atau ntfs. Saya mencoba mencari cara untuk melakukannya, tetapi masih harus menempuh jalan panjang.
Saya pikir itu akan mengharuskan saya memahami lebih baik sekering (sistem file ruang pengguna) dan mungkin
boost::filesystem
pembantu pengembangan sistem untuk bergerak maju.sumber
Sayangnya jalan untuk menemukan hal-hal di sparsebundle dari Linux tidak langsung. Ini bisa dilakukan, tetapi itu membutuhkan penafsiran beberapa informasi inode yang ditanamkan Apple di hardlink untuk menemukan file aktual di sparsebundle. Petunjuk MacWorld ini menjelaskan bagaimana Anda mencari tahu di mana hardlink dalam sparsebundle menunjuk ke dalam hal file aktual sehingga Anda dapat mengaksesnya dari sistem Linux. Ini berkaitan dengan disk Time Machine yang telah terpasang sebagai disk lokal ke satu mesin.
Dalam kasus Anda
<mount point>/Backups.backupdb
kemungkinan besar<machinename>
.backupdb`.Saya tidak yakin apakah
<mount point>/.HFS+ Private Directory Data
ada di tempat yang sama untuk disk bersama yang digunakan untuk cadangan Time Machine oleh beberapa mesin. Anda harus melakukan sedikitls -la
pemeriksaan pada disk dan sparsebundle untuk menemukannya.Tetapi sebaliknya instruksi MacWorld itu akan membantu Anda mengambil file pada bundel Time Machine, dari Linux.
Pembaruan tentang titik pemasangan.
Saya melakukan beberapa percobaan berdasarkan pertanyaan Anda yang diperbarui. Sepertinya titik mount seharusnya
*.sparsebundle
direktori dan bukan drive. Jika saya memasang drive di OS X dan pergi ke/Volumes/Remote Backups/mymachine.sparsebundle
saya melihatbands
direktori seperti yang Anda lakukan dan itu tidak berguna.Tetapi jika saya me
mymachine.sparsebundle
- mount sedemikian rupa sehingga saya dapat pergi ke/Volumes/Time Machine Backups
(itu yang mount sebagai secara otomatis di Finder ketika saya klik dua kali padamymachine.sparsebundle
) saya melihatBackups.backupdb
direktori yang diharapkan dan di bawah itu direktori tanggal-waktu seperti yang diharapkan.sumber
ls | tee /tmp/bands
untuk menangkap hasilnya. Saya memiliki 96636 file biner, sebagian besar berukuran 8388608. Saya tidak punya masalah menyiasati struktur cadangan setelah diubah menjadi sistem file oleh utilitas disk mac dan kemudian dibagikan ulang. Saya tidak tahu bagaimana memproses band-band di linux tanpa sistem OS X untuk membagikan kembali sistem file.*.sparsebundle
file sebagai sistem file hfsplus di Linux, bukan remote drive. Mirip dengan apa yang terjadi jika Anda membuka .sparsebundle di Mac Anda dan Anda berakhir dengan/Volumes/Time Machine Backups
volume di OS X. Jawaban yang diperbarui dengan lebih detail.