收起左侧

1Panel 升级至1.10.26

0
回复
43
查看
[ 复制链接 ]

0

主题

0

回帖

0

牛值

江湖小虾

由于目前官方商店中的版本是 1.10.18 这个版本的发布时间是24年9月29日,距今快1年了,于是研究如何更新版本,前面已经有很多大佬提供了一些方案,比如像添加 1panel.service 文件,这种升级方式其实和独立安装没有区别,那下面简单介绍下如何升级到 1.10.261.0.27 不知道什么原因不行,研究了1天便放弃了。虽然26版本距离发布(25年2月26日)也有大半年了

准备工作

第零步:能力确认

首先必须要确认自己有动手能力,会使用ssh命令,或者可以找得到人帮助,否则升级失败只能卸载重新安装,导致数据丢失严重的后果!!!

第一步:查找1Panel的安装目录
  1. 通过查找1Panel的位置(可选)

    whereis 1panel
    

    image.png

    结果类似上图,有2处记录,任意选择一个即可,这一步可选,理论上应该都是这两个结果,如果在这2处没有找到,在使用命令确认

  2. 用1Panel 在文件菜单中查找 /usr/local/bin 目录

    1757825401011.png

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

    image.png

    有我框起来的3个文件就可以了

第二步:备份文件 很重要!!!!
  1. 将1panel文件 复制一份为 1panel.bak
  2. 将 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

下载完成后,解压压缩包备用

image.png

升级!

  1. 将解压包中 1panel 上传到 /vol{n}/@appcenter/1Panel/bin

  2. 将解压包中的 lang 目录上传到 /vol{n}/@appcenter/1Panel/bin 中,否则无法启动

  3. 修改 /vol{n}/@appcenter/1Panel/bin 中的 1pctl 文件内容
    注意:下面标保持的不要动!!看完说明在做修改

    • LANGUAGE: 可以设置 zh en fa pt-BR ru
    • EXEC_PATH: 请确认以前的执行路径!可以通用查看 user-info 方法中使用的值确定 替换中这个值
      image.png
    • 1pctl_kill 方法不要动!!
    • 其他的可以复制下面模板中的内容

    image.png

    #!/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
    
  4. 回到飞牛面板中,对1panel 先 停用然后在点击 启用 完成重启!

    image.png

验证升级

说明:升级后版本号不会变,原因未知,有大佬知道如何修改可以留言

重启1Panel 后,可以查看菜单栏是否多了 AI 功能,或者对照 1Panel的版本更新说明查看对应的功能有没有存在

image.png

失败回滚

如果在飞牛面板点击 启用后,大约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的方式吧 🤝

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则