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.