Страница 1 из 7

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 27 фев 2021, 21:18
autriche
Здравствуйте! Очень надеюсь, что кто-то мне поможет решить данную задачу!

В общем суть такая. У меня есть внешний жесткий диск, на котором у меня резервная копия моего не так давно помершего Mac компьютера. Формат там HFS+ ну и резервка делалось маковсой программой Time Machine. И файлы от туда мне конечно же теперь надо как-то вытащить. Лазя по гуглам, я понял, что это сделать реально, но я так и не понял, как это нужно правильно делать, так как в линуксе вообще ни силен.

В данный момент у меня есть ноутбук с недавно установленным последний Mint Cinnamon 20.1. Подключая жесткий диск с Time Machine он в минте монтируется, я его вижу, я вижу там папки с датами последний резервных копий. Я в них могу зайти, но вот скачать толком ничего не могу. Так как например вместо папки Music (которая была на мак и весила в районе 150 Гб), там стоит тип файла текстовика с размером 0 кб. И так практически со всеми папками, которые на маке именно папки были. Я так понял, что с маху во все папки тут невозможно попасть, так как видимо что-то связано с правами доступа, а сами папки это как бы ссылки на файлы, который физически находиться на диске, но из за прав я в него не могу попасть. Все что я нашел в инете по моей проблеме это пост и какие-то скрипты выложенные на гетхабе, написанные на питоне и требующие Phyton-Fuse. Но как всем этим воспользоваться я так и не осилил.

Вот то что я нашел http://hints.macworld.com/article.php?s ... 3213342356
Recently after switching from Mac OS X to Debian, I found I needed to restore a couple files from the Time Machine backup that I kept. The drive works just fine as an HFS+ mount, but I couldn't figure out how to retrieve anything within. When Google didn't yield the answer, I began to explore on my own.

It turns out Apple does a couple slick things with the file system to make incremental backups work, including hard linking to directories, which isn't allowed in Linux. So for anyone that needs to access their Time Machine from something other than its associated Mac, here's how you do it...

[robg adds: The following details were reproduced (with minor editing) using the author's original blog post, with his permission.]

Mount the drive. On linux, it should automount if you have gnome-volume-manager installed. If you don't see it in /media, then run nautilus and check the desktop. Still don't see it? Read man mount. And then don't forget the -t hfsplus flag.
Change directory. My mount point is /media/Time Machine/. Within that path, I find the directory Backups.backupdb. This represents the directory layout of your backup system. Inside that directory is the name of your disk. Inside that are folders labeled with dates corresponding to each incremental backup that was made. Pick the one you want, or choose the Latest symlink. For example, my path is now:
/media/Time Machine/Backups.backupdb/Drive 1/2008-06-05-073745
Find your file's folder. Within that path is a complete representation of your filesystem. Navigate to the location of your file. If it's not too big or nested too deep, it may be plainly visible. However, there's a good chance that its parent directory doesn't exist. Instead you'll see a zero-byte file for the parent that takes its name and acts as a pointer. Run ls -l and take note of the first numbered column. Example:
...
-r--r--r-- 2155704 root 5791966 0 2007-06-25 02:54 Wallpaper
-r--r--r-- 2155725 root 5791967 0 2007-06-25 02:54 Web-Identity
-r--r--r-- 5441953 root 5791968 0 2007-06-25 02:54 Windows
-r--r--r-- 5511926 root 5791969 0 2007-06-25 02:54 Work
After the permissions, you'll see the directory number that typically refers to the number of directories within that folder. For a file, it should always be 1, but here it is not. What Apple has done is adjust the information in this file's inode to use it as a pointer to the directory that contains the actual file. That way, multiple revisions of the same drive can coexist without duplicating data.
Find the data. In my case, I want to grab something out of the Wallpaper folder. First I made a note of the directory number, 2155704, and then did cd /media/Time Machine/.HFS+ Private Directory Data -- this is where the data really lives. From there, I just did cd dir_2155704, and voilГ !
тут приведены какие-то команды, которые нужно как я понимаю вводить в терминале

И ссылка на один из скриптов на гетхабе, который типа позволит получить доступ во все папки без пробелм

https://github.com/isnotajoke/fuse-time-machine

Если вдруг кто с этим сталкивался или просто понял, что мне нужно делать и подскажет пошаговую инструкцию, я был бы очень признателен, так как файлы как раз папки Music мне и надо от туда вытащить. Без коллекций накопленной годами, че-то не очень как-то :sad: :sad: :sad:

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 05:43
demonlibra
autriche писал(а):
27 фев 2021, 21:18
Так как например вместо папки Music (которая была на мак и весила в районе 150 Гб), там стоит тип файла текстовика с размером 0 кб.
Откройте в этом каталоге терминал и выполните команду ls -l

Группа цифр после описания прав содержит указание на каталог, который надо искать.
-r--r--r-- 2155704 root 5791966 0 2007-06-25 02:54 Wallpaper
Т.е. искать надо каталог, который содержит 2155704.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 13:01
autriche
Здравствуйте, demonlibra! Спасибо, что откликнулись!

Но это для меня только первый шаг все-таки оказался, а дальше все равно тупка. Да.. я зашел в мой там самый последний бекап, справой кнопки зашел в ней в терминал, набрал комнаду ls -l и точно увидел теперь список
photo 2_2021-02-28_14-07-08.jpg
У папки с музыкой номер 789968. Но дальше теперь для меня все равно не понятно как действовать. В том посте написаны вот эти команды
cd /media/Time Machine/.HFS+ Private Directory Data типа по этой траектории и лежат именно файлы физически
и
cd dir_2155704. типа путь к папке

Где их писать...тоже в терминале?
Если что, то путь у меня до той папки такой. media/имя польз/WD My Passport/Backups.bacupdb/Mac mini - имя польз/2020-04-09-221426/Reason . Я так понимаю, что мне надо теперь сделать, что то типа cd/media/имя польз/WD My Passport/.HFS+ Private Directory Data . Но я такое писал в терминале и он мне пишет что ничего не найдено.

А в самом немо то можно вообще как -то открыть или все через терминал придется делать? Так же надо понимать, что в этой папке Music еще очень много папок и подпапок...папка с музыкантом, а внутри еще папки с его альбомами. Будет ли еще дальнейший геморрой? Потому что надо мне все папку эту стогиговую выцарапать, а не один файлик....и сли это вдруг пофайлово, тогда пипец конечно

И еще хочу узнать...когда я нажимаю правой кнопкой, то помимо терминала есть еще открыть с Root. Это что значит?.. Может это сразу же оно...то что даст мне доступ? Я не стал пока нажимать и экспериментировать.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 13:07
symon2014
autriche писал(а):
28 фев 2021, 13:01
открыть с Root.
Отерыть с повышенными правами, можно писать , удалять , редактировать.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 13:44
autriche
symon2014 писал(а):
28 фев 2021, 13:07
autriche писал(а):
28 фев 2021, 13:01
открыть с Root.
Отерыть с повышенными правами, можно писать , удалять , редактировать.
Спасибо! Да ...я в итоге попробовал нажать на нее, но толку от этого 0, как у тех "папок" размером в 0 кб )))

