편집 : 나는 문제의 한 부분을 해결했기 때문에 내 자신의 대답을 받아 들일 것입니다. 누군가 Linux에서 --bind와 같은 것을 게시하면 그 대답을 받아들입니다.
더 많은 답변을 얻기 위해, 내가 찾은 것으로 내 자신의 질문에 대답하기 시작합니다.
1 단계는 부팅 할 때마다 램 디스크를 마운트하는 것입니다. 이를 위해 bash 스크립트를 만든 다음 부팅시 bash 스크립트를 호출하기 위해 시작된 항목을 만듭니다.
다음과 같이 bash 스크립트를 작성하십시오.
RD=ramdisk
if [ ! -e "/Volumes/$RD" ]; then
diskutil erasevolume HFS+ "$RD" `hdiutil attach -nomount`
fi
mkdir -p /Volumes/$RD/private/tmp
mkdir -p /Volumes/$RD/private/var/log
mkdir -p /Volumes/$RD/private/var/tmp
그런 다음 다음 내용으로 /Library/LaunchDaemons/com.my.ramdisk.plist라는 파일을 만들어 실행 파일을 추가하여 부팅시 호출하십시오.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.my.ramdisk</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/ramdisk.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
내가 붙어있는 곳은 램 디스크의 디렉토리를 / tmp, / var / log 및 / var / tmp에 symlink하거나 마운트하는 방법입니다. 이 세 디렉토리는 모두 시스템에서 / private / tmp, / private / var / log 및 / private / var / tmp로 심볼릭 링크되어 있습니다. 심볼릭 링크가 / Volumes / ramdisk / ...를 가리 키도록 변경하면 시스템이 부팅되지 않습니다. 부팅 할 때 내 com.my.ramdisk 스크립트가 램 디스크를 마운트하기 전에 / tmp 및 / var / log를 원하기 때문입니다. 루트가 마운트 된 직후, 다른 것이 실행되기 전에 램 디스크를 마운트하는 방법이 필요합니다.
참고 임시 공간에 / var / log (커널, 데몬 및 기타 중요한 사용자 공간 로그)를 마운트하면 다음에 다시 부팅 할 때 내용이 손실됩니다. 이것은 진단 능력을 방해 할 수 있습니다.