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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top