备份仓库在任何家庭服务器功能列表里面最重要的是提供坚如磐石的备份。对于RPi来说,这很简单而优美,在Linux中有丰富的网络共享选项:Samba/CIFS用于Windows机器,NFS用于基于UNIX的设备,并且甚至SFTP可以用于更多新的备份客户端,如deja-dup。由于RPi只有100MB以太网接口和USB上的存储设备,它没有非常快的传送速度。不过在另一方面,好的备份客户端是在后台自动运行的,所以你不会注意略微缓慢的传输速度。 我的家庭网络包括一台Windows 7电脑。对于它,我通过Samba在RPi's外部USB存储设备上导出一个备份目录。因为备份程序在Windows7基础版上不支持网络设备作为备份目标,我使用SyncBack Free去设置使其自动化,每日备份。 配置Samba是容易的。 1)安装samba和common-bin库(具有smbpasswd效用) >> sudo apt-get install samba samba-common-bin 2)使用 >> sudo smbpasswd -a YOURUSERIDHERE 3)编辑samba配置文件: >> sudo nano -w /etc/samba/smb.conf 4)更改 5)注释掉或删除[homes]和[printers]共享。(打印机共享稍后将通过直接CUPS访问来完成。) 6)为Windows备份路径增加一个条目。这是我的示例,放置在该文件的底部: ======/etc/samba/smb.conf======...[win7pc] comment=Backup for windows PCpath=/storage/win7pc writeable=Yes create mask=0777 directory mask=0777 browsable=Yes public=Yes valid users=YOURUSERIDHERE...======/etc/samba/smb.conf====== 7)重启Samba使你的编辑生效: >> sudo /etc/init.d/samba restart 8)从Windows机器文件资源管理器通过映射一个网络设备测试连通。 对Linux设备来说,设置和使用deja-dup非常简单。它被默认安装在我的Fedora 18和Ubuntu 12.10上。包的名称是“deja-dup”,程序名简单的称为“Backup(备份)”。虽然RPi很容易支持NFS导出,我发现使用deja-dup的SSH选项更容易,更方便,在RPi上它不需要额外服务的支持。指定一个deja-dup加密密码是一个好主意,除非你不在意一旦丢失了存储器,别人就可以拿走全部数据: >> sudo mkdir /storage/linuxlaptop>> sudo chown -R YOURUSERIDHERE:YOURUSERIDHERE /storage/linuxlaptop 从linux客户端启动备份程序,选择“SSH”作为备份位置,输入RPi的IP地址和你创建的存储位置。首次备份会很慢,但是以后的运行将只发送增量变化,速度更快。 图2,Deja-dup客户端设置 多媒体服务器:DLNA现在每个人的文件都已安全备份。让我们继续看些有趣的!一个DLNA服务器可以让你集中存储你的电影、音乐和图片。通过这个中心库,家中每一个屏幕的DLNA客户端都可以轻松重放此内容。 至少,这是一个宣称。事实是这样的,DNLA规格并不太确定一些重要的事情,如支持哪些格式或编码。每个客户端通常对于支持什么格式和服务器功能都有略微不同的想法。很多高功率的服务器也许能转码本地内容到移动设备支持的格式,但是在RPi上是不可能的,在即时转码上经常扰乱其他功能,如暂停,快进和倒带。一般情况下,高功率设备如PS3、Xbox和WD TV设备支持大多数格式,而无需任何转码。低端设备如智能TVs或Blu-ray播放器只支持更有限的编码列表。 对于RPi来说,最好的办法是支持你的主要的DLNA设备的标准编码,然后测试你的其他DLNA客户端。如果没有完美播放,在下一节的提示也许有帮助。在我的情况下,我的PlayStation 3充当DLNA客户端,PS3能够流畅播放经Handbrake制作后的.m4v文件。 对于RPi的DLNA服务器来说,Minidlna是个很好的选择。它已经在Raspbian发行版中,易于设置和使用最小服务资源运行: >> sudo apt-get install minidlna>> sudo nano -w /etc/minidlna.conf 这是我/etc/minidlna.conf文件的相关部分: ...# I found keeping video + audio in different paths helpfulmedia_dir=V,/storage/dlna/video media_dir=A,/storage/dlna/music ...presentation_url=http://192.168.1.10:8200/... friendly_name=MyRPi...# Since I add new media infrequently, turning off # inotify keeps minidlna for polling for # content changes. It's simple enough to run # sudo /etc/init.d/minidlna force-reload# when new content is added.inotify=no 一旦完成编辑,重启minidlna以加载新配置: >> sudo /etc/init.d/minidlna force-reload Minidlna能够为你的设备支持的电影提供电影海报缩略图(像PS3)。这让我能够更方便地在几十个电影文件中滚屏查找我想要的那个电影。我发现每个电影一个目录是最兼容的文件布局,只包含影片文件和缩略图,图像命名为“Cover.jpg”。使用像"MovieName.m4v"和"MovieName.jpg"的格式在PS3上工作的很好,但它不太适合VLC(除非你能让VLC uPNP插件首先查找服务器的话)。 通过PS3,你可以通过转到在XMB栏上的"Video"测试连通性。当视频列表向下翻页时,你以前设置的"friendly_name"应该是可见的,测试确保Minidlna是通过浏览器转到http://192.168.1.10:8200/。 非DLNA设备的多媒体当你让DNLA与你的一些设备一起工作时,你可能会发现有些设备并不适合它,所以多媒体计划B是个好主意。Nginx网站服务器有一个MP4插件尝试在旧式的HTTP连接上改善流媒体传输,但是浏览器回放的性能差别很大,在一部电影里快进也一直不工作。看起来多媒体共享或非 DLNA 设备的最低共同特性是使用传统Samba共享的访客只读访问。 这是/etc/samba/smb.conf的部分示例: [dlna] path=/storage/dlna read only=yes browsable=yes public=yes 定义了共享设置后重启Samba( 我用一个混合的编码m4v视频文件测试了以下客户端:
所有设备都能几乎立即开始播放和快进没有延迟的情况。 打印服务器RPi运行CUPS相当不错,所以它容易共享一个较旧的没有本地网络接口的打印机。 安装你的打印机所需的CUPS和任何软件包。我需要hplip-cups,因为我有一个HP喷墨打印机: >> sudo apt-get install cups hplip-cups 更新“Listen”行和增加 ======/etc/cups/cupsd.conf======#Listen localhost:631 #Comment this outListen 192.168.1.10:631 #Add this line... 添加你的本地ID到lpadmin组就能管理CUPS: >> sudo usermod -a -G lpadmin YOURUSERIDHERE 重启CUPS: >> sudo /etc/init.d/cups restart 然后转到http://192.168.1.10:631/并点击 "Adding Printers and Classes"去设置你的打印机。我的打印机是自动发现的USB设备,所以,我只需点击“share”就可以。同样访问https://192.168.1.10:631/admin,确保检查“Share printers connected to this system(共享连接至这个系统的打印机)”。 完成后,你可以用通常的方式设置你的客户端。当我输入主机名,我的Linux客户端就能够自动发现打印机,并选择正确的驱动程序。在我的Windows7的机器上,一旦我选择“Network Printer(网络打印机)”,我必须点击“The printer that I want isn't listed(我想要的打印机未列出)”,选择“Select a shared printer by name(通过名称选择共享的打印机)”,然后从CUPS网络接口输入URL:http://192.168.1.10:631/printers/HP_J4500。 结论用最少的额外的硬件和配置,树莓派是高效、简洁的家用服务器。它能够花最小的硬件费用来为你的家庭环境带来由Linux提供的广泛企业服务。 via: http://www.linuxjournal.com/content/raspberry-pi-perfect-home-server |