序言

Proxmox VE (PVE) 安装后,默认配置的软件源指向官方服务器。由于国内网络环境的原因,下载速度可能较慢,甚至连接失败。为了获得更好的使用体验,建议替换为国内的镜像源。


PVE 软件源更换

1. 移除企业版订阅源

Proxmox 默认启用了企业版软件源(Enterprise Repository),该源需要付费订阅才能使用。如果你没有订阅,更新时会报错。我们需要将其禁用或移除。

bash
# 或者直接删除该文件(推荐备份)
mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
mv /etc/apt/sources.list.d/ceph.list /etc/apt/sources.list.d/ceph.list.bak

2. 添加非订阅版源

我们可以使用国内镜像提供的非订阅版源(No-Subscription Repository)。

注意:部分精简版系统可能未预装 lsb_release 命令。如果执行报错,请先安装:apt-get install lsb-release,或者手动将 $(lsb_release -sc) 替换为你的系统代号(如 bookwormbullseye)。

bash
echo "deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve $(grep -Po '^VERSION_CODENAME=\K.*' /etc/os-release) pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
bash
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve $(grep -Po '^VERSION_CODENAME=\K.*' /etc/os-release) pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
bash
echo "deb https://mirrors.nju.edu.cn/proxmox/debian/pve $(grep -Po '^VERSION_CODENAME=\K.*' /etc/os-release) pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

Debian 基础源更换

PVE 是基于 Debian 构建的,因此还需要替换 Debian 的基础系统源。

bash
sed -i.bak -e 's#http://ftp.debian.org#https://mirrors.tuna.tsinghua.edu.cn#g' \
           -e 's#http://security.debian.org#https://mirrors.tuna.tsinghua.edu.cn/debian-security#g' \
           /etc/apt/sources.list
bash
sed -i.bak -e 's#http://ftp.debian.org#https://mirrors.ustc.edu.cn#g' \
           -e 's#http://security.debian.org#https://mirrors.ustc.edu.cn/debian-security#g' \
           /etc/apt/sources.list
bash
sed -i.bak -e 's#http://ftp.debian.org#https://mirrors.aliyun.com#g' \
           -e 's#http://security.debian.org#https://mirrors.aliyun.com/debian-security#g' \
           /etc/apt/sources.list
bash
sed -i.bak -e 's#http://ftp.debian.org#https://repo.huaweicloud.com#g' \
           -e 's#http://security.debian.org#https://repo.huaweicloud.com/debian-security#g' \
           /etc/apt/sources.list

CEPH 源更换

如果你在 PVE 中使用了 CEPH 存储,建议同步替换 CEPH 的源。通常 CEPH 源位于 /etc/apt/sources.list.d/ceph.list

注意:PVE 8 (Bookworm) 对应的 CEPH 版本通常为 quincyreef,而 PVE 7 (Bullseye) 对应 pacificquincy。以下命令以 PVE 8 (Bookworm) + CEPH Quincy 为例,请根据实际情况调整。

bash
# 请根据你的 CEPH 版本和系统代号进行调整
echo "deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/ceph-quincy $(grep -Po '^VERSION_CODENAME=\K.*' /etc/os-release) no-subscription" > /etc/apt/sources.list.d/ceph.list

sed -i.bak "s#http://download.proxmox.com#https://mirrors.tuna.tsinghua.edu.cn/proxmox#g" /usr/share/perl5/PVE/CLI/pveceph.pm
bash
# 替换 ceph.list 中的源地址
# 请根据你的 CEPH 版本(如 ceph-quincy, ceph-reef)进行调整
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy $(grep -Po '^VERSION_CODENAME=\K.*' /etc/os-release) no-subscription" > /etc/apt/sources.list.d/ceph.list

# 替换 pveceph 初始化工具中的下载地址(可选,用于 pveceph install 命令)
sed -i.bak "s#http://download.proxmox.com#https://mirrors.ustc.edu.cn/proxmox#g" /usr/share/perl5/PVE/CLI/pveceph.pm

LXC 容器模板源更换

PVE 的 LXC 容器模板下载器(APLInfo)也默认使用官方源。替换后可以加速 CT 模板的下载。

bash
sed -i.bak 's#http://download.proxmox.com#https://mirrors.tuna.tsinghua.edu.cn/proxmox#g' /usr/share/perl5/PVE/APLInfo.pm
bash
sed -i.bak 's#http://download.proxmox.com#https://mirrors.ustc.edu.cn/proxmox#g' /usr/share/perl5/PVE/APLInfo.pm
bash
sed -i.bak "s#http://download.proxmox.com#https://mirrors.nju.edu.cn/proxmox#g" /usr/share/perl5/PVE/APLInfo.pm

应用更改

完成上述修改后,必须更新缓存并重启 PVE 的后台服务以使更改生效。

bash
# 更新 apt 缓存
apt update

# 重启 pvedaemon 服务 (无需重启系统)
systemctl restart pvedaemon

apt update 运行无报错且速度明显提升,则说明换源成功。

//posts/pve/Proxmox(PVE)_换源.html