Créer un montage sur disque RAM dans un dossier spécifique dans OSX


11

J'utilise une commande comme celle-ci pour créer un disque RAM:

diskutil erasevolume HFS+ "ram disk" `hdiutil attach -nomount ram://307200`

Cela fonctionne avec succès, et j'obtiens un disque / Volumes / ram monté sur mon système que je peux utiliser qui est monté à partir de / dev / disk5 ou d'un autre endroit.

J'aimerais pouvoir contrôler où cela va, pouvoir monter sur / tmp / my_dir ou n'importe où. J'ai essayé de nombreuses combinaisons de paramètres changeants dans hdiutil et diskutil sans succès. Quel est le bon moyen de le faire?


Utilisez un lien symbolique pour le faire apparaître où vous le souhaitez.
martineau

J'ai trouvé un moyen de le faire, mais je devais le faire en plus d'une étape dans un script bash
Derek

Vous pouvez accepter votre propre réponse ici (et partager les détails avec le reste d'entre nous dans le processus ;-).
martineau

Réponses:


15
#!/bin/sh
ramfs_size_mb=2100
mount_point=/tmp/rdisk

mkramdisk() {
  ramfs_size_sectors=$((${ramfs_size_mb}*1024*1024/512))
  ramdisk_dev=`hdid -nomount ram://${ramfs_size_sectors}`

  newfs_hfs -v 'ram disk' ${ramdisk_dev}
  mkdir -p ${mount_point}
  mount -o noatime -t hfs ${ramdisk_dev} ${mount_point}

  echo "remove with:"
  echo "umount ${mount_point}"
  echo "diskutil eject ${ramdisk_dev}"
}

Pour macOS Sierra, cela n'a pas fonctionné
Sasho

L'extrait de code fonctionne sur Sierra.
Rafa

1
Une chose à savoir est que les hdiutilpads droit avec des espaces sa sortie à une longueur de 54, donc si vous citez ${ramdisk_dev}, vous rencontrerez des problèmes.
zneak
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.