如何通过本地 WiFi 网络将 Ubuntu 上的文件夹共享到 Raspberry Pi 3?

如何通过本地 WiFi 网络将 Ubuntu 上的文件夹共享到 Raspberry Pi 3?

我打算购买 RaspberryPi 3 并将其连接到我的电视。我的双启动 Ubuntu 14.04 和 Win 8 机器的 Windows 分区上也有很多电影(Win 8 没有使用,但有)。我想通过我的 WiFi 将电影文件夹共享给 RaspberryPi,这样我就可以在电视上看电影,而无需将电影文件加载到 RaspberryPi。

这可以做到吗?如何做到?

答案1

我最喜欢的方法是通过 SSHFS。

  1. 在你的 Ubuntu 机器上安装 openssh 服务器:sudo apt-get install openssh-server

  2. 在 Ubuntu 中的 Raspberry Pi 上安装 sshfs(不知道您正在运行的发行版的软件包名称):sudo apt-get install sshfs

  3. 通过挂载文件夹连接到你的 ssh 服务器:sshfs username_on_server@server_ip:/location_of/movies_on_Server /mountpoint/on_rasberry_pi

  4. 您可能必须将您的 Rasberry Pi 用户添加到 fuser 组:sudo useradd -G {group-name} username

  5. 卸载远程文件夹:fusermount -u /mountpoint/on_rasberry_pi

享受。

答案2

除了上述方法之外,您还可以使用 Samba 共享。说明如下这里

这绝对支持科迪开放电子渗透压或其他),如果您想将其用作电视的媒体播放器,这就是我在树莓派上安装的内容,并且类似于我的设置。

(尽管我认为 kodi 也能看到 NFS)

以下是说明的摘要(归功于原作者):

过程

安装 Samba

    sudo apt-get update
    sudo apt-get install samba

在 Samba 中为您的用户设置密码

    sudo smbpasswd -a <user_name>

注意:Samba 使用一组与标准 Linux 系统帐户(存储在 /etc/samba/smbpasswd 中)不同的密码,因此您需要为自己创建一个 Samba 密码。本教程意味着您将使用自己的用户,并且不涵盖涉及其他用户密码、组等的情况...

提示 1:为方便起见,请使用您自己的用户的密码。

提示2:请记住,您的用户必须具有写入和编辑您想要共享的文件夹的权限。

        Eg.:
        sudo chown <user_name> /var/opt/blah/blahblah
        sudo chown :<user_name> /var/opt/blah/blahblah

提示3:如果您正在使用其他用户,则该用户需要事先存在于您的系统中,您可以使用以下命令在没有 shell 访问权限的情况下创建它:sudo useradd USERNAME --shell /bin/false

您还可以通过调整 lightdm 的配置在登录屏幕上隐藏用户,在 /etc/lightdm/users.conf 中将新创建的用户添加到以下行:

        hidden-users=

创建要共享的目录

mkdir /home/<user_name>/<folder_name>

将原始 smb.conf 文件的安全备份到你的主文件夹中,以防万一出现错误

sudo cp /etc/samba/smb.conf ~

Edit the file "/etc/samba/smb.conf"

sudo nano /etc/samba/smb.conf

一旦“smb.conf”加载,将其添加到文件的最末尾:

    [<folder_name>]
    path = /home/<user_name>/<folder_name>
    valid users = <user_name>
    read only = no

提示:行与行之间应该有空格,并且每个等号前后都应该有一个空格。

重启 Samba:

sudo service smbd restart

Samba 重新启动后,使用此命令检查 smb.conf 是否存在语法错误

testparm

访问网络共享

  sudo apt-get install smbclient
  # List all shares:
  smbclient -L //<HOST_IP_OR_NAME>/<folder_name> -U <user>
  # connect:
  smbclient //<HOST_IP_OR_NAME>/<folder_name> -U <user>

要访问您的网络共享,请使用您的用户名 () 和密码,通过路径“smb:////”(Linux 用户)或“\\\”(Windows 用户)。请注意,“”值在“[]”中传递,换句话说,就是您在“/etc/samba/smb.conf”中输入的共享名称。

    Note: The default user group of samba is "WORKGROUP".

答案3

可以用NFS

阅读以下内容很有用:如何挂载其他 Linux/Unix/BSD 服务器的目录?如何挂载 NFS 共享?

如何在 Ubuntu 中设置 NFS:设置NFS如何

Ubuntu NFS 服务器配置

以下示例分享民众目录(位于苯甲酸用户主目录)10.0.0.1IP地址

安装 NFS 服务器

sudo apt-get install rpcbind nfs-kernel-server

建立共享目录并设置权限

mkdir -p ~/Public
chmod 777 ~/Public

将新共享添加到 /etc/exports

echo "/home/pba/Public 10.0.0.1(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports

rw 使共享可读/写,而 sync 要求服务器仅在任何更改刷新到磁盘后才回复请求。这是最安全的选项(异步速度更快,但很危险。强烈建议您阅读 man exports。

导出新共享

sudo exportfs -ra

重新启动 NFS 内核服务器

sudo service nfs-kernel-server restart

服务器现已准备就绪。

Raspberry Pi 客户端配置

在下面的例子中10.0.0.12是 NFS 服务器 IP 地址/主页/pba/公共分享

安装 NFS、portmap 并启动​​服务

sudo apt-get install nfs-common portmap
sudo service rpcbind start
sudo update-rc.d rpcbind enable

创建挂载目录并挂载 NFS

mkdir ~/Public
sudo mount -v -t nfs 10.0.0.12:/home/pba/Public /home/pi/Public

看到结果:

$ cd ~/Public && ls
Ubuntu file  Ubuntu file~

在 /etc/fstab 中添加行以使更改永久生效

echo "10.0.0.12:/home/pba/Public /home/pi/Public nfs rsize=8192,wsize=8192,timeo=14,intr 0 0" | sudo tee -a /etc/fstab

对于 Windows

我已经下载自由网络文件系统对于 Windows。FreeNFS 路径设置为C:\Public

要挂载 FreeNFS 共享,需要像这样挂载

sudo mount -v -t nfs 10.0.0.12:/ /home/pi/Public

答案4

我刚刚又发现了一个可以做到这一点的选择:http://zhenga.net/

与 SSH 或 Samba 相比,它似乎有点谨慎,但它确实看起来很有前途。我已经将它设置为在 LibreELEC Pi 和运行 Windows 和 MacOS 的笔记本电脑之间共享文件/电影/照片,它运行良好。

他们声称是安全的,并吹嘘通过互联网连接。我试过一次,它无缝地从 LAN 切换到 WAN 地址,然后又切换回来,这取决于网络可用性,这是非常方便。虽然我不能说专有解决方案是家庭局域网之外的最佳选择

相关内容