显示 v2.25.2 之后挂载的绑定挂载源路径

xpt*_*xpt 6 linux mount ubuntu

更新,我正在重新打开这个问题,因为findmnt这不是答案。

基本上 OP 的总结是,从 2.25.2 版开始,mount 不再显示其源路径:

$ mkdir -v /export/crash
mkdir: created directory '/export/crash'

$ mount -v --bind /export/crash /var/crash
mount: /export/crash bound on /var/crash.

$ mount | grep crash 
/dev/sdb2 on /var/crash type ext3 (rw,noatime,nodiratime,data=ordered)
Run Code Online (Sandbox Code Playgroud)

在 mount v2.25.2 之前,它用于报告挂载源:

$ mount | grep crash 
/export/crash on /var/crash type ext3 (rw,noatime,nodiratime,data=ordered)
Run Code Online (Sandbox Code Playgroud)

这对我来说很不方便,因为

  • umount mount_source以前能做,现在只能做umount mount_target
  • 我将某个源的安装绑定为只读,并且我有一个脚本可以为这些绑定安装打开和关闭 RW。但是使用新的 mount (v2.25.2+),我不再能够做到这一点。

findmnt不是我上述问题的答案:

$ findmnt | grep crash
??/var/crash   /dev/sdb2[/crash]   ext3    rw,noatime,nodiratime,data=ordered
Run Code Online (Sandbox Code Playgroud)

即,它没有显示/var/crash来自/export/crash两者。(注意,如果您使用 bind mount from/tmp/crash或类似方式进行测试,您将/tmp/crash在源代码中看到,但我需要查看/export部分,即我的挂载点)。

请帮忙。

== 以下是原来的 OP ==

绑定挂载的语法一直是

mount --bind olddir newdir
Run Code Online (Sandbox Code Playgroud)

但是,我注意到mountUbuntu 14.10 Utopic 和 Ubuntu 15.04 Vivid 之间的绑定挂载报告方式有所不同,即挂载 v2.25.1 和挂载 v2.25.2。

在 Ubuntu 14.10 Utopic 中,mount报告绑定安装如下:

$ mount | grep www
/my/path/to/www on /var/www type none (rw,bind)

$ mount -V   
mount from util-linux 2.25.1 (libmount 2.25.0: selinux, assert, debug)
Run Code Online (Sandbox Code Playgroud)

但是在 Ubuntu 15.04 Vivid 中,它是这样的:

$ mount | grep www 
/dev/sda11 on /var/www type ext3 (rw,noatime,nodiratime,data=ordered)

$ mount -V   
mount from util-linux 2.25.2 (libmount 2.25.0: selinux, assert, debug)
Run Code Online (Sandbox Code Playgroud)

即,mount报告中缺少绑定安装源路径。对于这两种情况,我都使用上述绑定安装的确切语法。

那么如何mount在 Ubuntu 15.04 Vivid ( mount v2.25.2 ) 中制作show bind mount 源路径?

小智 7

你可以做的是 grep /proc/self/mountinfo

$ less /proc/self/mountinfo | grep /my/mount
221 84 8:3 /bind/source /my/mount rw,relatime shared:32 - ext4 /dev/sda3 rw,data=ordered
Run Code Online (Sandbox Code Playgroud)


小智 6

你考虑过使用findmnt吗?

mount将其信息存储在 /proc/mounts(或 /proc/self/mounts)中,该文件与 /etc/mtab 有符号链接。mount将简单地 cat 这个文件,它不再存储绑定信息。