OSX'te belirli bir klasöre ram disk montajı oluşturun


11

Bir ram diski oluşturmak için böyle bir komut kullanıyorum:

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

Bu başarılı bir şekilde çalışır ve / dev / disk5 veya bu tür bir yerden monte edilmiş sistemde kullanabileceğim bir / Volumes / ram disk alıyorum.

Nereye gideceğini kontrol edebilmek, / tmp / my_dir ya da her yerde bağlanabilmek istiyorum. Hdiutil ve diskutil'de birçok değiştirici parametrenin kombinasyonlarını başarı olmadan denedim. Bunu yapmanın doğru yolu nedir?


İstediğiniz yerde görünmesi için sembolik bir bağlantı kullanın.
— martineau

Bunu yapmanın bir yolunu buldum, ancak bir bash betiğinde birden fazla adımda yapmak zorunda kaldım
— Derek

Burada kendi cevabınızı kabul edebilirsiniz (ve bu süreçte ayrıntıları bizimle paylaşabilirsiniz ;-).
— martineau

Yanıtlar:


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 için işe yaramadı
— Sasho

Kod pasajı Sierra'da çalışıyor.
— Rafa

1
Dikkat edilmesi gereken bir şey olduğunu hdiutilboşluklarla sağ pedleri onun 54 bir uzunluğa çıktı, bu yüzden alıntı eğer ${ramdisk_dev}, Sorunlarla edeceğiz.
— zneak
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.