【问题标题】:Detecting a remote mount检测远程安装
【发布时间】:2012-09-04 04:43:57
【问题描述】:

是否有一个通用的 bash shell 变量或通用 Linux 命令可以可靠地指示给定目录或文件是否位于远程文件系统上——无论是 NFS、SSHFS、SMB 还是任何其他远程安装的文件系统?

上下文...
这是一个仅 root 访问、单用户、多主机 Linux 开发“实验室”,使用 SSH 和 SSHFS 对系统进行半无缝松散耦合。每个主机上的相关目录结构是...

    /0
    /0/HOST1
    /0/HOST2
    /0/HOST3
    /bin
    /boot
      :

/0 中的目录是 SSHFS 挂载到指定主机上的“/”。 'Host1' 等是为每个主机命名的挂载点目录。

我当然可以建立一个类似...的环境变量

    REMOTE_FS=/0

...并测试以 '/0' 开头的目录名。但是,这不是很便携或可靠。

明显的问题...
已经努力使其无缝,为什么我想知道何时访问非本地的东西?

回答...
遍历已挂载的文件系统会将所有处理负载放在启动主机上。我想知道何时可以选择使用 SSH 而不是 SSHFS 将后台处理(ls、grep、awk 等)卸载到远程(通常更强大)主机,只留下 GUI 和控制逻辑本地机器。

【问题讨论】:

  • df 对于确定哪个文件系统保存特定文件或目录很有用。

标签: bash ssh mount sshfs


【解决方案1】:
df -l <file>

如果文件或目录不是本地的,这将返回一个非零退出代码。

【讨论】:

  • 这不会在远程文件系统上返回非零退出代码,至少在带有 NFS 挂载的 RHEL 上不会。
  • 它在带有 NFS 挂载的 Debian Wheezy 上运行。
  • @kkeller:很有趣。我在一个带有 nfs 挂载的 Fedora 15 系统上进行了尝试,它工作正常。
猜你喜欢
  • 1970-01-01
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
相关资源
最近更新 更多