如何从 Linux 机器上的另一台 Linux 机器上挂载文件夹?

15 linux mount

我想在另一台 Linux 机器上从一台 Linux 机器挂载一个文件夹。我怎么做?我是否需要更新/etc/fstab/etc/export

我的目标是/tmp从另一台 Linux 机器上挂载。我有 Debian 5.1。10.45.40.165,那是另一台机器的IP。

例如我试过:

mount -t nfs 10.45.40.165:/tmp /tmp
mount: 10.45.40.165:/tmp failed, reason given by server: Permission denied
Run Code Online (Sandbox Code Playgroud)

ene*_*ene 9

您正在做的是 NFS 共享。在 Debian 系统上,您应该安装必要的工具。让我们假设客户端(要安装远程文件夹的机器)和服务器(远程文件夹所在的机器)

在服务器上,您需要安装

apt-get install nfs-server portmap nfs-common
Run Code Online (Sandbox Code Playgroud)

在新的 debian 版本中

apt-get install nfs-kernel-server portmap nfs-common
Run Code Online (Sandbox Code Playgroud)

在客户端上,您需要安装:

apt-get install nfs-client nfs-common
Run Code Online (Sandbox Code Playgroud)

我的套餐选择可能或多或少满足您的需求,但是,某些组合也可以。

现在您需要做的是将要与远程机器共享的文件夹放在/etc/exports 中

/path_to_tmp_folder/tmp 192.168.0.2(rw,sync,no_subtree_check,no_root_squash)
Run Code Online (Sandbox Code Playgroud)

然后:

exportfs -ra
/etc/init.d/nfs-kernel-server restart
/etc/init.d/portmap restart
Run Code Online (Sandbox Code Playgroud)

这里192.168.0.2是你本地机器的地址,用你自己的IP代替。导出文件包含可以访问共享文件夹的计算机列表。如果您的机器彼此之间没有防火墙限制(您可以通过将主机添加到 /etc/hosts.allow 来解决此问题)。

现在在您的本地机器上,您可以使用以下命令:

sudo mount -o soft,intr,rsize=8192,wsize=8192 server_ip:/path_to_tmp_folder/tmp /local_path_to_empty_tmp_folder/tmp
Run Code Online (Sandbox Code Playgroud)

如果您想在启动时自动挂载,您需要编辑您的 /etc/fstab 文件并将该行放在您的客户端上:

server_ip:/path_to_tmp/tmp /local_empty_folder/tmp nfs rsize=16384,wsize=16384,rw,auto,nolock
Run Code Online (Sandbox Code Playgroud)

这只是一个设置示例(复制自我自己的),您需要查看 nfs 帮助以了解最适合您的套件。


小智 0

为了从另一台机器挂载文件夹 /tmp,它必须由允许这样做的服务公开。您的问题表明您打算为此使用 NFS。

在这种情况下,您需要编辑 /etc/exports 并在其中提供类似于以下内容的行

/tmp 10.45.40/24(ro,insecure,sync,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)

阅读导出的手册页以获取所有选项的确切详细信息。一旦选项符合您的需要,请使用以下命令重新启动 NFS 服务

exportfs -ra
Run Code Online (Sandbox Code Playgroud)

然后安装从客户端导出的文件夹。