1.引子
今天给我的破狗4(pogo4)升级了下系统。
由于有将近一年没有升级了,还是有许多东西需要下载的。加之服务器在国外,下载速度时有时无的,126个补丁,下载数据有160多MB,还是折腾了一些时间。
7*24小时/每周不间断地跑了两年多了,我的狗狗还是很乖,没有丝毫倦怠,没有丝毫不满,也没有丝毫要罢工的迹象。
在有钱买专业的NAS前,就只有靠它了,我的乖狗狗!
看着进度一点点前进,看着代码一行行跳动,那份满足和安心是不能言表的。
完事之后想起折腾破狗的事情,顺便想找之前的笔记看下。但是只找到一篇安装Archlinux的,其他的没有找到。索性就着把在破狗上其他一些折腾,一起记录一下。以后就算破狗故障了,出问题了,要重新折腾的话,根据手里的东西也可以恢复起来,也不用满世界再去找资料了,常言道,家里有粮心不慌是也。万一还能帮到有类似需求的小伙伴,那不更是锦上添花了么。
2.让Archlinux支持rc.local开机脚本
刚用pogo那会儿,Archlinux是支持rc.local的,但是后来某次更新之后就不支持了。对于pogo来说就很不方便,迅雷什么的就先不说了,最起码的开机自动挂载移动硬盘是必需的呀,不然pogo开机干嘛呢,对啊?
当然在网上查了些资料,是这样说的:
Archlinux 替换initscript 为systemd方式后,许多服务启动方式已经发生变化。原来的/etc/rc.local已经消失,并被建议使用tmpfiles.d方式替换。但是有些操作tmpfiles.d无法替代。
需要手动写一个rc-local.service 文件。
既然系统不支持了,就只有自己动手做一个了呗。开整!
nano /usr/lib/systemd/system/rc-local.service
# 我是菜鸟,只会使用nano,对vim还不熟悉
内容如下:
[Unit]
Description="/etc/rc.local Compatibility"
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardInput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
启用脚本服务
systemctl enable rc-local.service
创建启动文件rc.local,写入自己想要的功能:
nano /etc/rc.d/rc.local
# 也可以直接 nano /etc/rc.d/rc.local,这样后面就不用创建连接了
我里面的内容如下:
#!/bin/bash
/root/mymount.sh
# 按照我的要求来挂载移动硬盘
su pogoplug -c "/home/pogoplug/runaria2+xunlei.sh"
# 以pogoplug的身份来支持runaria2+xunlei.sh这个脚本,脚本本身是运行迅雷和aria2两个下载工具的。
# 没有用root账户运行,为了防止下载软件(特别是迅雷)会做奇怪的事情,或者自己的误操作,
# 会对硬盘数据造成毁灭性的打击
创建连接到/etc,并给刚才创建的脚本执行权限
ln -s /etc/rc.d/rc.local /etc
chmod +x /etc/rc.d/rc.local
好了,搞定!
以后再也不怕小狗在跳电或者误拔插座的时候,不能愉快地看电视电影,也可以随时随地下载东西了。就算没在家里,要下什么东西,只需要用手机,通过迅雷远程就可以轻松愉快地搞定了。
3.另外两个脚本
为了方便起见,把另外两个脚本也一起贴在这里吧。回头再把装系统的也转过来,就齐活了。真正的一站式服务!就算完全从头开始折腾我的小pogo也是妥妥的。
mymount.sh的内容:
#!/bin/bash
mount -o iocharset=cp936 -t ntfs-3g UUID=xxxxxxxxxxxxxxxx /xxxxx
mount -o iocharset=cp936 -t ntfs-3g UUID=xxxxxxxxxxxxxxxx /xxxxx
mount -o iocharset=cp936 -t ntfs-3g UUID=xxxxxxxxxxxxxxxx /xxxxx
mount -o iocharset=cp936 -t ntfs-3g UUID=xxxxxxxxxxxxxxxx /xxxxx
mount -o iocharset=cp936 -t ntfs-3g UUID=xxxxxxxxxxxxxxxx /xxxxx
mount -o iocharset=cp936 -t ntfs-3g UUID=xxxxxxxxxxxxxxxx /xxxxx
通过这个脚本,可以方便地实现指定位置的挂载。不会因为重启或者其它原因,造成文件夹的混乱。
想想吧,下载进行到一半的时候,断电一次,系统重启后挂载位置和之前不一样了,那又得重头再来了不是?有了这个脚本,我的pogo再也不会出现这种事情了,哈哈!
接下来是runaria2+xunlei.sh的内容:
#!/bin/sh
aria2c --conf-path=/home/pogoplug/aria2/aria2.conf -D
/home/pogoplug/xunlei/portal
4.提醒
这个是专门提醒我自己的:
1. 用aria2之前先关闭浏览器的ss插件;
2. pogo重启的时候不要打开里面的文件或者文件夹,会影响硬盘的挂载。
因为alpha上面的两个常用浏览器都默认开启了ss代理,会跳过局域网。粗心的我总以为是aria2或是开机脚本出问题了,所以专门把这两条放在这里,给自己提个醒,不要被自己的粗心折腾了。
嗯,就这样。
可爱的狗狗2019-12-17,更新后,samba的两个服务改名为nmb和smb,相应命令中注意更改。
网友评论