OSX의 특정 폴더에 램 디스크 마운트 만들기


11

램 디스크를 만들기 위해 이와 같은 명령을 사용하고 있습니다.

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

이것은 성공적으로 작동하며 / dev / disk5 또는 그와 같은 장소에서 마운트 된 시스템에 / Volumes / ram 디스크가 마운트되어 있습니다.

나는 이것이 어디로 가고 / 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

코드 스 니펫은 Sierra에서 작동합니다.
Rafa

1
한 가지 알아야 할 것은 hdiutil출력이 54 인 공백 이있는 오른쪽 패드이므로 인용 ${ramdisk_dev}하면 문제가 발생 한다는 것입니다.
zneak
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.