Creare il montaggio del disco ram su una cartella specifica in OSX


11

Sto usando un comando come questo per creare un disco ram:

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

Funziona con successo e ottengo un disco / Volumes / ram montato sul mio sistema che posso usare che è montato da / dev / disk5 o in qualche altro posto.

Vorrei essere in grado di controllare dove va, per poter montare su / tmp / my_dir o ovunque. Ho provato molte combinazioni di modifica dei parametri in hdiutil e diskutil senza successo. Qual è il modo giusto per farlo?


Usa un link simbolico per farlo apparire dove desideri.
— martineau,

Ho escogitato un modo per farlo, ma ho dovuto farlo in più di un passo in uno script bash
— Derek,

Puoi accettare la tua risposta qui (e condividere i dettagli con il resto di noi nel processo ;-).
— martineau,

Risposte:


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}"
}

Per macOS Sierra non ha funzionato
— Sasho

Lo snippet di codice funziona su Sierra.
— Rafa,

1
Una cosa da tenere presente è che hdiutili pad di destra con spazi hanno un output fino a 54, quindi se citate ${ramdisk_dev}, vi imbatterete in problemi.
— zneak,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.