如何将linux配置文件和普通文件作为挂载点

如何将linux配置文件和普通文件作为挂载点

在我当前的项目中,看到 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

相关内容