眼不见心不烦——PVE去除订阅授权无效提示
为了节省有限的磁盘空间,最近安装了PVE4.4,这玩意每次登陆都会有个蛋疼的提示(You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.),而且找了半天没找到有关的地方,然后去官网看了下订阅的价格,呵呵呵,我还是自己想办法吧……

对于一个网页,要明白它到底发生了什么,那当然是直接F12怼一波,看了下控制台发现有个pvemanagerlib.js,看看名字就觉得很像是这玩意在搞事啊,右击在新页面打开,看看内容,首先根据之前的提示文字来搜索

很好,找到目标,然后再次搜索noSubKeyHtml

一切顺利,找到了执行订阅检测的地方,现在简单了,直接改判断条件或者怼掉show操作都行,问题来了,这个文件在浏览器里又不能改,它到底在哪?
其实很简单,随便locate一下就找到了locate pvemanagerlib.js

找到文件路径后SSH登录执行下面命令:
sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/pve-manager/ext6/pvemanagerlib.js && systemctl restart pveproxy
然后注销重新登录,一切OK,世界清静
其他版本也是一样道理:
手动修改文件/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
修改之前记得先备份一下root@kvm2:/usr/share/javascript/proxmox-widget-toolkit# cp proxmoxlib.js proxmoxlib.js.bak
root@kvm2:/usr/share/javascript/proxmox-widget-toolkit# ls
proxmoxlib.js proxmoxlib.js.bak
root@kvm2:/usr/share/javascript/proxmox-widget-toolkit# vim proxmoxlib.js
然后找到if (data.status !== 'Active') {
修改为if (false) {
然后保存,重启网页服务systemctl restart pveproxy
然后CTRL+F5强制刷新网页,或清理一下浏览器的缓存就好了!
其实上面的步骤也可以理解为:将/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js文件中的data.status !== 'Active'替换为false。既然是这样,那么我们可直接使用SED命令来搞定:sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy
执行完成后,清理一下浏览器的缓存就可以了。