文件共享允许不同计算机之间共享文件,就像你的电脑和手机可以访问相同的照片一样。而远程调用则允许不同的计算机之间通过网络通信和交换数据,就像打电话一样,你可以远程请求并获取所需的信息。
首先,我们需要安装一个工具集,它可以让我们在不同计算机之间共享文件。
NFS(Network File System)是一个允许不同计算机之间共享文件的协议。
对于 Ubuntu:
sudo apt update
sudo apt install nfs-common
对于 CentOS:
sudo yum update
sudo yum install nfs-utils
这个工具集将帮助你在不同计算机之间建立文件共享。
为了让文件共享工作得更好,我们需要确认是否需要启用一个服务来处理计算机之间的远程请求和通信。
在某些 Linux 发行版中,rpcbind
可能已经被默认安装或作为 nfs-utils
包含的一部分。它负责将客户端的 RPC 请求与服务器上的相应服务绑定在一起。
sudo systemctl status rpcbind
如果服务状态为运行中(running),则说明 rpcbind
服务已经在系统中启用。
现在,让我们配置文件共享,以便其他计算机可以访问你的文件。
打开文件 /etc/exports
并添加你想共享的目录:
sudo nano /etc/exports
在文件中添加一行,指定要共享的目录和权限。例如:
/home/shared *(rw,sync,no_subtree_check)
这将允许 /home/shared
目录的共享,并设置为读写(rw),同步写入(sync),无子树检查(no_subtree_check)。
应用配置并重启共享服务以使更改生效:
sudo exportfs -a
sudo systemctl restart nfs-server
以下是一些用于验证文件共享和远程调用服务的命令示例:
挂载共享目录:假设你的共享目录是 /home/shared
,在另一台计算机上执行以下命令挂载共享目录:
sudo mount -t nfs <your_server_ip>:/home/shared /mnt
<your_server_ip>
是你设置共享的服务器 IP 地址。如果成功挂载,你可以在 /mnt
目录下看到共享的文件。
创建、编辑或删除文件:在 /mnt
目录下进行文件操作,例如:
touch /mnt/test_file.txt # 创建文件
echo "Hello, NFS!" > /mnt/test_file.txt # 编辑文件
rm /mnt/test_file.txt # 删除文件
确保在共享目录下的更改反映在所有共享计算机上。
向远程服务器发送请求:在计算机 A 上,向计算机 B 发送远程请求:
rpcinfo -p <your_server_ip>
这会列出服务器上可用的 RPC 服务。确保它显示你预期的服务。
设置远程服务:在计算机 B 上设置一个简单的服务,并确保它能够接收并响应来自计算机 A 的请求。你可以使用 rpcbind
或其他远程调用工具来创建服务。
根据系统和需要使用的服务来确定是否需要安装和启用 rpcbind
。如果 rpcbind
已经在系统中运行,并且你计划使用 NFS 进行文件共享,则无需额外安装或配置 rpcbind
。确保你的系统有一个能够处理 NFS 所需的 RPC 请求的服务即可。