树莓派实现TimeMachine以及samba服务
最近一段时间感觉用移动硬盘备份Mac电脑很不方便,因为要把移动硬盘拿出来,还要插上电脑备份,看了一下AirPort,但是价钱太贵,况且只能用于Mac备份并不能用于其他的Samba服务等,感觉不太划算,于是打算自己做一个TimeMacheine以及samba服务,TimeMacheine服务主要用于Mac备份,而samba用于局域网内的电脑上的一些文件存放。
准备工作:
1、树莓派
2、移动硬盘
3、5V电源适配器以及连接线
4、无线USB网卡或者有线
5、SD卡(新版本的是TF卡)
6、操作系统,关于操作系统,你可以到raspberry官方网站进行下载并通过win32diskimager软件进行写入。
在这里我自己的设备信息为:
1、树莓派2代
2、西数移动硬盘2TB自带电源
3、5V电源适配器以及连接线
4、有线网络
5、SD卡16GB金士顿
6、raspbian操作系统
查看自己的移动硬盘是否加载,lsblk结果:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda : .8T disk |-sda1 : .9G part `-sda2 : .1G part mmcblk0 : .6G disk |-mmcblk0p1 : 56M part /boot `-mmcblk0p2 : 3G part /
在这里我是把我的硬盘分为两个分区,/dev/sda1 为ntfs格式、/dev/sda2 为 hfs格式,如果你需要进行分区可以通过fdisk以及cfdisk进行分区。
格式化分区:
mkfs.ntfs -v “samba” /dev/sda1 && mkfs.hfsplus -v “timemacheine” /dev/sda2
准备timemacheine以及samba的挂载目录:
mkdir /srv/samba mkdir /srv/timemacheine
samba搭建
安装ntfs-3g,让raspberry支持ntfs格式
apt-get install ntfs-3g
挂载分区到指定目录
mount -t ntfs /dev/sda1 /srv/samba
查看是否成功挂载,lsblk结果:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda : .8T disk |-sda1 : .9G part /src/samba (已挂载成功) `-sda2 : .1G part mmcblk0 : .6G disk |-mmcblk0p1 : 56M part /boot `-mmcblk0p2 : 3G part /
安装samba
apt-get install samba samba-common-bin
修改samba配置文件
vi /etc/samba/smb.conf
添加共享配置信息
[BackupFolder] (共享名字) comment = Backup Folder path = /srv/samba (路径) valid users = @users force group = users create mask = directory mask = read only = no
添加samba用户
useradd backuser -m -G userspasswd backuser smbpasswd -a backuser
重启服务
/etc/init.d/samba restart
timemachine搭建
安装必要的软件:
apt-get install hfsplus hfsutils hfsprogs
挂载目录:
mount -t hfsplus /dev/sda2 /src/timemacheine
修改目录的所属组、所有者:
chown -R pi:pi /srv/timemacheine
查看是否成功挂载,lsblk结果:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda : .8T disk |-sda1 : .9G part /src/samba (已挂载成功) `-sda2 : .1G part /src/timemacheine (已挂载成功) mmcblk0 : .6G disk |-mmcblk0p1 : 56M part /boot `-mmcblk0p2 : 3G part /
安装Netatalk
Netatalk 是一个开源的 AppleTalk 通信协议的实现,Linux 系统通过它可以充当 Mac 的文件服务器 、AppleTalk 路由、打印服务器等。 安装:
apt-get install netatalk
把最先设置的目录添加到配置文件:
echo “/srv/timemacheine \”TimeMacheine\” options:tm” >> /etc/netatalk/AppleVolumes.default
或者
vi /etc/netatalk/AppleVolumes.default
然后把/srv/timemacheine “TimeMacheine” options:tm 添加到最后 这里可以把samba服务器也设置进来,这样就可以统一访问
vi /etc/netatalk/AppleVolumes.default
然后把/srv/samba “samba” options:tm 添加到最后
安装avahi-daemon和libnss-mdns
添加Avahi工具让Mac电脑可以在Finder工具栏的共享里发现磁盘
apt-get install avahi-daemon libnss-mdns
配置nsswitch.conf文件,在原有的hosts行后面添加 mdns
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
让Avahi在局域网广播AFP共享:
vi /etc/avahi/services/afpd.service
添加如下内容
<?xml version=”1.0″ standalone=’no’?> <!-*-nxml-*-> <!DOCTYPE service-group SYSTEM “avahi-service.dtd”> <service-group> <name replace-wildcards="”yes”">%h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=Xserve</txt-record> </service> </service-group>
重启avahi服务
/etc/init.d/avahi-daemon restart
树莓派实现TimeMachine以及samba服务的更多相关文章
- 给树莓派开启samba服务
参考链接:https://www.cnblogs.com/mnstar/p/8144943.html 安装samba 和 samba-common-bin 启动树莓派以后,在命令行输入: sudo a ...
- 树莓派开启samba服务
安装samba 和 samba-common-bin 启动树莓派以后,在命令行输入: sudo apt-get update sudo apt-get install samba samba-comm ...
- 树莓派安装samba服务
1.安装 sudo apt-get update sudo apt-get install samba sudo apt-get install samba-common-bin 2.配置 sudo ...
- 树莓派3 Raspberry系统安装samba
默认Raspberry不自带samb,需要手动安装. 如果默认的rasp源不好用的话,可以使用下面从网上找的: deb http://mirrors.cqu.edu.cn/Raspbian/raspb ...
- samba服务
安装samba服务步骤ps -e 查看进程ps -e | grep 文件名 管道符的使用rpm -qa 安装包的查看rpm -qa | grep samba 抓Samba安装包 注释:包与包之间有依赖 ...
- OpenWrt中开启usb存储和samba服务
在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...
- 虚拟机利用Host-only实现在不插网线的情况下,虚拟机与主机实现双向通信,实现ssh连接以及samba服务实现共享
为了不影响其他的虚拟网卡,我们在VMware下在添加一块虚拟网卡: 然后点击Next,选择连接方式: 点击Finish即可. 重新启动虚拟机,如果这是你手动添加的第一块虚拟网卡,那么应该是eth1. ...
- Samba服务配置简明笔记
内部服务器之间拷贝数据,用root账号访问,没有做更复杂的设置. 1.用YUM安装samba服务器端及客户端: [root@tenjs05 init.d]# yum install samba sam ...
- 部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, mounting read-only mount: cannot mount block device //192.168.1.108/mysqldata read-only
部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, moun ...
随机推荐
- curl常用的5个例子(转)
我用php ,curl主要是抓取数据,当然我们可以用其他的方法来抓取,比如fsockopen,file_get_contents等.但是只能抓那些能直接访问的页面,如果要抓取有页面访问控制的页面,或者 ...
- jbpm入门样例
1. jBPM的简介 jBPM是JBOSS下的一个开源java工作流项目,该项目提供eclipse插件,基于Hibernate实现数据持久化存储. 參考 http://www.jbos ...
- js中一些容易混淆的方法
JavaScript中有一些名字十分冗长的函数名称,导致使用时会混乱,特此整理一番,加深印象. ①Object.getOwnPropertyDescriptor --读取某个对象特定属性的属性 ...
- layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案
layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案 >>>>>>>>>>>>> ...
- [Search]swf 转mp4,未成功
Need help to convert SWF to something else.. 知道recordmydesktop 和 xvidcap 两个录像软件. 在尝试了自己的净土 下面的 ADSha ...
- MIME 部分扩展名与类型对应
svg image/svg+xml woff application/x-font-woff woff2 application/x-font-woff eot applicati ...
- 程序员你该学学如何设计PPT了,设计PPT的几大原则
写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 大量的汇报及介绍工作,都离不开一个辅助工具-P ...
- PHP中长连接的实现
最近遇到PHP程序在执行大量数据的时候提示超时,于是用到了set_time_limit()函数来设置PHP页面的最大运行时间. 设置允许脚本运行的秒数.如果这是默认的,该脚本返回一个致命的错误.默认限 ...
- css扁平化博客学习总结(三)header代码实现
页头.banner.正文.页脚的宏观布局 1.布局顺序的重要性: 由大到小,着眼最大的部分,慢慢细分. <body> <header><!-- 页头开始 --> & ...
- JAXB - Annotations, Annotation for Classes: XmlType
This annotation adds information that would be available from a schema type, but isn't implied by a ...