树莓派搭建文件共享系统(samba)
前引
在不久之前,为了不让昂贵的树莓派不吃灰,尝试了一次将树莓派作为云盘服务器的文章
在试用了一段时间后,使用感受并不是很好。
首先,nextcloud修改默认存储位置比较麻烦,云盘的主要目的就是要将资料存储在便于移动、扩展的U盘、硬盘上,而不是直接利用插入的TF卡或者是树莓派自身的内存空间内,这样不仅存储空间比较小而且对自身存储器也是一种损耗。
其次,云盘以网页的方式发布 ,内网穿透比较麻烦。
设备清单
- 树莓派
- 移动硬盘(U盘也可)
- 网络环境
挂载硬盘
查看硬盘
1
$sudo fdisk -l
如果设备被识别成功,在执行命令后可以查看到类似如下的结果
不同设备会有不同,类似/dev/hda, /dev/hdb, /dev/sda, /dev/sdb,这些不同的代号,而这些不同的代号又代表着什么?
hda一般是指IDE接口的硬盘,hda指第一块硬盘,hdb指第二块硬盘,等等;sda一般是指SATA接口的硬盘,sda指第一块硬盘,sdb指第二块硬盘,等等。
- 挂载硬盘
临时挂载非常简单,只需要一个**mount
**命令即可
1 | $ sudo mount [参数] [挂载对象(/dev/sda)] [挂载点(新建文件夹来挂载)] |
取消挂载
1 | $ sudo umount [挂载对象] [挂载点] |
对于mount的参数可以省略,如果又特殊需求可以通过百度来查找**mount 参数
**
所谓的永久挂载其实也就是开机自动挂载,开机自动挂载硬盘不需要在每次开机后都通过命令的方式去挂载硬盘,相对来说比较方便,但是这种方法挂载硬盘后如果没有插入硬盘可能会出现不能引导开机的问题,解决方法这里就不细说了,网上的教程还是比较丰富的。
1 | 查看硬盘的UUID |
将获取的UUID复制下来,待会要用
1 | # 新建挂载点(在当前目录下) |
测试:
1 | # 重启树莓派 |
配置samba
- 按照惯例安装软件之前先update和upgrade一波
1 | # 凑个字数 |
- 配置samba控制文件,指定共享的文件
1 | # 通过vim打开控制文件 |
添加文件目录和控制信息,在最后面添加如下内容
1 | [NAS] |
如果不想共享home下的文件目录,可以找到文件中[home]的部分,将那部分全部注释掉
- 重启samba服务
1 | $ sudo /etc/init.d/samba restart |
- 添加默认用户到samba
1 | $ sudo smbpasswd -a pi |
本地连接共享测试
之前将树莓派作为一个软路由来使用,现在电脑和手机都有连接着树莓派的WIFI,所以只需要直接访问树莓派的固定IP就能实现对树莓派共享文件的访问。开热点方法可以参考我之前写的这篇文章。
Windows 测试访问共享文件
在文件资源管理器中直接输入
\\IP地址
即可访问共享文件还可以映射为本地驱动器,在Network右键->映射网络驱动器
Android
如果默认文件管理器可以访问网络存储的话就按照官方教程来使用,如过默认文件管理器不能访问,则要下载其他文件管理器
我目前使用的是
文件管理器(File Manager Plus)
使用体验还是比较不错的
内网穿透
这里推荐一个很好用,还免费的内网穿透平台(非广告)。
如果需要远程访问到共享文件,就需要内网穿透,安装配置文档已经非常完善,可自行到官网查看安装配置方法。samba占用的是139端口,在创建隧道的时候端口选择139就行。
如果选择了内网穿透了,一定要设置好密码和保护好隧道信息...不让很容易信息泄露