OSX में RAM को विशिष्ट फ़ोल्डर में माउंट करें


11

मैं राम डिस्क बनाने के लिए एक कमांड का उपयोग कर रहा हूं:

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

यह पूरी तरह से काम करता है, और मुझे अपने सिस्टम पर एक / Volumes / ram डिस्क मिलती है जिसे मैं उपयोग कर सकता हूं जो कि / dev / disk5 या कुछ ऐसी जगह से माउंट किया गया है।

मैं यह नियंत्रित करना चाहूंगा कि यह कहां जाता है, / tmp / my_dir या जहां-कभी भी माउंट करने में सक्षम है। मैंने सफलता के बिना हड्युटिल और डिस्कुटिल में बदलते मापदंडों के कई संयोजनों की कोशिश की है। ऐसा करने का सही तरीका क्या है?


जहाँ आप चाहते हैं उसे प्रकट करने के लिए एक प्रतीकात्मक लिंक का उपयोग करें।
मार्टिउ

मुझे यह करने का एक तरीका समझ में आया, लेकिन मुझे इसे एक से अधिक चरणों में बैश स्क्रिप्ट में करना पड़ा
डेरेक

आप यहां अपना उत्तर स्वीकार कर सकते हैं (और प्रक्रिया में हम में से बाकी के साथ विवरण साझा कर सकते हैं ;-)।
मार्टिउ

जवाबों:


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 सिएरा के लिए यह काम नहीं किया
Sasho

कोड स्निपेट सिएरा पर काम करता है।
रफा

1
एक बात का ध्यान रखें कि hdiutilराइट-पैड्स इसके आउटपुट को 54 की लंबाई पर स्पेस देता है, इसलिए यदि आप बोली लगाते हैं ${ramdisk_dev}, तो आप मुद्दों में भाग लेंगे।
zneak
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.