Получить путь.dmg от точки монтирования
Я ищу способ получить путь.dmg смонтированного образа диска только с его точкой монтирования.
Я хочу написать "простой" сервис Finder, который извлекает образ диска и удаляет сопровождающий.dmg. Извлечение тривиально, но я не знаю, как определить путь к.dmg, учитывая только точку монтирования.
Дискутил, кажется, не знает или не говорит.
Это для сценария, поэтому предпочтение отдается предложениям на основе AppleScript или оболочки.
2 ответа
Использование hdiutil info
получить информацию о подключенных в данный момент образах. Тогда используйте hdiutil detach /Mount/Point
отключить все файловые системы и отсоединить образ.
Вам нужно будет проанализировать вывод hdiutil info
найти правильный путь к изображению, если смонтировано несколько изображений. Вероятно, будет более надежно использовать формат вывода plist hdiutil info -plist
и запустите его, скажем, в сценарий Python с plistlib или AppleScript, используя Property List Suite
от System Events
,
Вот быстрый и грязный скрипт на python, чтобы дать вам идею. С помощью интерпретатора python легко изучить параметры:
>>> import plistlib
>>> from subprocess import Popen, PIPE
>>> output = Popen(["hdiutil", "info", "-plist"], stdout=PIPE).communicate()[0]
>>> pl = plistlib.readPlistFromString(output)
>>> for image in pl['images']:
... for se in image['system-entities']:
... if se.get('mount-point') == '/Volumes/blah':
... print image['image-path']
/Path/To/blah.dmg
Запустите терминал, сделайте:
$ cd /Volumes
$ hdutil info
Местоположение подозрительных dmg-файлов будет отображаться под image-path
cd
в это место и сделайте:
$ ls filename
Размонтируйте том в Finder и, наконец, в Terminal:
$ rm filename
Удачи.