我打算购买 RaspberryPi 3 并将其连接到我的电视。我的双启动 Ubuntu 14.04 和 Win 8 机器的 Windows 分区上也有很多电影(Win 8 没有使用,但有)。我想通过我的 WiFi 将电影文件夹共享给 RaspberryPi,这样我就可以在电视上看电影,而无需将电影文件加载到 RaspberryPi。
这可以做到吗?如何做到?
答案1
我最喜欢的方法是通过 SSHFS。
在你的 Ubuntu 机器上安装 openssh 服务器:
sudo apt-get install openssh-server
在 Ubuntu 中的 Raspberry Pi 上安装 sshfs(不知道您正在运行的发行版的软件包名称):
sudo apt-get install sshfs
通过挂载文件夹连接到你的 ssh 服务器:
sshfs username_on_server@server_ip:/location_of/movies_on_Server /mountpoint/on_rasberry_pi
您可能必须将您的 Rasberry Pi 用户添加到 fuser 组:
sudo useradd -G {group-name} username
卸载远程文件夹:
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 地址,然后又切换回来,这取决于网络可用性,这是非常方便。虽然我不能说专有解决方案是家庭局域网之外的最佳选择