0x00
网络连接存储设备(英语:Network Attached Storage,缩写:NAS)[1],是一种专门的数据存储技术的名称,它可以直接连接在电脑网络上面,对异质网络用户提供了集中式数据访问服务。
0x01
准备工作
- 树莓派一个(安装官方系统 raspbian)
- 硬盘一个(作为存储介质)
- windows电脑一台
安装 samba 实现文件共享
硬盘格式化为 ext4(据网上介绍说如果是 fat 或者 ntfs 等格式可能会出现权限问题,于是干脆直接格式化为 ext4 格式。)
emm 然后发觉分区助手只能格为 ext3,所以用了 MiniTool Partition Wizard Home Edition 8.0,选择 Free Edition 就行了。具体使用方法是先将原分区删除,然后点击 create,在格式那里选 ext4,类型我选的 primary,label 用的 nas,然后点击 apply 就开始格式化硬盘了。
将硬盘挂载到树莓派上
先使用 sudo fdisk -l
查看硬盘。
可以看到这里 /dev/sda2 就是刚刚格式化的硬盘分区
接下来我们需要先取消挂载 /dev/sda2,然后在 / 目录下创建一个 samba 文件夹,给权限 777 所有用户读写执行,最后把 /dev/sda2 挂载到 /samba 文件夹
1 | sudo umount /dev/sda2 |
设置硬盘的自动挂载
每次树莓派重启或者硬盘插拔都需要对硬盘进行重新挂载,比较麻烦,因此需要自动挂载。
在 /etc/fstab
中加入
1 | /dev/sda2 /samba ext4 defaults 0 0 |
可以看到,fstab文件其实就是一个表格,表格各列的含意如下:
第一列:磁盘分区名/卷标,一般是/dev/sdaN(N表示正整数)
第二列:挂载点,我们在这里把/dev/sda1挂到/samba上。
第三列:缺省设置,一般用defautls。
第四列:是否备份:0——表示不做 dump 备份;1——表示要将整个
里的内容备份;2 也表示要做 dump 备份,但该分区的重要性比 1 小。 第五列:检测顺序:0——不进行检测;根分区(/),必须填写 1,其它的都不能填写 1。如果有分区填写大于 1 的话,则在检查完根分区后,从小到大依次检查下去。
install samba
1 | sudo apt-get update |
安装完成后,修改配置文件 /etc/samba/smb.conf
1 | [share] #共享文件的名称,将在网络上以此名称显示 |
然后重启 samba 服务
1 | sudo /etc/init.d/samba restart |
添加共享用户 pi
1 | smbpasswd -a pi |
测试 samba 安装效果
在windows计算机上,打开我的电脑,在左下角网络点右键,选映射网络驱动器
输入 \\树莓派ip\share
点击完成会提示输入用户名和密码,这里输入设置的共享用户名和密码。
最后在计算机下会出现共享的文件夹,点开文件夹,新建 test.txt
文件进行测试,如果能正常建立,就说明成功了,如果不行,应该是权限问题,可再重新设置一下 /samba 文件夹权限。
安装 DLNA 实现流媒体服务器
DLNA 的全称是 DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 其宗旨是 Enjoy your music, photos and videos, anywhere anytime, DLNA(Digital Living Network Alliance) 由索尼、英特尔、微软等发起成立、旨在解决个人电脑,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能。
DLNA 主要面向媒体资源(比如视频、音乐)实现局域网内共享。
install minidlna
1 | sudo apt-get update |
安装完成后修改配置文件 /etc/minidlna.conf
1 | media_dir=A,/samba/DLNA/Music #A表示这个目录是存放音乐的,当minidlna读到配置文件时,它会自动加载这个目录下的音乐文件 |
在 /samba 下创建好相应的文件夹之后,重启服务
1 | sudo /etc/init.d/minidlna restart |
重启成功之后,在电脑的网络会发现设备
安装 aria2 实现下载机功能
install aria2
1 | sudo apt-get update |
setting
1 | # 在/etc目录下创建aria2目录用来存放配置文件: |
1 | #=========文件保存目录自行修改 |
具体参数可以参考这个链接 https://aria2c.com/usage.html
启动aria2:
1 | sudo aria2c --conf-path=/etc/aria2/aria2.conf |
如果没有提示任何错误信息,那就按 ctrl+c 停止执行,转为后台运行:
1 | sudo aria2c --conf-path=/etc/aria2/aria2.conf -D |
为了能用 WEB 界面管理 aria2 进行下载,需要安装 yaaw 和 apache 环境。
1 | # install apache |
此时输入树莓派 IP,如果出现以下页面,则表示已经正常工作了。
服务开机自启动
安装配置完 samba dlna aria2 任务基本就算完成了,不过我们还需要最后一步 就是开机自动启动这些服务
在 /etc/rc.local 中添加
1 | sudo /etc/init.d/samba restart |
0x02
好了。以上。有些东西自己去发掘吧。
参考资料:
树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)
https://github.com/ohsc/ThunderLixianAssistant
https://github.com/binux/ThunderLixianExporter
封面出处:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72384366