А вообще вот, про что я говорю
photo_2 2021-02-28_15-18-18.jpg
То, что текстовые файлы и размер у них 0 кб, это и есть папки. Так же есть там два wave файла и их можно без проблем скачать, виндовские исо образы тоже, так же отображается одна папка, в которую без проблем тоже могу зайти и вижу там файлы. А все остальное тут вот такие текстовики.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 13:57
symon2014
autriche, в терминале , где ты делал скрин , набери команду pwd , так увидишь полный путь к этому месту.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 13:59
demonlibra
autriche писал(а):
28 фев 2021, 13:01
У папки с музыкой номер 789968. Но дальше теперь для меня все равно не понятно как действовать.
Что может быть проще? )

В файловом менеджере откройте корень Вашего внешнего диска и воспользуйтесь поиском.
Введите в строке поиска 789968


Если необходимо открыть каталог с правами root, нажмите на каталоге правой кнопкой мышки и выберите Открыть как root.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 15:05
autriche
В общем ребята, получилось у меня туда попасть. Да.. я в итоге ввел в адресной строке Немо /media/имя польз/WD My Passport/.HFS+ Private Directory Data. Меня перебросило в папку, где находится куча этих пронумерованные Dir папок. Demonlibra я через поиск нашел эту папку dir_789968. Радостный потирая руки в нее зашел, а там меня поджидала большая жопа. Так как в ней все папки тоже текстовики с 0 кб.

