Travaillant sur OS X Yosemite (v10.11.5), je ne parviens pas à monter un ISO d'installation Debian (debian-8.5.0-amd64-CD-1.iso sur la page de téléchargement Debian). J'obtiens cette erreur…
$ hdiutil mount debian-8.5.0-amd64-CD-1.iso
hdiutil: mount failed - no mountable file systems
Pour contourner le problème, je peux monter le CD dans une machine virtuelle Linux en suivant les étapes « Créer une copie de l'image » dans la documentation de l'installateur Debian.
Est-il possible de lire le contenu du fichier directement depuis un Mac, sans l'aide d'une machine virtuelle Linux ? En fin de compte, ce que j'essaie de faire, c'est d'écrire un script capable de télécharger la dernière image ISO stable, de modifier l'ISO avec des données de prévisualisation, puis d'effectuer une installation automatisée de Debian sur une machine virtuelle. C'est principalement à des fins d'apprentissage, mais cela pourrait être utile plus tard.
Réponse acceptée :
Deviner. C'est un processus en deux étapes.
Étape 1. Attacher en tant que périphérique de bloc
# 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
Étape 1b. (Big Sur) Charger l'extension du noyau CD9660
# Load the kext module
sudo kmutil load -p /System/Library/Extensions/cd9660.kext
Étape 2. Montez le disque avec le système de fichiers cd9660 (alias 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
Étape 3. Démontez le disque
# this will fail if the disk is being used
$ umount /dev/disk2
Étape 4. Détachez le disque
$ hdiutil detach /dev/disk2
"disk2" unmounted.
"disk2" ejected.