我的准备工作:
1. 可以正常工作的raspberry pi
2. 1T移动硬盘
3. 带电源的HUB
操作步骤:
1. 硬盘分区(可选)
移动硬盘刚买回来时一般都是只有一个分区。有需要的话可以分几个区分别存放不同的东西。我的是分了500G作为Time Capusle,400G作为NAS,剩下30多G备用。
分区步骤参考:http://linux008.blog.51cto.com/2837805/548711 分区完记得执行partprobe命令,将当前分区表更新到内核。
2. 选择一种文件系统,对硬盘进行格式化。
移动硬盘默认一般都为NTFS文件系统,这种文件系统在linux和mac os下都不是原生兼容的,但是可以通过安装插件来实现正常的读写操作,直接使用这种文件系统应该也可以(我没尝试过,猜的)。
本来是想找一个mac,linux,windows都默认兼容的文件系统的。后来虽然找到了,它就是exFAT。但是偶然又看到了这篇文章:Two reasons not to use exFAT on your NAS,所以最终还是放弃了exFAT,选择了linux完美支持的ext3。
将硬盘格式化为ext3文件系统的方法:sudo mkfs.ext3 /dev/sda2(按照自己硬盘的分区情况输入,我的dev/sda2分区是专门作NAS的)
3. 挂载硬盘,安装samba,配置samba,balabalabala....
挂载硬盘
mkdir -p /mnt/400GB_USB_HARD_DISK/shares
sudo mount /dev/sda2 /mnt/400GB_USB_HARD_DISK
安装samba
sudo apt-get install samba samba-common-bin
配置samba
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vim /etc/samba/smb.conf
添加:
[media]
comment = Media share
path = /mnt/400GB_USB_HARD_DISK/shares
valid users = @users
force group = users
create mask = 0777
directory mask = 0777
read only = no
[work]
comment = Work share
path = /mnt/400GB_USB_HARD_DISK/shares
valid users = @users
force group = users
create mask = 0777
directory mask = 0777
read only = no
重启samba
/etc/init.d/samba restart
添加用于访问samba共享的用户
useradd [your username] -m -G users
为该用户设置密码
passwd [your username]
将该用户的密码告知samba
smbpasswd -a [your username]
4. 在MAC上访问该共享
打开Finder,command+k打开连接服务器对话框。
服务器地址填:smb://[your ip of raspberry]/media,点击连接,填写刚才设置的用户名和密码,确定。
done
Note:
我再弄完之后发现一个问题,samba共享里的东西只能读不能写,后来找到是shares目录权限的原因,它的owner和group都为root,需要这么改一下,sudo chown [your username]:users /mnt/400GB_USB_HARD_DISK/shares
参考资料:
Turn a Raspberry Pi into a NAS (Network Attached Storage) Server
Samba share permission denied user writing file but still shows