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.