ラムディスク(Ubuntu 18.04)を作成するために、Putty端末プロンプトで「sudo mkdir /mnt/ramdisk」を実行しました。その後、「mount|tail -n 1」を実行すると、次のものが返されます。
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=100912k,mode=700,uid=1000,gid=1000)
今すぐ削除するために「sudo umount /mnt/ramdisk/」を実行しましたが、見つかりませんでした。そのため、「sudo umount /run/user/1000/」(mountコマンドが返す内容の一部)を実行しました。その後、それが消えたことを確認するために "mount | tail -n 1"を実行して返されました。
tmpfs on /run/user/0 type tmpfs(rw,nosuid,nodev,relatime,size=100912k,mode=700)
だから「sudo umount /run/user/0/」を発行します。
ついに消えた。
私の質問は次のとおりです
/ mnt / ramdiskにRAMディスクをマウントするときに、マウント解除できるようにRAMディスクが実際にマウントされている場所をどのように知ることができますか?これはLinuxコマンドラインで行われますが、system()を使用してCプログラムで実行している場合は、アンマウントするための実際のマウントポイントをどのように取得しますか?
/run/user/1000/を削除すると/run/user/0/で終わるのはなぜですか?
ただ/mnt/ramdiskに行ってみてはいかがでしょうか?
ありがとうございます。
ベストアンサー1
システムで作成されたRAMディスク/run/user/1000
はシステムプロセス用であるため、独自の目的で使用するには新しい専用仮想ディスクを作成するだけです。
sudo mkdir /mnt/ramdisk
ramdisk
というフォルダが作成されますが、/mnt
RAMディスクは作成されません。
/mnt/ramdisk
ログインしたユーザーが使用できるフォルダにRAMディスクをマウントするには、次のように入力します(使い捨て):
mount -o size=4G,uid=1000 -t tmpfs tmpfs /mnt/ramdisk
(「4G」をお好みのサイズに変更してください)
作成する必要がある場合始めるたびに、/etc/fstab
rootで編集(例:via sudo nano /etc/fstab
)し、次の行を追加します。
none /mnt/ramdisk tmpfs size=4G,uid=1000 0 0
その後、起動するたびに空の新しいRAMディスクがインストールされ、シャットダウン/mnt/ramdisk
中に削除されたファイルが保存されます。