将 ram 磁盘挂载到 OSX 中的特定文件夹

Der*_*rek 12 mount ramdisk macos

我正在使用这样的命令来创建一个 ram 磁盘:

diskutil erasevolume HFS+ "ram disk" `hdiutil attach -nomount ram://307200`
Run Code Online (Sandbox Code Playgroud)

这成功地工作,我在我的系统上安装了一个 /Volumes/ram 磁盘,我可以使用它从 /dev/disk5 或类似的地方安装。

我希望能够控制它的去向,能够挂载到 /tmp/my_dir 或任何地方。我在 hdiutil 和 diskutil 中尝试了许多更改参数的组合,但没有成功。这样做的正确方法是什么?

Der*_*rek 17

#!/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}"
}
Run Code Online (Sandbox Code Playgroud)