树莓派如何共享文件,Raspberry Pi安装NFS服务器

在本篇Raspberry Pi NFS教程中,我将向您展示如何使用网络文件系统(NFS)协议共享Raspberry Pi中的文件。

Raspberry-Pi-NFS-Thumbnail.jpg

网络文件系统(NFS)协议最初是由Sun Microsystems公司在1983年开发的。它设计设计的初衷是让客户计算机通过网络访问文件。

由于NFS协议是一个以RFC定义的开放标准,任何人都可以轻松实现它。它已经成为网络管理员建立NAS的好帮手。

在本教程中,我将一步一步安装所需的软件包,使NFS协议在Raspberry Pi上运行。

除此之外,我还会展示如何使用NFS协议共享目录。

最后,我会展示如何从Windows和Mac OS X操作系统连接到Raspberry Pi,读取NFS共享的文件。

如果你已经准备好了,那么你可以在下面找到完整的教程。

设备清单

下面是在树莓派上设置NFS所需要的所有设备,点击链接可直达特别优惠购买。

建议

可选

注意:Raspberry Pi上的USB端口可能不足以为外置硬盘供电,所以可能需要买一个供电的USB线。

在Raspberry Pi上设置网络文件系统(NFS)

1. 在Raspberry Pi上设置网络文件系统(NFS)协议之前,必须做的第一件事是确保所有的软件包都是最新的。

要在Raspbian操作系统上这样做,运行以下命令。

sudo apt-get update
sudo apt-get upgrade

2. Raspberry Pi更新后,可以继续安装NFS共享依赖的软件包。

在本指南中,需要使用 “nfs-kernel-server “包。这个包建立了从Raspberry Pi通过NFS协议服务文件的基础。

nfs-kernel-server “包处理NFS协议的服务器端,可以轻松共享磁盘。

要安装这些软件包,需要通过运行以下命令。

sudo apt-get install nfs-kernel-server -y

3. 现在已经安装了NFS服务器端软件,可以在树莓Pi上设置一个NFS共享。

在本指南中,只是在”/mnt/”目录下建立一个名为 “nfsshare “的目录。

如果已经挂载了一个磁盘或想共享一个不同的目录,在接下来的教程中用你想使用的目录替换”/mnt/nfsshare”。

sudo mkdir /mnt/nfsshare

4. 接下需要做的是在网络上共享的文件夹分配正确的权限。

为此,使用以下三个命令。这些命令中的每一条都有特定的用途。

第一条命令将目录内所有文件和文件夹的所有权赋予 “pi “用户和 “pi “组。

第二行搜索”/mnt/nfsshare “文件夹内的所有目录,并运行chmod命令给每个目录 “755”(对所有者的读/写/执行,对组和其他的读/执行)权限。

第三行做的是类似的事情,不过是搜索目录内的所有文件,并对文件应用 “644”(所有者的读/写,组和其他读)权限。

要想更好地了解权限,请务必查看Linux权限教程。

sudo chown -R pi:pi /mnt/nfsshare
sudo find /mnt/nfsshare/ -type d -exec chmod 755 {} \;
sudo find /mnt/nfsshare/ -type f -exec chmod 644 {} \;

5. 接下来,需要查找想用来访问文件的用户的 “gid”(组ID)和 “uid”(用户ID)。可以通过运行下面的命令来实现。

在本教程中,只使用 “pi “用户,但可以将其用于任何想要的用户。

id pi

6. 从前面的命令中,应该得到如下所示的结果。

记下gid和uid的值,因为在后面的步骤中需要这些值。

uid=1000(pi) gid=1000(pi) 

7. 现在已经准备好了所需的一切,并且准备了一个文件夹进行共享。继续修改 “exports “文件,运行下面的命令。

之前安装的Raspberry Pi NFS服务器软件会从这个文件中读取到要通过NFS协议共享出去的目录。

sudo nano /etc/exports

8. 这里是事情变得有点复杂的地方。

如果想共享文件夹,使任何人都可以获得对文件夹的访问权,并对其进行读写,可以毫无顾虑地插入以下一行。

进一步分解这一行,以便你能理解它的作用,不过,可以阅读NFS “导出 “文件上的文档。

确保将 “anonuid “替换为步骤6中检索到的 “uid “值,并将 “anonid”替换为步骤6中检索到的 “gid “值。

/mnt/nfsshare *(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)

下面就来分析一下,让大家了解一下它的作用。

/mnt/nfsshare

这一行的这部分定义了要共享的目录。在我的例子中,这就是我之前创建的”/mnt/nfsshare “文件夹。

*(NTFS Options)

此星号定义了应允许所有连接的 IP 地址访问此共享。可以通过更改 IP 的 “*”来更改此选项,以允许特定 IP 或 IP 范围。

要允许从 “192.168.0.0 “到 “192.168.0.256 “的所有IP,可以用 “192.168.0.0/24 “代替星号。

