HiNAS海纳思使用和修改

定制部分
删除web界面的浮窗

有个学开发linux的浮窗比较烦人

编辑 /var/www/html/index.html 找到并删除 关闭

<div class="adleft">
<button onclick="">关闭</button>
<a href="https://www.ecoo.top/gonggao.html" target="_blank"><img src="https://www.ecoo.top/hongbao.jpg" width="141px" height="203px" border="1" /></a>
</div>

修改欢迎界面

欢迎界面会清除系统自带的登录输出, 如果想将其融合到系统自带的登录输出中, 可以做如下修改

删除 /etc/profile.d/ 下面的两个文件

在 /etc/update-motd.d/ 目录下, 创建文件 60-welcome, 并将其 chmod +x 设置为可执行

文件内容如下, 如果不合适可以自己改

!/bin/sh

#
IP=$(ifconfig eth0 | grep ‘\’| grep -v ‘127.0.0.1’ | awk ‘{print $2}’ | awk ‘NR==1’) DEVICE=$(dmesg 2> /dev/null | grep “CPU: hi3798” | awk -F ‘:[ ]’ ‘/CPU/{printf ($2)}’)
[ ! “$DEVICE” ] && DEVICE=$(head -n 1 /etc/regname 2> /null)
mac_now=$(ifconfig eth0 |grep “ether”| awk ‘{print $2}’)
echo “\e[33m
_ _ / / / / / _ / / _
/ / / / _ \/ / / / _ \/ / / / / / // / // / // / / / / // // / _/.__/__,// //_/__,_/
\e[0m

Board : ${DEVICE}
Module : $(egrep -oa “hi3798.+reg” /dev/mmcblk0p1| cut -d ‘_’ -f1 | sort | uniq | tr “\n” “,”)
CPU : $(cat -v /proc/device-tree/compatible |sed ‘s/\^@//g’) @$(cat /proc/cpuinfo | grep “processor” | sort | uniq | wc -l) Cores | $(uname -p)
Version : $(awk -F ‘[= “]’ ‘/PRETTY_NAME/{print $3,$4,$5}’ /etc/os-release) | V$(cat /etc/nasversion)-$(uname -r)-$(getconf LONG_BIT)
Storage : $(df -m / | grep -v File | awk ‘{a=$4100/$2;b=$4} {printf(“%.1f%s %.1fM\n”,a,”%”,b)}’) Memory : $(free -m | grep Mem | awk ‘{a=$7100/$2;b=$7} {printf(“%.1f%s %.1fM\n”,a,”%”,b)}’) | Swap:$(free -m | grep Swap | awk ‘{a=$4*100/$2;b=$4} {printf(“%.1f%s %.1fM\n”,a,”%”,b)}’)
StartAt : $(awk ‘{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60;d=($1%60)} {printf(“%d Day %d Hour %d Minute %d Second\n”,a,b,c,d)}’ /proc/uptime)
IP Addr : $IP
Temper. : $(grep Tsensor /proc/msp/pm_cpu | awk ‘{print $4}’)°C
MAC Add : $mac_now

alias reload=’. /etc/profile’
alias cls=’clear’
alias syslog=’cat /var/log/syslog’
alias unmount=’umount -l’
alias reg=”egrep -oa ‘hi3798.+’ /dev/mmcblk0p1 | awk ‘{print $1}'”

!/bin/sh

#
IP=$(ifconfig eth0 | grep ‘\’| grep -v ‘127.0.0.1’ | awk ‘{print $2}’ | awk ‘NR==1’) DEVICE=$(dmesg 2> /dev/null | grep “CPU: hi3798” | awk -F ‘:[ ]’ ‘/CPU/{printf ($2)}’)
[ ! “$DEVICE” ] && DEVICE=$(head -n 1 /etc/regname 2> /null)
mac_now=$(ifconfig eth0 |grep “ether”| awk ‘{print $2}’)
echo “\e[33m
_ _ / / / / / _ / / _
/ / / / _ \/ / / / _ \/ / / / / / // / // / // / / / / // // / _/.__/__,// //_/__,_/
\e[0m

Board : ${DEVICE}
Module : $(egrep -oa “hi3798.+reg” /dev/mmcblk0p1| cut -d ‘_’ -f1 | sort | uniq | tr “\n” “,”)
CPU : $(cat -v /proc/device-tree/compatible |sed ‘s/\^@//g’) @$(cat /proc/cpuinfo | grep “processor” | sort | uniq | wc -l) Cores | $(uname -p)
Version : $(awk -F ‘[= “]’ ‘/PRETTY_NAME/{print $3,$4,$5}’ /etc/os-release) | V$(cat /etc/nasversion)-$(uname -r)-$(getconf LONG_BIT)
Storage : $(df -m / | grep -v File | awk ‘{a=$4100/$2;b=$4} {printf(“%.1f%s %.1fM\n”,a,”%”,b)}’) Memory : $(free -m | grep Mem | awk ‘{a=$7100/$2;b=$7} {printf(“%.1f%s %.1fM\n”,a,”%”,b)}’) | Swap:$(free -m | grep Swap | awk ‘{a=$4*100/$2;b=$4} {printf(“%.1f%s %.1fM\n”,a,”%”,b)}’)
StartAt : $(awk ‘{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60;d=($1%60)} {printf(“%d Day %d Hour %d Minute %d Second\n”,a,b,c,d)}’ /proc/uptime)
IP Addr : $IP
Temper. : $(grep Tsensor /proc/msp/pm_cpu | awk ‘{print $4}’)°C
MAC Add : $mac_now

alias reload=’. /etc/profile’
alias cls=’clear’
alias syslog=’cat /var/log/syslog’
alias unmount=’umount -l’
alias reg=”egrep -oa ‘hi3798.+’ /dev/mmcblk0p1 | awk ‘{print $1}'”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

删除,禁用 swap

在这个小设备上开启swap意义不大, 即使在内存溢出的情况, 也不希望增加eMMC的写入.

编辑 /etc/init.d/system-init.sh
删除或注释掉以下内容

if [ ! -f /swapfile ]
then
{
dd if=/dev/zero of=/swapfile bs=1M count=512
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
} &
fi
grep -q ‘/swapfile’ /etc/fstab || echo “/swapfile swap swap defaults,nofail 0 0” >> /etc/fstab

1
2
3
4
5
6
7
8
9
10

编辑 /etc/fstab
删除以下内容

/swapfile swap swap defaults,nofail 0 0

1

关闭swap

swapoff -a

1

删除swap文件

rm /swapfile

1

配置 Aria2

假设硬盘已经挂载到 /mnt/sda1, 所以在配置中, 将路径都配置到 /mnt/sda1 下

修改配置文件 /usr/local/aria2/aria2.conf

dir=/mnt/sda1/downloads
disk-cache=16M

input-file=/mnt/sda1/usr/aria2/aria2.session
save-session=/mnt/sda1/usr/aria2/aria2.session

dht-file-path=/mnt/sda1/usr/aria2/dht.dat
dht-file-path6=/mnt/sda1/usr/aria2/dht6.dat

1
2
3
4
5
6
7
8

需要手动创建一个空文件 /mnt/sda1/usr/aria2/aria2.session, 否则 aria2 会启动失败.

重启 aria2 使其生效
配置 Transmission

配置文件在 /etc/transmission-daemon/settings.json

将下载目录修改为硬盘下的目录

“download-dir”: “/mnt/sda1/transmission-downloads”,

1

启用 incomplete 目录

“incomplete-dir”: “/mnt/sda1/tmp”,
“incomplete-dir-enabled”: true,

1
2

修改前必须停止 transmission, 否则修改不会生效, 在transmission退出时会被原配置覆盖.
配置 Samba

配置文件在 /etc/samba/smb.conf

增加一个只读的 public 目录, 设为硬盘所在路径, 用于局域网内共享

[public]
comment = public anonymous access
path = /mnt/sda1/
browsable =yes
create mask = 0600
directory mask = 0700
writable = no
guest ok = yes

1
2
3
4
5
6
7
8

遇到的问题
散热

如果长时间运行, 放底座上竖起来, 如果没有底座, 带条码这面尽量朝上放.

这个盒子设计时, 是假设直立放置在底座上工作的, 所以散热安排在其中带条码标签那面的盖板上, CPU的热量直接传到盖板上的一块金属散热片, 再通过盖板散发出去. 但是实际的使用环境, 很可能就是一个狭小的空间, 并不太可能都有底座. 这时候条码那面如果朝下, 就会导致没法散热. 如果上面还放了硬盘, 就会热上加热. 所以带条码标签的那边不要朝下放置, 除非下方是金属面, 散热很好.
盒子供电能力不足

这是没有意料到的一点. 这个盒子不是所有的2.5寸硬盘都能带起来.

2.5寸SATA机械盘HDD的电流要求一般为0.5A, 盒子带动机械盘没什么问题. 但是对于电流要求在 0.9A 以上的 SSD 固态, 就可能会有问题. 经过测试, 可以带动所有 320G 以下的硬盘, 大部分 500GB 以下的固态, 对于 1TB 以上的固态就不一定, 尤其是电流要求为 1.7A 的镁光系列SSD固态, 无法识别, 无法初始化, 或者即使能初始化, 在读写过程中也很可能报错重置. 测试过的 闪迪ECO 1.92T 可以识别, 工作不稳定, 镁光1100 2T 不识别.
系统负载一直为7.x

这个是内核的问题, 内核中一直存在多个 HI_ 开头的进程, 怀疑与多媒体编解码以及加解密有关. 尚未找到关闭的方法.

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/michaelchain/article/details/132134882

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注