我想将 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
然后从客户端挂载导出的文件夹。