Linux 宝塔面板魔改记录 去除版本更新 服务器安装宝塔后,好几次更新版本,我觉得软件业务稳定后的更新都是不重要的了,大多都是商业性的了,如下小节,直接关闭更新:
定位到目录/www/server/panel/class
,打开代码文件ajax.py
;
CTRL + F 搜索函数UpdatePanel
,注释函数内的操作即可;
另外,上级目录的task.py
中的函数中的update_panel
也可注释;
既然如此,那么也可注释tools.py
下对于命令行输入选项u_input == 16
的修复代码;
这样修改后,每次进入宝塔控制台都会报错,也要把index.js
检查更新的代码注释:
去除首页推广 最新的宝塔版本中,软件首页软件推荐 很不清爽,于是想去除掉,直接还是老办法,注释代码:
定位到/www/server/panel/class/ajax.py
;
CTRL + F 搜索函数__get_home_list
,注释函数体;
横幅广告推广,定位 /www/server/panel/BTPanel/static/js/index.js
,搜索关键字 recommend_paid_version
,将 try...catch
内部代码删除;
其次还有一个邀请推荐 ,定位到/www/server/panel/BTPanel/templates/default
下的index.html
,删除以下代码:
1 2 3 4 5 {% if data['pd'].find('免费版') != -1 %} <span id ="bt-fuli" class ="bt-dashi" > <a class ="btlink ml5" href ="https://www.bt.cn/invite" target ="_blank" > 邀请奖励</a > </span > {% endif %}
主面板添加电池信息 旧手机作为服务器,我觉得添加一个电池信息很有必要,可以查看当前电量,设计电量,实际电量,是否正在充电等,首先需要定位首页信息的获取方法,大抵是在/www/server/panel/class
的system.py
内;
添加一个获取电池信息的方法,简单直接地获取:smile::
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 def GetPowerInfo (self,get=None ): powerInfo = {} capacity = public.ExecShell('cat /sys/class/power_supply/battery/capacity' )[0 ].strip() charge = public.ExecShell('cat /sys/class/power_supply/battery/status' )[0 ].strip() current = public.ExecShell('cat /sys/class/power_supply/battery/current_now' )[0 ].strip() voltage = public.ExecShell('cat /sys/class/power_supply/battery/voltage_now' )[0 ].strip() charge_full = public.ExecShell('cat /sys/class/power_supply/battery/charge_full' )[0 ].strip() powerInfo['voltage' ] = round (int (voltage) / 1000000 , 2 ) powerInfo['current' ] = round (int (current) / 1000 ) powerInfo['capacity' ] = int (capacity) powerInfo['full' ] = int (charge_full) / 1000 if (charge == "Discharging" ): powerInfo['status' ] = False else : powerInfo['status' ] = True return powerInfo
之后在主页面一直调用的函数内GetNetWork
添加数据:
1 networkInfo['power' ] = self .GetPowerInfo()
接着就是前端页面,其实我觉得这个电池信息一直和宝塔原来地几个检测表不合式,因为电池容量按理来说是越低越糟糕会变成颜色会变红,而原有地CPU、内存、网络都是越多才显红,哎,别管那么多,能看着就行了;
依照其他的图表,添加一个电池电量的,id 设为 powChart:
1 2 3 4 5 6 7 <li class ="rank col-xs-6 col-sm-3 col-md-3 col-lg-2 mtb20 circle-box text-center" > <div class ="titles" > 电池电量</div > <div id ="powChart" class ="chart-li" > <div class ="outerCircle" > <div class ="innerCircle" > 0%</div > </div > </div > <div id ="pow" class ="info-status" > 获取中...</div > </li >
修改的地方太多,照着其他几个表来就行了,我给出我修改的几个重点:
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 32 33 34 35 36 37 38 39 40 41 this .chart_view ['pow' ] = echarts.init (document .querySelector ("#powChart" ))this .chart_active ("pow" )case 'pow' :val = ((this .chart_result .power .full * this .chart_result .power .capacity ) / 100 ).toFixed (0 ) + " / " + this .chart_result .power .full + "(mAH)" break ;var powCount = res.power .capacity var powInfo = _this.chart_color_active (powCount);$('#powChart' ).hover (function ( ) { var power = rdata.power , texts = '' ; texts += "<strong>状态</strong></br>正在" + (power.status ? '充电' : "放电" ) texts += "</br><strong>容量信息</strong></br>" texts += "设计电量:" + power.full + " mAH</br>" texts += "当前电量:" + power.current + " mAH</br>" texts += "当前电流:" + (power.status ? '' : '-' ) + power.current + " mA</br>" texts += "当前电压:" + power.voltage + " V</br>" layer.tips (texts, this , { time : 0 , tips : [1 , '#999' ] }); }, function ( ) { layer.closeAll ('tips' ); }) power_color_active : function (number ) { var activeInfo = {}; if (number >= 85 ) { activeInfo = JSON .parse (JSON .stringify (this .load_config [1 ])); } else if (number <= 30 ) { activeInfo = JSON .parse (JSON .stringify (this .load_config [0 ])); } else { activeInfo = JSON .parse (JSON .stringify (this .load_config [2 ])); } activeInfo.val = number; return activeInfo; }
宝塔挂载 SD 卡 本来这个内容应该是 Linux Deploy 的内容,也就是上一篇博客的相关,但是想想还是放在这里来吧;
由于旧手机是 32G 的存储空间,实际容量也就 20 几个 G 部署了几个项目以后,存储空间竟然快见底了,于是翻箱倒柜找出一张大容量 SD 卡出来,插入了旧手机,旧手机就是旧手机,还能如此先进地支持扩展存储;
首先,需要对 SD 卡进行格式化,选择 ext4
,之后打开 shell,查看 SD 卡,容量大致对得上那个就是我们的 SD 卡了:
我这里的是mmcblk1
,对于的路径也就是/dev/block/mmcblk1
,之后我们打开 Linux Deploy,进去到【挂载安卓资源】,新增一个挂载点,将/dev/block/mmcblk1
挂载到容器内任意一个路径下,我选择的是根目录的/sdcard
,到这重新配置一下 Linux Deploy,重启就OK了。
当然,更简单的方法是,先把 SD 卡挂载到安卓这边,然后通过安卓系统中的路径,在 Linux Deploy 中进行挂载,但是,我通常会关闭安卓系统。
常用命令
关闭安全入口:rm -f /www/server/panel/data/admin_path.pl
其他问题 宝塔内安装 nginx 时报错,日志提示缺少依赖:
1 $ apt-get install libxslt-dev libxml2-dev
命令行使用宝塔指令无效,宝塔假死:
1 2 3 mv /etc/init.d/bt /tmp/bt_backcp /www/server/panel/init.sh /etc/init.d/bt && chmod +x /etc/init.d/bt/etc/init.d/bt restart