web-dev-qa-db-ja.com

OSXの特定のフォルダにRAMディスクマウントを作成します

私はそのようなコマンドを使用してRAMディスクを作成しています:

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

これは正常に機能し、/ dev/disk5またはそのような場所からマウントされた/ Volumes/ramディスクをシステムにマウントして使用できます。

これがどこに行くかを制御できるようにしたい、/ tmp/my_dirまたはどこにでもマウントできるようにしたい。 hdiutilとdiskutilでパラメーターを変更する多くの組み合わせを試しましたが、成功しませんでした。これを行う正しい方法は何ですか?

11
Derek
#!/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}"
}
15
Derek