我想在另一台 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)
您正在做的是 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)
然后安装从客户端导出的文件夹。
| 归档时间: |
|
| 查看次数: |
129561 次 |
| 最近记录: |