由于目前官方商店中的版本是 1.10.18
这个版本的发布时间是24年9月29日,距今快1年了,于是研究如何更新版本,前面已经有很多大佬提供了一些方案,比如像添加 1panel.service
文件,这种升级方式其实和独立安装没有区别,那下面简单介绍下如何升级到 1.10.26
,1.0.27
不知道什么原因不行,研究了1天便放弃了。虽然26版本距离发布(25年2月26日)也有大半年了
准备工作
第零步:能力确认
首先必须要确认自己有动手能力,会使用ssh命令,或者可以找得到人帮助,否则升级失败只能卸载重新安装,导致数据丢失严重的后果!!!
第一步:查找1Panel的安装目录
-
通过查找1Panel的位置(可选)
whereis 1panel

结果类似上图,有2处记录,任意选择一个即可,这一步可选,理论上应该都是这两个结果,如果在这2处没有找到,在使用命令确认
-
用1Panel 在文件菜单中查找 /usr/local/bin
目录

可以看到1Panel实际的路径,切换到目录(/vol{n}/@appcenter/1Panel/bin) 注意是到 bin ,根据自己的实际路径来!

有我框起来的3个文件就可以了
第二步:备份文件 很重要!!!!
- 将1panel文件 复制一份为 1panel.bak
- 将 1pctl 复制一份为 1pctl.bak
第三步:下载 1.10.26
离线升级包
所有版本地址: https://community.fit2cloud.com/#/products/1panel/downloads
1.10.26 下载地址: https://community.fit2cloud.com/#/download/1panel/v1-10-26-lts
下载完成后,解压压缩包备用

升级!
-
将解压包中 1panel 上传到 /vol{n}/@appcenter/1Panel/bin 中
-
将解压包中的 lang 目录上传到 /vol{n}/@appcenter/1Panel/bin 中,否则无法启动
-
修改 /vol{n}/@appcenter/1Panel/bin 中的 1pctl 文件内容
注意:下面标保持的不要动!!看完说明在做修改
- LANGUAGE: 可以设置
zh
en
fa
pt-BR
ru
- EXEC_PATH: 请确认以前的执行路径!可以通用查看
user-info
方法中使用的值确定 替换中这个值

1pctl_kill
方法不要动!!
- 其他的可以复制下面模板中的内容

