树莓派文件服务器配置方法
准备工作
硬件
- 树莓派(推荐4代,有USB3.0接口,速度会比较快,内存无所谓)
- MicroSD卡,最好8G以上容量
- 用来共享文件的储存设备,可以是U盘,移动硬盘等
- 一台可以用来配置树莓派的电脑(Windows)
软件
- 系统:官方的Rasbian就可以了
- MobaXterm(Windows),图形化比较完善,比较方便配置
树莓派系统安装
这里不做过多的赘述,网上的方法比较多,一搜一大堆
树莓派环境配置
更新Vim(可以忽略,我们用nano):
sudo apt-get install vim
安装xrdp(可以忽略,我们用MobaXterm)
sudo apt-get install xrdp
查看树莓派ip地址并登录
方法很多,最简单的就是取家里WiFi后台看
或者在树莓派中用这个指令
ifconfig
记住eth0或wlan0的ip地址(inet),我这里用的WiFi,没有用以太网,所以看wlan0,如果你使用以太网,看eth0即可
登录,记住打开ssh或用上面的xrdp然后windows远程桌面登录
使用上面我们得到的ip直接登录即可,默认用户名为pi,密码是自己设置的系统登陆的密码
挂载移动硬盘
旧版的树莓派系统需要手动挂载硬盘,操作极其繁琐,网上有很多相关的教程。不过新版树莓派系统似乎已经解决了这个问题,硬盘可以自动挂载,就不必担心硬盘挂载的问题了,随插随用即可。
需要注意的是,Windows和Linux系统的硬盘文件系统是不一样的。Windows系统下的文件系统多是ntfs和fat,而Linux则很多样化,主流为ext4。如果移动硬盘的文件系统是ntfs的话,树莓派是不能直接识别出来的,需要安装一个文件系统服务:
sudo apt-get install ntfs-3g
安装完成后,硬盘会自动挂载到 /media/pi 目录下
如果没有手动挂载,运行一下指令
mount /dev/sda1 /mnt/disk1
然后查看一下挂载情况
df -h
使用samba
安装samba
sudo apt-get install samba samba-common-bin
这里建议先更新一下源
sudo apt-get update
(记得先更改国内的镜像,不然慢死)
安装完成后,配置一下 smb.conf 文件,可以用nano进行编辑:
sudo nano /etc/samba/smb.conf
方向键翻到最后,在下方加入一下指令
[public]
comment = public storage
path = /mnt/disk1
valid users = pi
read only = no
create mask = 0777
directory mask = 0777
guest ok = no
browseable = yes
参数说明:
- comment:共享文件夹说明;
- path:共享文件夹目录;
- valid users:有效用户;
- read only:是否只读;
- create mask:创建文件的权限;
- directory mask:创建文件夹的权限;
- guest ok:是否允许访客访问;
- browseable:是否可见。
其中valid users即pi为有效用户,还需要把它添加到samba中(会提示输入密码,建议把密码设置成系统登陆的密码,不至于密码太多而混淆。不过处于安全考虑,也可以设置成不一样的。)
sudo smbpasswd -a pi
重启一下samba
sudo samba restart
注:samba默认开机自启,无需为重启担心(但是我这里开机没有重启,不过没关系,我们后面慢慢来解决)
设置文件夹权限
sudo chmod -R 777 /mnt/disk1
至此,树莓派的配置已经完成
远程访问
单次访问:
在资源管理器的地址栏中输入: \\“你的树莓派的ip地址”\public
过程中需要输入用户名和密码。用户名是pi,密码是前面设置的samba的密码
然后你就可以在局域网内使用任何一台Windows设备访问硬盘啦
永久访问:
首先,右键“此电脑”图标,或者在文件管理器的“此电脑”点右键,然后选择映射网络驱动器
驱动器符号可以随意选择自己喜欢的,文件夹则依旧输入 \\“你的树莓派ip地址”\public
然后输入密码点确定继续之类的就可以了
番外
上文说到磁盘没有自动挂载和samba没有自动启动的情况,这里给出解决方案:
命令行模式
在 /etc/rc.local下增加开机需要启动的脚本或待启动的程序
先用nano打开这个文件
sudo nano /etc/rc.local
然后在exit0前面加入一下指令
sudo mount /dev/sda1 /mnt/disk1
sudo samba restart
这样应该就能解决问题了
桌面模式
在 /home/pi/.config 下创建一个文件夹,名称为 autostart ,并在该文件夹下创建一个 xxx.desktop 文件(文件名以 .desktop 结尾,前面可以自定义),文件内容如下:
[Desktop Entry]
Name=AutoSamba
Comment=Test Demo
Exec=sudo mount /dev/sad1 /mnt/disk1
Exec=sudo samba restart
Icon=/home/pi/example.png
Terminal=false
MultipleArgs=false
Type=Application
Categories=Application;Development;
StartupNotify=true