---
title: "如何升级 obproxy 到 obproxy-ce 3.2.3 | OceanBase 文档中心"
description: 如何升级 obproxy 到 obproxy-ce 3.2.3 由于开源 obproxy 组件正式更名为 obproxy-ce，因此使用以下命令升级会报 No such package obproxy-3.2.3 错误。 obd cluster upgrade &lt;deploy name&gt; -c obproxy -V …
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*Qq8pT6yBPTcAAAAAAAAAAAAADiGDAQ/original) 安装部署工具 OBDV 2.4.0 社区版

# 如何升级 obproxy 到 obproxy-ce 3.2.3

更新时间：2026-04-14 17:56:04

[编辑](https://github.com/oceanbase/obd-doc/edit/V2.4.0/zh-CN/500.faq/200.how-to-upgrade-obproxy-to-obproxy-ce-3.2.3.md)  

由于开源 obproxy 组件正式更名为 obproxy-ce，因此使用以下命令升级会报 `No such package obproxy-3.2.3` 错误。

```shell
obd cluster upgrade <deploy name> -c obproxy -V 3.2.3

```

您需在 OBD 的执行用户下执行下述 **脚本** 修改 meta 信息，而后使用以下命令对 ODP 进行升级。

```shell
obd cluster upgrade <deploy name> -c obproxy-ce -V 3.2.3

```

## 脚本

```shell
OBD_HOME=${OBD_HOME:-${HOME}}/.obd
obproxy_repository=${OBD_HOME}/repository/obproxy
obproxy_ce_repository=${OBD_HOME}/repository/obproxy-ce

function shadow_repo() {
    repository_path=$1
    ce_repository_path=$2
    [[ $repository_path =~ ^/  ]] && a=$repository_path || a=`pwd`/$repository_path
    while [ -h $a ]
    do
        b=`ls -ld $a|awk '{print $NF}'`
        c=`ls -ld $a|awk '{print $(NF-2)}'`
        [[ $real_patn =~ ^/ ]] && a=$b  || a=`dirname $c`/$b
    done
    instance_hash=`basename $a`
    ce_version_path=`dirname ${ce_repository_path}`
    ln -sf ${ce_version_path}/${instance_hash} ${ce_repository_path}
}

function copy_repository() {
    VS=(`ls $obproxy_repository`)
    for version in ${VS[@]}; do
        version_path="${obproxy_repository}/${version}"
        ce_version_path="${obproxy_ce_repository}/${version}"
        repositories=(`ls $version_path`)
        mkdir -p $ce_version_path
        for repository in ${repositories[@]}; do
            repository_path="${version_path}/${repository}"
            ce_repository_path="${ce_version_path}/${repository}"
            if [ -d "$ce_repository_path" ];
            then
                echo "${ce_repository_path} exist"
            else
                if [ -L ${repository_path} ];
                then
                    shadow_repo ${repository_path} ${ce_repository_path}
                else
                    cp -r ${repository_path} ${ce_repository_path}
                fi
            fi
        done
    done
}

function change_cluster_meta() {
    cluster_home_path=${OBD_HOME}/cluster
    CS=(`ls ${cluster_home_path}`)
    for cluster in ${CS[@]}; do
        cluster_path=${cluster_home_path}/$cluster
        if [ -f ${cluster_path}/.data ]; then
            sed -i 's/^  obproxy:/  obproxy-ce:/g' ${cluster_path}/.data
        fi
        sed -i 's/^obproxy:/obproxy-ce:/' ${cluster_path}/*.yaml
    done
}

copy_repository && change_cluster_meta && echo 'ok'

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