#!/bin/bash
action=$1
target=$2
args=$@
BASE_DIR=保持
ORIGINAL_PORT=保持
ORIGINAL_VERSION=v1.10.26-lts
ORIGINAL_ENTRANCE=保持
ORIGINAL_USERNAME=保持
ORIGINAL_PASSWORD=保持
LANGUAGE=zh
EXEC_PATH=/var/apps/1Panel/target/bin/1panel
if [ -f "/usr/local/bin/lang/$LANGUAGE.sh" ]; then
source "/usr/local/bin/lang/$LANGUAGE.sh"
else
LANGUAGE=zh
fi
function usage() {
echo "$PANEL_CONTROL_SCRIPT"
echo
echo "Usage: "
echo " ./1pctl [COMMAND] [ARGS...]"
echo " ./1pctl --help"
echo
echo "Commands: "
echo " status $TXT_PANEL_SERVICE_STATUS"
echo " start $TXT_PANEL_SERVICE_START"
echo " stop $TXT_PANEL_SERVICE_STOP"
echo " restart $TXT_PANEL_SERVICE_RESTART"
echo " uninstall $TXT_PANEL_SERVICE_UNINSTALL"
echo " user-info $TXT_PANEL_SERVICE_USER_INFO"
echo " listen-ip $TXT_PANEL_SERVICE_LISTEN_IP"
echo " version $TXT_PANEL_SERVICE_VERSION"
echo " update $TXT_PANEL_SERVICE_UPDATE"
echo " reset $TXT_PANEL_SERVICE_RESET"
echo " restore $TXT_PANEL_SERVICE_RESTORE"
}
function 1pctl_kill() {
PID=$(cat /var/apps/1Panel/var/1Panel.pid)
if [[ $PID -gt 0 ]]; then
kill -9 $PID
fi
}
function status() {
echo “版本不支持该指令”
}
function start() {
echo “版本不支持该指令”
}
function restart() {
echo “版本不支持该指令”
}
function stop() {
echo “版本不支持该指令”
}
function uninstall() {
echo “版本不支持该指令”
}
function user-info() {
"$EXEC_PATH" -l $LANGUAGE user-info
}
function listen-ip() {
case "${target}" in
ipv4)
"$EXEC_PATH" -l $LANGUAGE listen-ip ipv4
1pctl_kill
;;
ipv6)
"$EXEC_PATH" -l $LANGUAGE listen-ip ipv6
1pctl_kill
;;
*)
"$EXEC_PATH" -l $LANGUAGE listen-ip
;;
esac
}
function restore() {
read -p "$TXT_PANEL_SERVICE_RESTORE_NOTICE : " yn
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo -e ""
"$EXEC_PATH" restore
1pctl_kill
echo -e ""
"$EXEC_PATH" version
else
exit 0
fi
}
function version() {
"$EXEC_PATH" version
}
function reset() {
case "${target}" in
domain)
"$EXEC_PATH" -l $LANGUAGE reset domain
;;
entrance)
"$EXEC_PATH" -l $LANGUAGE reset entrance
;;
https)
"$EXEC_PATH" -l $LANGUAGE reset https
1pctl_kill
;;
ips)
"$EXEC_PATH" -l $LANGUAGE reset ips
;;
mfa)
"$EXEC_PATH" -l $LANGUAGE reset mfa
;;
*)
"$EXEC_PATH" -l $LANGUAGE reset
;;
esac
}
function update() {
case "${target}" in
username)
"$EXEC_PATH" -l $LANGUAGE update username
;;
password)
"$EXEC_PATH" -l $LANGUAGE update password
;;
port)
echo “版本不支持该指令”
;;
*)
"$EXEC_PATH" -l $LANGUAGE update
;;
esac
}
function main() {
case "${action}" in
status)
status
;;
start)
start
;;
stop)
stop
;;
restart)
restart
;;
restore)
restore
;;
uninstall)
uninstall
;;
user-info)
user-info
;;
listen-ip)
listen-ip
;;
version)
version
;;
reset)
reset
;;
update)
update
;;
help)
usage
;;
--help)
usage
;;
"")
usage
;;
*)
echo "$TXT_PANEL_SERVICE_UNSUPPORTED_PARAMETER"
;;
esac
}
main
-
回到飞牛面板中,对1panel 先 停用
然后在点击 启用
完成重启!

验证升级
说明:升级后版本号不会变,原因未知,有大佬知道如何修改可以留言
重启1Panel 后,可以查看菜单栏是否多了 AI 功能,或者对照 1Panel的版本更新说明查看对应的功能有没有存在

失败回滚
如果在飞牛面板点击 启用
后,大约10s 打开
按钮又变成了 启用
,则说明升级失败,可以访问 1Panel面板确认,确实是失败,需要进行回滚操作,此次必须要使用命令行操作了
通过ssh远程连接到飞牛nas
进入到前面提到的1panel 安装目录
cd /vol1/@appcenter/1Panel/bin
rm 1panel
rm 1pctl
mv 1panel.bak 1panel
mv 1pctl.bak 1pctl
操作完成后,重新 启用
1Panel
如果还失败,重启飞牛,还不行,emm 备份好1Panel 中的数据准备卸载重装吧
需要备份的目录 /vol2/@appdata/1Panel
这里的 vol2 是存储空间2 ,只有一个存储空间的就是 vol1
结束
🎉🎉 祝大家都能成功!🎊🎊
👉 最后还是希望官方能提供v1的更高版本和升级v2的方式吧 🤝