다음 명령을 사용하여 Ubuntu 16.10(VM 내에서 실행)에서 RAM 디스크를 만듭니다.
sudo mkdir -p /media/RAMDisk sudo 마운트 -t tmpfs -o 크기=2048M tmpfs /media/RAMDisk
그런 다음 RAMDisk로 가서 다음을 수행하면
df.
나는 다음을 얻습니다
tmpfs 2097152 0 2097152 0% /미디어/RAMDisk
여태까지는 그런대로 잘됐다.
그런 다음 Ubuntu를 재부팅합니다(Workstation Pro를 통해 실행 중인 VM이 재부팅됨).
/media/RAMDisk
재부팅 후 폴더가 전혀 존재하지 않거나 폴더로 존재할 것으로 예상됩니다 .tmpfs
내용이 없는 파일 시스템입니다.
폴더 /media/RAMDisk
는 내용 없이 존재하지만 놀랍게도 /dev/sda1
파일 시스템으로 존재합니다. df .
으로 작업하면 /media/RAMDisk
다음이 표시됩니다.
/dev/sda1 17413904 9577448 6928836 59% /
이제는 쉽게 명령을 내 안에 넣어 .bashrc
실행하고 매번 올바른 작업을 수행할 수 있지만 무슨 일이 일어나고 있는지 알아야 합니다.
또한 내 가상 머신 관리자인 Workstation Pro가 뭔가를 하고 있을까요?
답변1
무슨 일이야?
특이한 것은 없습니다.
df /media/RAMDisk
, 를 참조하면 /dev/sda1
현재 디렉토리가 에 /dev/sda1
마운트된 파일 시스템에 속해 있음을 알려줍니다 /
.
이는 명령의 효과가 mount
영구적이지 않고 재부팅 후에도 지속되지 않기 때문입니다. 반면에 mkdir
명령은 파일 시스템 내부에 디렉토리를 생성했으며 /dev/sda1
이 파일 시스템은 재부팅할 때마다 마운트되므로 디렉토리 자체는 유지되지만 파일 시스템의 일부로 유지됩니다 /dev/sda1
.
RAMDisk
어떻게든 부팅할 때마다(또는 부팅할 때) 마운트해야 합니다 .
마운트하는 방법?
mount
내부로부터 도망치는 것은 .bashrc
좋은 생각이 아닙니다. 왜냐하면이 파일은 여러 번 소스로 제공될 수 있습니다.단일 세션 동안. 어차피 필요하기 때문에 OS가 시작될 때 한 번 실행되는 것을 sudo
사용하는 것이 더 나을 것입니다 ./etc/rc.local
그러나 더 좋은 방법은 다음 줄을 추가하는 것입니다 /etc/fstab
.
tmpfs /media/RAMDisk tmpfs defaults,nosuid,nodev,size=2048M 0 0
조사 user
및 noauto
옵션( 참조 )을 사용하고 필요할 때만 man 5 fstab
호출하고 싶을 수도 있습니다 .mount /media/RAMDisk
systemd
?
이 장소systemd
특정 사용자가 처음으로 로그인할 때 단위를 실행하고 사용자의 마지막 세션이 닫히자마자 종료할 수 있다고 믿게 만듭니다 . 나는 에 익숙하지 않기 systemd
때문에 단위를 사용하여 어떻게 할 수 있는지 말할 수 없습니다 .mount
.
하지만 사용한다면 이미 개인용 마운트가 에 systemd
탑재되어 있어야 합니다 . 시스템 전체는 켜져 있어야 합니다 .tmpfs
/run/user/<UID>
/dev/shm
에 대한/media/
또한 /media/
Ubuntu에서는 외부 USB 드라이브용 마운트 지점을 생성하는 데 사용됩니다( udisks2
책임이 있다고 생각합니다). 그들은 /media/<username>/<label>
마치 /media/RAMDisk
아무것도 충돌하지 않을 것 같아요. 일반적으로 나는 이 위치를 사용하지 않을 것입니다. 내 시스템(Debian, Kubuntu, Raspbian, OpenWRT)을 사용하고 /mnt/<something>
있는데 전혀 문제가 없었습니다.