为了创建 ramdisk (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 挂载 ramdisk 时,我如何知道 ramdisk 实际挂载的位置以便卸载它?这是在 Linux 命令行中完成的,但是如果我在 C 程序中使用 system() 来完成,我怎样才能获得实际的挂载点来卸载它呢?
当我卸载 /run/user/1000/ 时,为什么它最终会出现在 /run/user/0/ 处?
为什么不直接转到/mnt/ramdisk?
谢谢。
答案1
系统创建的 ramdisk/run/user/1000
用于系统进程,如果您希望将其用于您自己的目的,我将创建一个新的专用虚拟盘。
sudo mkdir /mnt/ramdisk
将创建一个名为ramdisk
in 的文件夹/mnt
,但不是 ram 磁盘。
如果您希望将 RAM 磁盘安装到/mnt/ramdisk
可供您登录的用户使用的文件夹,请输入以下内容 (一次性使用):
mount -o size=4G,uid=1000 -t tmpfs tmpfs /mnt/ramdisk
(将“4G”替换为所需大小)
如果应该创建的话每次启动时,/etc/fstab
以 root 身份编辑(例如通过sudo nano /etc/fstab
)并添加如下行
none /mnt/ramdisk tmpfs size=4G,uid=1000 0 0
然后,在每次启动期间,将安装一个新的空 RAM 磁盘,/mnt/ramdisk
用于存放关机期间丢弃的文件。