Linux構成ファイルと一般ファイルをマウントポイントとして使用する方法

Linux構成ファイルと一般ファイルをマウントポイントとして使用する方法

現在のプロジェクトでは、ファイルがtmpfsのマウントポイントにマウントされていることを示すmountコマンドの出力を見ることができます。

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)

渡すマンページマウントはディレクトリをマウントポイントとしてのみ使用することに注意してください。

上記のようにファイルをインストールしようとしましたが、うまくいきませんでした。

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選択フィールドはキャッチとインストール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/揮発性でファイルを作成/コピー:

touch /var/volatile/hostname
mount --bind /var/volatile/hostname /etc/hostname

関連情報