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


11

次のようなコマンドを使用してRAMディスクを作成しています。

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

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

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


シンボリックリンクを使用して、希望する場所に表示させます。
martineau

私はこれを行う方法を見つけましたが、bashスクリプトの複数のステップでそれを行わなければなりませんでした
Derek

ここであなた自身の答えを受け入れることができます(そして、プロセスの残りの部分と詳細を共有します;-)。
martineau

回答:


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

macOS Sierraの場合は機能しませんでした
Sasho

コードスニペットはシエラで動作します。
Rafa

1
注意すべきことの1つはhdiutil、出力のスペースが54の長さの右パッドであるため、を引用すると${ramdisk_dev}、問題が発生することです。
zneak 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.