Buat ram disk mount ke folder tertentu di OSX


11

Saya menggunakan perintah seperti ini untuk membuat ram disk:

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

Ini berhasil, dan saya mendapatkan disk / Volume / ram yang terpasang pada sistem saya yang dapat saya gunakan yang dipasang dari / dev / disk5 atau tempat semacam itu.

Saya ingin dapat mengontrol ke mana arahnya, untuk dapat me-mount ke / tmp / my_dir atau di mana pun. Saya telah mencoba banyak kombinasi mengubah parameter di hdiutil dan diskutil tanpa hasil. Apa cara yang tepat untuk melakukan ini?


Gunakan tautan simbolis untuk membuatnya muncul di tempat yang Anda inginkan.
martineau

Saya menemukan cara untuk menyelesaikan ini, tapi saya harus melakukannya lebih dari satu langkah dalam skrip bash
Derek

Anda dapat menerima jawaban Anda sendiri di sini (dan membagikan detailnya dengan kami semua dalam proses ;-).
martineau

Jawaban:


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

Untuk macOS Sierra tidak berfungsi
Sasho

Cuplikan kode berfungsi pada Sierra.
Rafa

1
Satu hal yang perlu diperhatikan adalah bahwa hdiutilbantalan kanan dengan spasi outputnya menjadi panjang 54, jadi jika Anda mengutip ${ramdisk_dev}, Anda akan mengalami masalah.
zneak
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.