在我当前的项目中,看到 mount 命令输出将文件显示为挂载在 tmpfs 上的挂载点。
tmpfs on /etc/hostname type tmpfs (rw,relatime,size=52724k)
tmpfs on /etc/hosts type tmpfs (rw,relatime,size=52724k)
tmpfs on /etc/passwd type tmpfs (rw,relatime,size=52724k)
tmpfs on /etc/ntp.conf type tmpfs (rw,relatime,size=52724k)
tmpfs on /etc/resolv.conf type tmpfs (rw,relatime,size=52724k)
经过联机帮助页说明,mount 仅将目录作为挂载点。
我尝试按照上述方式安装文件,但它对我不起作用。
root@raspberrypi:/home# file /tmp/agner
/tmp/agner: ASCII text
root@raspberrypi:/home# mount -t tmpfs tmpfs /tmp/agner
mount: mount point /tmp/agner is not a directory
绑定挂载语法:
mount --bind olddir newdir
mount --rbind olddir newdir
'/tmp' 目录已挂载到 tmpfs 中。
tmpfs on /tmp type tmpfs (rw)
我尝试了以下组合,但出现“fs”不存在错误。
root@raspberrypi:/home# mount --rbind tmpfs /tmp/agner
mount: special device tmpfs does not exist
root@raspberrypi:/home# mount --bind tmpfs /tmp/agner
mount: special device tmpfs does not exist
root@raspberrypi:/home# mount --bind /tmp/ /tmp/agner
mount: mount point /tmp/agner is not a directory
另外指定“-t tmpfs”文件系统选项时,会显示挂载手册页。
root@raspberrypi:/home# mount -t tmpfs --bind tmpfs /tmp/agner
那么 mount 命令中需要什么选项才能实现这一点。
答案1
是的,绑定挂载工作中。
我一开始只是不明白。但调查之后/proc/self/mountinfo
,我有了更好的理解。
https://www.kernel.org/doc/Documentation/filesystems/proc.txt
共享:X可选字段是 catch 和安装 ID,家长 ID也给出了线索。
现有案例:
47 14 0:30 /hostname /etc/hostname rw,relatime shared:21 - tmpfs tmpfs rw,size=52724k
52 14 0:30 /etc/passwd /etc/passwd rw,relatime shared:21 - tmpfs tmpfs rw,size=52724k
37 34 0:30 / /DATA/var/volatile rw,relatime shared:21 - tmpfs tmpfs rw,size=52724k
36 35 0:30 / /var/volatile rw,relatime shared:21 - tmpfs tmpfs rw,size=52724k
在 /var/volatile 中创建/复制文件:
touch /var/volatile/hostname
mount --bind /var/volatile/hostname /etc/hostname