Lavorando su OS X Yosemite (v10.11.5), non riesco a montare una ISO del programma di installazione Debian (debian-8.5.0-amd64-CD-1.iso sulla pagina di download di Debian). Ottengo questo errore...
$ hdiutil mount debian-8.5.0-amd64-CD-1.iso
hdiutil: mount failed - no mountable file systems
Per aggirare il problema, posso montare il CD in una macchina virtuale Linux seguendo i passaggi "Crea copia dell'immagine" nei documenti del programma di installazione Debian.
È possibile leggere il contenuto del file direttamente da un Mac, senza l'ausilio di una VM Linux? In definitiva, quello che sto cercando di fare è scrivere uno script in grado di scaricare l'ultima ISO stabile, modificare l'ISO con i dati di pre-visualizzazione e quindi eseguire un'installazione automatizzata di Debian su una macchina virtuale. Questo è principalmente per scopi di apprendimento, ma potrebbe essere utile in futuro.
Risposta accettata:
Capito. È un processo in due fasi.
Passaggio 1. Collegamento come dispositivo a blocchi
# the '-nomount' option avoids the 'mount failed' error
$ hdiutil attach -nomount debian-8.5.0-amd64-CD-1.iso
/dev/disk2 Apple_partition_scheme
/dev/disk2s1 Apple_partition_map
/dev/disk2s2 Apple_HFS
# verify disk is a block device (indicated by 'b' at line start)
$ ls -l /dev/disk2
br--r----- 1 amorphid staff 1, 5 Jul 27 19:41 /dev/disk2
Passaggio 1b. (Big Sur) Carica l'estensione del kernel CD9660
# Load the kext module
sudo kmutil load -p /System/Library/Extensions/cd9660.kext
Passaggio 2. Monta il disco con il file system cd9660 (noto anche come ISO9660)
# create mount point
$ mkdir -p /tmp/debian-installer
# mount the disk
$ mount -t cd9660 /dev/disk2 /tmp/debian-installer
# see da filez!
$ ls -l /tmp/debian-installer
total 2296
-r--r--r-- 1 root wheel 9468 Jun 4 09:24 README.html
-r--r--r-- 1 root wheel 185525 Jun 1 00:52 README.mirrors.html
-r--r--r-- 1 root wheel 100349 Jun 1 00:52 README.mirrors.txt
-r--r--r-- 1 root wheel 461 Jun 4 08:37 README.source
-r--r--r-- 1 root wheel 6000 Jun 4 09:24 README.txt
-r--r--r-- 1 root wheel 146 Jun 4 08:37 autorun.inf
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 boot
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 css
lr-xr-xr-x 1 root wheel 1 Jun 4 08:37 debian -> .
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 dists
dr-xr-xr-x 1 root wheel 4096 Jun 4 08:37 doc
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 efi
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 firmware
-r--r--r-- 1 root wheel 180335 Jun 2 03:18 g2ldr
-r--r--r-- 1 root wheel 8192 Jun 2 03:18 g2ldr.mbr
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 install
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 install.amd
dr-xr-xr-x 1 root wheel 4096 Jun 4 08:37 isolinux
-r--r--r-- 1 root wheel 275432 Jun 4 09:24 md5sum.txt
dr-xr-xr-x 1 root wheel 4096 Jun 4 08:37 pics
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 pool
-r--r--r-- 1 root wheel 368480 Jun 2 03:18 setup.exe
dr-xr-xr-x 1 root wheel 2048 Jun 4 08:37 tools
-r--r--r-- 1 root wheel 233 Jun 4 08:37 win32-loader.ini
Passaggio 3. Smonta il disco
# this will fail if the disk is being used
$ umount /dev/disk2
Passaggio 4. Stacca il disco
$ hdiutil detach /dev/disk2
"disk2" unmounted.
"disk2" ejected.