猫盘onespacex3p系统使⽤
前⾔
猫盘⽤了⼤概快⼀年了,主要的使⽤的功能以及最长⽤的功能就是samba服务,当做家庭的影⾳存储中⼼,其他的nas相关下载,同步等等功能⽤的极少。
故最终的需求就是,将猫盘做成⼀个纯净版的samba服务器,其他不常⽤的功能全部关闭掉。同时要能够使硬盘进⾏休眠,⼀个是减少不必要的噪⾳,机械硬盘的声⾳还是挺⼤的;⼆个是减少硬盘的消耗,没有数据读取的时候硬盘进⼊休眠状态。
使⽤猫盘原版系统发现是系统是⽆法休眠的,强制将硬盘进⼊休眠状态后,⼀段时间硬盘⼜会⾃⼰启动,推测应该是在跟猫盘的服务器同步信息,造成硬盘⽆法休眠。各种百度之后,都没到好的解决⽅案。剩下就⼀条路,刷机。刷成x3p系统,刷机过程在此不表。
最终效果展⽰
默认只开启samba服务。
为了偶尔⾮局域⽹操作,故添加了易有云服务组件,默认也是设置为关闭状态。
设置硬盘休眠
1、使⽤ssh登录到猫盘,采⽤root权限登录,默认为root,密码:Etech12。登录之后如果发现修改某些⽂件没有权限。可在要操作的⽬
录下执⾏如下命令。该问题也是百度了好久才到的解决办法。因为后⾯要调整哪些应⽤要默认开机启动,故需要修改系统的⽂件。
mount -o remount,rw /
2、通过浏览器登录到猫盘,在系统管理⾥将设置硬盘休眠时间。为了测试硬盘休眠效果,可以先将其设置为10分钟。
3、硬盘休眠相关操作命令
hdparm软件可以实现硬盘状态设置,状态查询
查看是否安装了hdparm,x3p系统是默认安装了
[root@onespace ~]# hdparm -V
hdparm v9.50
查看硬盘当前状态,如果是standby,则硬盘处于休眠状态
[root@onespace ~]# hdparm -C /dev/sda1
/dev/sda1:
drive state is: active/idle
让硬盘⽴刻进⼊休眠状态命令,此时如果查询硬盘状态,返回的应该是standby。休眠的时候硬盘只是停转,并不会断电,不会造成硬盘磁头频繁抬起放下,损伤硬盘。
[root@onespace ~]# hdparm -Y /dev/sda1
/dev/sda1:
issuing sleep command
设置硬盘⽆操作进⼊休眠的时间
[root@onespace ~]# hdparm -S 60 /dev/sda1
/dev/sda1:
setting standby to 60(5 minutes)
这个数值设置为0则关闭这个功能,设置为1⾄240时,时间将为5秒的倍数,即5秒⾄20分钟,设置为241⾄251时,时间将为30分钟的1-11倍,即30分钟到5.5⼩时,设置为252象征着21分钟,253为?(不懂),255即为21分15秒。
如果不想⽤x3p⾃带的设置⼯具,只需要写⼀个bash启动脚本,放到/etc/init.d/⽂件家中,⽂件名要以⼤写S开头,然后chmod +x 可执⾏权限,每次开机运⾏⼀次即可。
4、测试休眠
注意事项:关闭掉所有上传下载的任务,关闭掉ssh登录,断开电脑映射的samba⽂件夹。⼀定要关闭所有与猫盘有通信的任务。
10分钟后,可以听到硬盘噪⾳没了,⼿接触硬盘也没有了微⼩的震动感,则硬盘休眠成功。
添加易有云服务
1、app启动流程说明
经过分析系统⽂件夹,发现,系统所有的启动脚本都是放在/etc/init.d/⽬录下⾯
mysql下载app
系统⾸先会执⾏rcS⽂件,rcS⽂件会索引当前⽬录下以⼤写S开头的⽂件,然后⼀个⼀个执⾏。
以S88Shell为例
#!/bin/sh
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
case"$1"in
start)
pidof shellinaboxd
if[$? -eq 0];then
echo"Start Shell Abort, already running"
exit
fi
if[ -f /sata/.storage/appblock/shellinabox ];then
echo"Start ShellinAbox Abort, User Disabled"
exit
fi
shellinaboxd -b -t -s /:SSH:127.0.0.1
echo"done."
;;
stop)
killall shellinaboxd
i=0
while[1];do
pidof shellinaboxd
if[$? -ne 0 -o $i -gt 10];then
break
fi
echo"sleep 1, wait"
sleep1
((i++))
done
echo"done."
;;
restart)
$0 stop
$0 start
;;
*)
echo"Usage: /etc/init.d/S88shell {start|stop|restart}"
;;
esac
脚本⾥⾯定义了3个函数,sart,stop,restart。rcS脚本⾥⾯就是通过执⾏各个脚本的start函数来启动程序。
在start⽂件中会判断/sata/.storage/appblock/shellinabox 是否存在,如果存在,则脚本退出,不启动程序,如果不存在就启动。
说明启动脚本会根据shellinabox⽂件来启动shell程序。
通过分析⽂件夹名称也可以知道个⼤概,所有不需要开启⾃启的程序都会在appblock⽂件夹下⾯⽣成⼀个对应⽂件。那么问题来了,是什么程序来负责⽣成这些⽂件呢。
2、设置开机禁⽌运⾏服务
通过继续分析系统⽂件,发现了S23init脚本,init说明是在进⾏⼀些系统初始化操作。打开该⽂件
#!/bin/sh
if[ X$1="Xstop"];then
killall hd_fan.sh
exit
fi
#mount -o remount,rw /
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论