nas 篇一:Linux小白的《Home Server DIY 从入门到放弃》—基础搭建篇
前言
伪程序猿一枚,windows、office用了十几年,会装盗版、破解游戏和软件,会下各类美剧和小姐姐。然而之前并不会用 linux/ Unix 系统,却在 DIY Home Server 选择各种系统的时候毅然决然的选择了 linux,当然不会说是因为穷,更重要是为了学习。linux 还是非常有潜力,“我的征途是星辰大海”。
之前有看各种 NAS 系统的对比,最终选 linux 主要还是我的个人需求,因为除了 NAS 的一些功能,还需要有个服务器后台来学习和跑一些强大免费软件的服务器版本来玩,所以它很适合我,但不一定适合每个人。之后可能会发一遍我当初选 NAS 对比过的一些 NAS 系统的介绍,先发这篇内容比较丰富的实战篇也是怕被喷 随便复制黏贴就来发文。
这篇文章主要介绍:linux系统安装、静态 ip 设定、 samba 配置、 硬盘挂载、简单的备份策略和方法 + 手机、电视连接app。看完这篇文章,你可以搭建出一个简单的 home server 平台。
但是有以下缺点:
(-)这几个步骤搭建得 home server 缺少内网穿透,通过外网访问的能力,但是应该有解决办法(我自己还没试成功,所以没法分享),目前只能在家同一个局域网内使用。
(-)并不像群辉那样有很多手机与 NAS 互动的软件。
(-)需要学习 linux 知识,网上搜索来解决遇到的问题和麻烦。
(-)这里没法给出 linux 下的迅雷下载的经验,因为我还有个玩客云专门下载。
当然也有许多优点:
(+)学习 linux 的很好的方法。
(+)锻炼了学习和检索的能力。
(+)home server 具有无限的潜力有待去挖掘,自从用了 linux,再也不用去关心硬件了。
搭建前的准备当然准备搭建一个 linux 的 home server,首先你最好得有另外一台电脑。我的经验是,当用 linux 遇到各种问题时,最有效的方法是去网上搜索解决办法。当然 linux 系统最大的好处是,它不吃配置,很多帖子都是建议用淘汰的旧配件,废物利用搭建一个 home server自己玩。
硬件我的配置【日常功耗 35w】:
cpu g4560
主板 b150m-itx
内存 4g ddr4 2400
硬盘 ssd 240G,2T + 3T HDD
201807Sunday1612g4kft4s3vnc.jpg
因为收了个itx机箱所以买的,选g4560而不是一体的 j2455 也是因为当初极为不自信,基本做好搭建 home server 失败就拿去刷 windows 10 给爸妈用的打算。最后说一下机箱,其实可以不用太过纠结尺寸,毕竟有了ssh可以远程登录维护,机箱基本找个角落扔着就好了。找个硬盘多,静音的才是正道,然后有了samba仓储盘的支持,桌面主机可以选小巧对显卡兼容好的itx,这种搭配很不错。
知识储备篇
201807Sunday1612124bavncnnw.jpg
鸟哥的Linux私房菜 (基础学习篇 第三版)52元京东去购买
这里必须得推荐 linux 基础知识读本《鸟哥的Linux私房菜》,真的很经典,很实用。包括我这里所有的章节,在鸟哥的基础篇里都能找的到。不过毕竟这本书比较老了,并不是所有都能照搬,比如安装 linux 的分区,初学者的我们还是全分 / 下面,什么 boot 分 200M就够了,那真的都是老黄历了,现在经常升级个内核,单独分区就是给自己找事情。
linux 系统安装我这里选择的 unbuntu16.04 LTS 的 server 版,其实一般用桌面版有图形界面可能更友好。之前也说了有打算安装一些软件的服务器版本,所以这里也就选择的服务器操作系统,另外全是命令行也能逼着自己去学些 linux 的基本操作语句。
201807Sunday1613xknhrzu0mjg.jpg
系统安装有很多教程,我这边不细说,基本就是选择安装系统,然后就是语言、键盘、位置、网络配置、host名字、用户建立、最后加上系统分区、选择一些自带的软件安装,就完成了。这里还是建议 语言 还是用英文,此外地理位置 China 在 Asia 的下级目录里。下面是一些网络教程截图:
201807Sunday1613brn0kcmauhv.jpg
201807Sunday1613iuzpmdvxsbp.jpg
201807Sunday1613ucgdpfaancx.jpg
201807Sunday1613kl4kp00coe4.jpg
另外就是关于分区,我的建议是系统盘全分一起,都放 / 下,也就是应该只有 / 和虚拟内存 swap 两个分区。一般建议弄快不用很大的 SSD 做系统盘来装 linux 系统,然后 HDD 全部采用挂载的方式,比较简洁明了。对于最后 software 的选择,samba file server 肯定是要的,其他像 DNS, LAMP, SQL也很实用,当然也可以以后用到的时候再装。
VIM 的基本操作
201807Sunday1613i0nlnf4ognu.jpg
当然我这里说 Vim 只是你需要知道怎么去改 linux 下的文件,因为后面很多软件的配置需要去更改配置文件里的详细参数,所以掌握最基本的 vim 操作是必须得。
201807Sunday1613nrdney3zk5h.jpg
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
用户刚刚启动 vi/vim,便进入了命令模式。若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
在输入模式中,可以更改文档里的内容,等编辑好了可以按 ESC,退出输入模式,切换到命令模式。
在命令模式下按下:(英文冒号)就进入了底线命令模式。通过 :w(保存)q(离开)!(强制)。
:wq 保存并离开 :w 只保存 :q!离开并不保存。
静态 IP安装好 ubuntu 进入系统后,默认的 dhcp 能让网络正常上网,但是是动态 ip。电脑重启或者断电后重新开启都有可能会导致 ip 地址发生变化。如果你要用 samba 功能,ip 地址却随时有可能会变化,是一件令人非常烦躁的事情,所以设置静态 ip 地址是非常的必要,当然这些在 linux 上的设置是非常的简单,当然当初小白的我还是会发现很多感觉难以克服的问题。
sudo vi /etc/newtork/interfaces 我自己还是习惯用 vim, 当然也有很多人喜欢用 nano,那你得去掌握 nano 的一些操作指令。
这里想说的是老旧的教程都还是写的 eth0 什么的,unbuntu 16.04 以后基本都是用很复杂的名字来表示,比如图下的 ens160,当然这个名字也不适用于你的系统,具体的可以通过 ifconfig 来查看你的具体型号。当然你也能直接从 interfaces 配置文件中看到具体名称。
201807Sunday1613qq0nagyqnxe.jpg
201807Sunday1613o0jwznglt4d.jpg
其实配置文件的修改非常简单,但最后发现各种 reboot, 重启网络都上不了网,非常让人抓狂,一度查不出到底哪里出了错。后来不断网上检索,看到各种方法胡乱试,终于发现 sudo ifup ; sudo ifdown 救了命。
201807Sunday1613fgykiujmn41.jpg
samba 配置安装 sudo apt-get install samba smbfs
配置文件保存原始 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
修改 sudo vi /etc/samba/smb.conf
201807Sunday161321xuq0uwaeh.jpg
加入图片上 【public】部分语句。涂掉的部分是我的用户名,你可以任意设置你的用户名 XXXX。这里 path 就是你要共享的文件夹,我这里 valid user 有指定,root 和我自己,此外可修改权限也给了我自己。也就意味只有我的账户可以登录我的 smb。帐户和密码,对于访问用户的控制还是很重要的,虽然很多人会嫌麻烦,但是家里常用的中端登录时都可以选择记住用户名和密码,所以家里使用多了密码也并没有很多不便。
最后就是再创建 smb 账户名 + 密码,然后重启下 smb 服务就大功告成了。
useradd username
smbpasswd -a username
service smb restart
smb 服务成功重启后,你就可以用同网络下的电脑访问之前指定的 ip 地址。家中局域网的网盘就配置成功了。
ssh 配置ssh 远程登录还是需要的,因为搭建好的 home server,一般找个桌子下面或角落,有网线,有电源的地方扔着就行了,不会再给它配个显示器、鼠标或是键盘,但偶尔我们还想登录进去做一些操作或者维护时,有了 ssh 的帮助,我们可以轻松使用另一台主机用 putty 远程登录,去升级、安装一些软件。
ssh 的安装和配置更加简单,基本就是无脑敲几句安装命令就好了。
sudo apt-get install openssh-server
配置文件 sudo vi /etc/ssh/sshd_config
port 22 好像是默认的,把这个改成一个其他随意点的数字就好了。
sudo service ssh restart
再然后就是在其他主机上下载 putty,简单的配置就可以远程 ssh 登录了。
硬盘挂载硬盘挂载真的很简单,就是先记下每块硬盘的 UUID 相当于识别码,然后用 mount 挂载到你想要的目录下面,一般 /mnt 目录就是给你挂载用的目录。
201807Sunday1614eprszncexta.jpg
201807Sunday16144th0gxf0jco.jpg
当然如果每次开机都要挂在很让人烦躁,可以设置开机挂载sudo vi /etc/fstab 这个文件下面编辑,把需要开机挂载的硬盘 UUID 都写进去就大功告成。
备份说到 NAS 的数据备份,很多人就想到了 RAID 1。RAID 1 虽然广为人知,但是镜像备份有时候我们并不需要,比如硬盘里一屋子的大姐姐,我并不 care 她们会不会离我而去。相反一些资料或者照片,可能才是我需要备份的重点,当然 linux 下自带的一些功能可以很轻松的帮我完成自动备份的需求。
201807Sunday1614p4b0lyhxhth.jpg
201807Sunday1614j0cghyz2lre.jpg
实现的手段很简单 bash shell 语句 + /etc/crontab 自动化定时任务,可以轻松解决自动备份的各种需要。当然我这里只是很简单的运用 cp -a -u 这个命令,crontab 配合时间参数可以很方便的配置 每天、每周 等等的备份任务。当然鸟哥私房菜里还可以运用压缩+时间后缀来保留不同时间的备份文件,当然我这里并不需要。相对于 RAID 1 来讲,这个备份不是实时的,有少许风险。但可以选择我要备份的这份灵活性,可以让我用一块硬盘备份其他所有硬盘中我觉得重要的部分。
手机、电视搭配 app最后说几个我自己用的app,搭配 samba 在家里的局域网中使用。因为挺够用的,也没怎么用其他的,有比较懂得朋友也欢迎推荐其他与 samba 兼容很好的软件。
手机 ios: RemoteFile Basic (免费版对一些视频格式支持不好)、 nPlayer Lite (视频功能很强大,免费版退出强行看广告)
手机 android: EC文件浏览器(排版太乱太杂)、完美视频播放器(可以4倍快播,2333)
电视: 小白播放器。 |