Я смотрю, может ли Linux смонтировать и прочитать файлы, изначально хранящиеся в Time Capsule, через сетевой ресурс. Как и в этом вопросе , я ищу что-то, что реплицирует хотя бы функцию hdiutil, доступную только для чтения, для подключения, а затем для монтирования редких комплектов образов дисков.
Монтирование SMB легко, поскольку Time Capsule совместно использует AFP и SMB , но я не уверен, что разреженный комплект дисков можно смонтировать как восстановленный каталог HFS +.
Бонусные баллы за работающую команду монтирования или указатель на соответствующий пакет, который анализирует этот формат DMG.
В случае, если неясно - так выглядят файлы диапазонов при монтировании с Mac в Терминале, и то, что я ожидаю, что Linux увидит без возможности монтировать фактическую файловую систему, которая закодирована во множестве двоичных файлов диапазонов.
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
в тот момент, когда том, где хранятся ваши резервные копии Time Machine, монтируется в Linux.Ответы:
Вы можете использовать комбинацию этих двух:
Файловая система FUSE для чтения образов дисков OS OS
Предохранитель Time Machine от Apple, файловая система только для чтения
Первый заботится о формате .sparsebundle, представляя его как файл dmg, который затем можно смонтировать как обычно. Вторая заботится о жестких ссылках каталога, используемых Time Machine.
источник
tmfs
отлично справился со мной на Debian 7.0.Это расширение ответа от @ TorArneVestbø.
После установки https://github.com/torarnv/sparsebundlefs и https://github.com/abique/tmfs вам необходимо запустить следующий скрипт в Bash. Обязательно обновите две переменные в начале, чтобы они были источником и местом назначения.
Окончательное монтирование будет доступно вам (до тех пор,
$TM_MNT
пока вам доступно). Последняя строка может потерпеть неудачу, если FUSE не настроен на разрешение другого пользователя, он говорит вам, как это исправить.Для размонтирования вам необходимо сделать следующее:
Это было протестировано в системе Fedora 28 и работает хорошо.
источник
Предохранитель Time Machine от Apple, файловая система только для чтения
https://github.com/abique/tmfs
источник
В вышеприведенном посте от Александра Бикка представлена программа для Linux (? Unix), которая открывает разреженный пакет Time Machine, хранящийся на отформатированном в Mac диске HFS +, или раздел диска, позволяя читать файлы на сервере Linux.
Настройка не для слабонервных. Он написан на C ++ и требует 3 библиотеки C ++ -
cmake
, FUSE и Boost, с определенными минимальными версиями (которые не могут быть последними версиями по умолчанию для моего Ubuntu Server 10.04.). Также требуется поиск и установка компилятора g ++ и вышеуказанных библиотек.Я использую Ubuntu Server 10.04 и не очень программист. Тем не менее, после значительной работы и времени мне удалось установить все необходимые библиотеки, скомпилировать и связать пакет tmfs и использовать его. Это работает, позволяя монтировать TimeMachine Time Capsule. ОДНАКО, требуется, чтобы диск, на котором записан образ sparsebundle, был HFS + диск или раздел. Он не будет работать, если образ записан в файловой системе NTFS или ext2 / ext3 / ext4 на сервере Linux.
Начиная с Apple OS X 10.7 (Lion) образы Time Machine (sparsebundle) больше не будут работать при подключении к общей папке Linux Windows (smb / Samba), и для использования Linux в качестве Linux необходимо запустить службы Netatalk (
afpd
плюсavahi-daemon
) Linux / Unix. сервер Time Machine.Я много искал другое решение. Я подозреваю, что программист Linux / Unix C ++ мог бы справиться лучше, чем я, расширив работу Александра Бика, позволив использовать файловые системы ext4 или ntfs. Я пытаюсь понять, как это сделать, но мне предстоит долгий путь.
Я думаю, что для
boost::filesystem
того, чтобы двигаться дальше , мне потребуется гораздо лучшее понимание предохранителя (файловой системы в пространстве пользователя) и, возможно , помощников по разработке системы.источник
К сожалению, путь к поиску чего-то в Linux очень непростой. Это можно сделать, но для этого требуется интерпретация некоторой информации inode, которую Apple встраивает в жесткие ссылки, чтобы найти фактический файл в sparsebundle. Эта подсказка MacWorld описывает, как вы узнаете, куда указывает жесткая ссылка в разреженном пакете в терминах реального файла, чтобы вы могли получить к нему доступ из системы Linux. Он имеет дело с диском Time Machine, который был подключен как локальный диск к одной машине.
В твоем случае
<mount point>/Backups.backupdb
скорее всего<machinename>
.backupdb`.Я не уверен,
<mount point>/.HFS+ Private Directory Data
существует ли в одном месте общий диск, используемый для резервного копирования Time Machine на нескольких машинах. Вы должны сделать небольшойls -la
осмотр диска и разреженных пакетов, чтобы найти это.Но в противном случае эти инструкции MacWorld помогут вам получить файлы из комплекта Time Machine из Linux.
Обновление относительно точки монтирования.
Я провел некоторые эксперименты на основе вашего обновленного вопроса. Похоже, точка монтирования должна быть
*.sparsebundle
каталогом, а не диском. Если я смонтировать диск в OS X и перейти к,/Volumes/Remote Backups/mymachine.sparsebundle
я вижуbands
каталог, как вы делаете, и это бесполезно.Но если я смонтирую так
mymachine.sparsebundle
, чтобы я мог перейти/Volumes/Time Machine Backups
(это то, что он монтирует так же автоматически в Finder, когда я дважды щелкаю наmymachine.sparsebundle
), я вижу ожидаемыйBackups.backupdb
каталог и под ним каталоги даты и времени, как ожидалось.источник
ls | tee /tmp/bands
команду, чтобы получить выходные данные. У меня 96636 бинарных файлов, большинство из них размером 8388608. У меня нет проблем с обходом структуры резервных копий после того, как она была преобразована в файловую систему с помощью дисковой утилиты Mac, а затем передана другим. Я просто не могу понять, как обрабатывать полосы в Linux без системы OS X для повторного использования файловой системы.*.sparsebundle
файл как файловую систему hfsplus в Linux вместо удаленного диска. Аналогично тому, что происходит, если вы откроете .sparsebundle на своем Mac и у вас получится/Volumes/Time Machine Backups
том на OS X. Обновленный ответ с более подробной информацией.