Prendi il percorso del .dmg dal punto di montaggio
Domanda
Sto cercando un modo per ottenere il percorso Dmg di un'immagine disco montata con solo il suo punto di montaggio.
Voglio scrivere un servizio di ricerca "semplice" che espelle l'immagine del disco e cestina il .dmg accompagnamento. L'espulsione è banale, ma io sono in perdita su come capire il percorso del .dmg, data solo il punto di montaggio.
diskutil non sembra sapere o non sta dicendo.
E 'per uno script, quindi AppleScript- o shell a base di suggerimenti sono preferiti.
Soluzione
Utilizza hdiutil info
per ottenere le informazioni relative alle immagini attualmente montate. Poi
utilizzare hdiutil detach /Mount/Point
smontare tutti i file system, e staccare l'immagine.
È necessario analizzare l'output da hdiutil info
per trovare la giusta immagine-percorso se più immagini sono montati. Probabilmente sarà più robusto per utilizzare il formato di output hdiutil info -plist
plist e correre che in, diciamo, uno script python con plistlib o un AppleScript utilizzando il Property List Suite
da System Events
.
Ecco uno script python rapido e sporco per dare un'idea. E 'facile da esplorare le opzioni che utilizzano l'interprete 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
Altri suggerimenti
Terminale Start, fare:
$ cd /Volumes
$ hdutil info
La posizione di sospetti DMG file apparirà sotto la foto-path
cd
in quella posizione, e fare:
$ ls filename
del volume Smonta nel Finder, e, infine, nel terminale:
$ rm filename
In bocca al lupo.