Полазив по тем кучам dir папок, я понял что сами файлы в них и живут. Но это конечно пипец. Это получается мне сейчас по каждому автору из папки Music надо узнавать номер dir. Потом там искать и только в таком случае можно выкачивать файлы. Жесть конечно лютая. ((

А может есть какой-то менее болезненный выход? Думал вот к другому мак у друзей подключить, но скорей всего тоже так просто не получится, как хотелось бы.



На данном этапе спасибо вам за помощь! И если есть какие-то еще варианты напишите пожалуйста!

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 15:10
symon2014
autriche писал(а):
28 фев 2021, 15:05
И если есть какие-то еще варианты напишите пожалуйста!
Советую присмотреться к утилите testdisk , но лучше экспериментировать с копией , так как утилита не из простых и запросто может как восстановить так и убить данные.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 15:11
demonlibra
Видимо для того чтобы получить адекватную структуру каталогов и создан сценарий, о котором вы писали ранее:
https://github.com/isnotajoke/fuse-time-machine

Вроде выглядит просто:
python fuse-tm.py <mountpoint> --hfs-path=<hfs-path> --hostname=<hostname>
should do it. mountpoint is the folder that you want FUSE to mount on. hfs_path is the path to your mounted time machine. hostname is the hostname of the Mac that you're restoring. You can then interact with mountpoint as if it were your time machine on your mac.

Скачайте и положите сценарий fuse-tm.py в домашний каталог.
Создайте какой-нибудь каталог в домашнем каталоге, например mac. Зайдя Вы должны увидеть желанную структуру файлов.
Возможно потребуются права root
Откройте терминал в домашнем каталоге и выполните
sudo python fuse-tm.py mac --hfs-path=<hfs-path> --hostname=<hostname>

где
<hostname> название машины, которое было в mac
<hfs-path> путь с файлами резервной копии TimeMachine

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 15:36
autriche
Demonlibra, благодарю! Только я так понял нужно поставить сперва Fuse - Python...так ведь? Через менеджер программ я находил вот такой https://github.com/libfuse/python-fuse и через менеджер и устанавливал, но в программах потом ничего не нашел и удалил. И есть еще вот такой https://github.com/libfuse/libfuse Хз этот может новее. ...попробую сейчас с ними поковыряться. Голова уже кругом конечно от непоняток у меня во всех этих делах. Про Paragon еще знаю...но там тоже такое себе

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 15:44
demonlibra
просто скачайте файл fuse-tm.py

Если выдаст ошибку, показывайте вывод.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 16:01
demonlibra

Код: Выделить всё

sudo apt install fuse
sudo apt install python3-fuse

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 18:27
autriche
Эхх тупка опять. Что то делаю не так, потому что мне пишет в треминале "синтаксическая ошибка рядом с неожиданным маркером "Newline"
Щас я распишу из того что я понял из вашего поста.

1. Захожу в свою папку Home ( где там музыка загрузки рабочий стол и тд)
2. Создаю там новую папку ..например Mac mini - Test, такое же как как и на самом маке
3. Копирую в Home fuse-tm.py
4. тут же в папке Home открываю терминал и в нем набираю следующее sudo python fuse-tm.py Mac mini - Test --hfs-path=<media/имя польз/WD My Passport> --hostname=<Mac mini - Test>

Правильно делаю?

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 18:30
demonlibra
Надо всё, что содержит пробелы, заключать в двойные ковычки. Т.е. каталоги, имена и прочие параметры.
"Mac mini - Test"

На всякий случай добавлю, что регистр ВАЖЕН.
a и A это два разных символа.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 18:31
rogoznik
autriche писал(а):
28 фев 2021, 18:27
Правильно делаю?
Как минимум лишние символы. Должно быть вот так

Код: Выделить всё

sudo python fuse-tm.py "Mac mini - Test" --hfs-path="/media/имя польз/WD My Passport" --hostname="Mac mini - Test"

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 18:37
demonlibra
autriche писал(а):
28 фев 2021, 18:27
Что то делаю не так, потому что мне пишет в треминале "синтаксическая ошибка рядом с неожиданным маркером "Newline"
Вы всё-таки в следующий раз прикладывайте вывод терминала. Потому, что Ваша интерпретация может и подвести.

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 19:28
autriche
В общем все вставил в терминал, как вы мне написали выше sudo python fuse-tm.py "Mac mini - Test" --hfs-path="/media/имя польз/WD My Passport" --hostname="Mac mini - Test" . И терминал сказал sudo python: команда не найдена

Так же я еще делал такое (подумал может сюда имели ввиду) зашел в проводнике по пути /home и там так же скопировал туда python fuse-tm.py файлик и создал папку Mac mini - Test . Применил в терминале команду, но тоже самое sudo python: команда не найдена.... и руки опустились.

В общем устал я че-то сегодня с этой головомойкой аж до головной боли.....или забить уже или побороться дальше...даже не знаю. Доступ к файлам конечно и есть, но через тонну Dir папок. Ну и проблема еще конечно в том, что ни черта не понимаю в linux, его командах. (((

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 19:32
symon2014
autriche, python -V
Python 2.7.17

Извлечь файлы из Time Machine Mac os HSF+

Добавлено: 28 фев 2021, 19:35
rogoznik
autriche, попробуй так

Код: Выделить всё

sudo python3 fuse-tm.py "Mac mini - Test" --hfs-path="/media/имя польз/WD My Passport" --hostname="Mac mini - Test"