方括号内的所有选项只适用于该IP地址,可以定义多个不同的IP,每个IP都有自己的选项集。

(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)
  • rw – 这个选项允许对NFS卷进行读写请求。
  • all_squash – 这个选项会将所有的ids和gids映射到匿名用户。
  • 不安全 – 这个选项允许客户机的NFS实现不使用保留的NFS端口。
  • async – 这个选项允许NFS服务器打破NFS协议以提高性能,但代价是如果服务器崩溃,数据可能会被破坏。
  • no_subtree_check – 这将禁用子树检查,虽然它对安全有一定的影响,但可以提高NFS服务器的可靠性。你可以在我们之前链接的export文档页面上阅读更多关于这个的内容。
  • anonuid – 这是用户匿名连接时使用的UID。
  • anongid – 这是用于匿名连接的用户的GID。

9. 输入了这一行,就可以按CTRL + X,然后按Y,再按ENTER键来保存文件。

10. 现在,为了让新添加的文件夹能够通过NFS协议访问,必须运行 “exportfs “包,运行下面的命令。

此应用程序更新当前NFS服务器可用的出口表。

sudo exportfs -ra

11. 最后,需要做的是通过运行下面的命令来检索Raspberry Pi的本地IP地址。

需要通过设置WiFi或使用以太网线来确保Pi连接到网络。

需要这个IP地址,这样才能成功连接到Raspberry Pi NFS服务器。

hostname -I

在Windows上连接到Raspberry Pi的NFS共享。

1. 要在Windows上与NFS共享交互,首先需要启用NFS客户端。默认情况下,Windows安装时该功能是被禁用的。

要做到这一点,必须在Windows中搜索 “打开或关闭Windows功能”,然后点击出现的 “打开或关闭Windows功能 “选项,如下图所示。

Raspberry-Pi-NFS-Windows-Step-1-Search-Turn-windows-features-on-and-off.png

2. 在该菜单中,搜索 “Services for NFS”(1.)文件夹,并单击复选框以启用所有可用功能。

完成后,单击 “确定 “按钮(2.)以最终完成设置。windows安装继续设置与NFS共享连接。

Raspberry-Pi-NFS-Windows-Step-2-Turn-on-services-for-NFS.png

3. 现在打开文件资源管理器,应该可以看到 “映射网络驱动器 “选项。

点击这个选项,继续将Raspberry Pi的NFS共享连接到电脑。

Raspberry-Pi-NFS-Windows-Step-3-File-Explorer-Map-Network-Drive.png

4. 在这个页面,需要输入你的Raspberry Pi的IP地址,然后是挂载到NFS共享的文件夹(1.

例如,我的Raspberry Pi的IP地址是 “192.168.0.159”,我设置的文件夹在”\mnt\nfsshare”。我应该输入的 “文件夹 “是”\192.168.0.159\mnt\nfsshare”。

输入后,点击 “完成 “按钮(2.),最终完成连接。

Raspberry-Pi-NFS-Windows-Step-4-Map-Network-Drive.png

5. 现在应该可以在Windows设备上的 “网络位置 “或 “网络 “下看到共享的Raspberry Pi NFS文件夹。

Raspberry-Pi-NFS-Windows-Step-5-View-Networked-Drives.png

在 Mac OS X 上连接到 Pi 的 NFS 共享。

1. 现在在MAC OS X上连接到Raspberry Pi的NFS Share,必须先打开Finder应用程序。

Raspberry-Pi-NFS-Mac-OS-X-Step-01-Opening-Finder.png

2. 在打开 “Finder “应用程序的情况下,继续点击屏幕上方工具栏中的 “Go”(1。),然后点击 “Connect to Server…” (2.)选项。

Raspberry-Pi-NFS-MAC-OS-X-Step-02-Connect-to-NFS-protocol.png

3. 接下来,你需要输入你要连接的地址(1.

需要输入的地址是 “nfs:\\”协议的组合,然后是Raspberry Pi的IP地址。最后,它以你要访问的目录结束。

例如,IP是 “192.168.0.159”,我在Pi上共享的文件夹是”\mnt\nfsshare”,我要输入的地址是 “nfs:\192.168.0.159\mnt\nfsshare”

完成后,点击 “连接 “按钮(2.)。

Raspberry-Pi-NFS-MAC-OS-X-Step-03-Connect-to-NFS-Server.png

4. 如果连接成功,会看到一个新的窗口,显示在Raspberry Pi上使用NFS协议共享的文件夹内部。

Raspberry-Pi-NFS-MAC-OS-X-Step-04-NFS-Connected.png

现在你应该已经设置好了你的Raspberry Pi NFS服务器,并可以在网络上访问。希望您能够使用Windows PC或Mac OS X电脑轻松连接到它。

如果你有任何反馈和技巧,请不要犹豫,在下面留言。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 树莓派如何共享文件,Raspberry Pi安装NFS服务器

赞 (1)

评论

4+5=