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

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

我想将 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

答案1

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

在服务器上你需要安装

apt-get install nfs-server portmap nfs-common

在新的 Debian 版本中

apt-get install nfs-kernel-server portmap nfs-common

您需要在客户端安装:

apt-get install nfs-client nfs-common

我的套餐选择可能或多或少有您需要的东西,但是一些组合就可以了。

现在你需要做的是把你想要与远程机器共享的文件夹放在/etc/exports

/path_to_tmp_folder/tmp 192.168.0.2(rw,sync,no_subtree_check,no_root_squash)

然后:

exportfs -ra
/etc/init.d/nfs-kernel-server restart
/etc/init.d/portmap restart

此处 192.168.0.2 是本地计算机的地址,请将其替换为您自己的 IP。exports 文件包含可以访问共享文件夹的计算机列表。如果您的计算机之间没有防火墙限制(您可以通过将主机添加到 /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

如果您希望在启动时自动挂载,您需要编辑 /etc/fstab 文件并在客户端上添加以下行:

server_ip:/path_to_tmp/tmp /local_empty_folder/tmp nfs rsize=16384,wsize=16384,rw,auto,nolock

这只是一个设置示例(从我自己的设置中复制过来),您需要检查 nfs 帮助以了解哪个最适合您。

答案2

为了从另一台机器挂载文件夹 /tmp,必须通过允许该操作的服务来公开该文件夹。您的问题表明您打算为此使用 NFS。

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

/tmp 10.45.40/24(ro,insecure,sync,no_subtree_check)

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

exportfs -ra

然后从客户端挂载导出的文件夹。

相关内容