Створіть кріплення оперативного диска до певної папки в OSX


11

Я використовую таку команду, як так, щоб створити операційний диск:

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

Це працює успішно, і я отримую диск / Volumes / ram, встановлений на моїй системі, який я можу використовувати, який монтується з / dev / disk5 або якогось такого місця.

Я хотів би мати можливість контролювати, куди це йде, мати можливість монтувати до / tmp / my_dir або куди завгодно. Я без всякого успіху спробував безліч комбінацій зміни параметрів в hdiutil і diskutil. Який правильний спосіб це зробити?


Використовуйте символічне посилання, щоб воно з’явилося там, де ви хочете.
мартіно

Я придумав спосіб зробити це, але мені довелося це зробити більш ніж за один крок у баш-сценарії
Дерек

Ви можете прийняти свою власну відповідь тут (і поділитися деталями з усіма нами в процесі ;-).
мартіно

Відповіді:


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 це не спрацювало
Сашо

Фрагмент коду працює на Сьєррі.
Рафа

1
Одне, що слід пам’ятати, - це те, що hdiutilправоруч із пробілами має пробіл до довжини 54, тож якщо ви цитуєте ${ramdisk_dev}, ви стикаєтеся з проблемами.
zneak
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.