ProxmoxVE 7.4 更新软件包数据库失败解办法和出现TASK ERROR: command ‘apt-get update’ failed: exit code 100的解决方法
出现这个错误一般在WEB或者在Proxmox VE的服务器上面能看到日志:
完美解决 ProXmoX VE升级 apt-get update 报错的问题
因为用到的是免费版开源的,所以没有付费订阅,需要修改文件注释掉付费企业版订阅
删除 Proxmox 企业版更新源
Proxmox VE 企业版软件源是默认的、稳定的、推荐使用的软件源,供订阅了 Proxmox VE 企业版的用户使用。该软件源包含了最稳定的软件包,适用于生产环境使用。软件源 pve-enterprise 默认是启用的,一旦有软件包有新的升级,root@pam 用户就会收到有关新软件包的电子邮件通知。在 GUI 界面,可以查看每个软件包的变更历史(如果有的话),其中有升级的每个细节。所以订阅了 Proxmox VE 企业版的用户永远不会错过重要的安全补丁。
Proxmox VE 企业版必须提供订阅密钥才可以访问企业版软件源。Proxmox VE 系统服务商提供有不同级别的订阅服务,具体信息可以查看网址 http://www.proxmox.com/en/proxmox-ve/pricing,如果你没有订阅 Proxmox VE 企业版,可以将企业版软件源配置信息在软件源配置文件中注释掉(在该行开头插入一个 # 字符),以避免系统发出错误提示信息。这种情况下可以配置使用 pve-no-subscriptin 软件源。
因为没有订阅 Proxmox VE 企业版服务,所以这里对Proxmox VE 企业版更新源进行注释操作。
在PVE中出现 TASK ERROR: command 'apt-get update' failed: exit code 100 这个错误提示是由于企业版软件源需要付费才可以访问,免费版实际上应该是使用最多的版本。
未订阅用户如果需要更新Proxmox可以使用Proxmox VE无订阅存储库。
Proxmox VE无订阅存储库,pve-no-subscription回购可用于测试和非生产使用。 它不推荐在生产服务器上运行,因为这些软件包并不总是经过严格测试和验证。 顾名思义,没有Proxmox VE订阅密钥需要访问此存储库。
2018.2.6更新:根据研究群里大佬的提醒,Proxmox VE从5.x之后的版本已经是 stretch 了,源还用jessie肯定会失败的,所以本文根据官方wiki文档做了修改,请仔细阅读。
修改 /etc/apt/sources.list.d/pve-install-repo.list (默认的,无订阅储存库)
# proxmox source
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
修改 /etc/apt/sources.list 替换成中科大或者阿里免费订阅源
deb http://mirrors.ustc.edu.cn/debian bullseye main contrib non-free deb http://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free deb http://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib non-free
或者阿里的:
# debian aliyun source
deb https://mirrors.aliyun.com/debian buster main contrib non-free deb https://mirrors.aliyun.com/debian buster-updates main contrib non-free deb https://mirrors.aliyun.com/debian-security buster/updates main contrib non-free
禁用官方的收费服务器:
修改 /etc/apt/sources.list.d/pve-enterprise.list
deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
在这一句代码前加个#号注释掉即可。改为以下内容
# deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
【具体操作:
修改文件/etc/apt/sources.list.d/pve-enterprise.list:
vim /etc/apt/sources.list.d/pve-enterprise.list
注释掉#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
root@kvm1: /etc/apt/sources.list.d# vim pve-enterprise.list #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
也可以直接删除掉
rm -f /etc/apt/sources.list.d/pve-enterprise.list
配置好后应该是这样:
附:Proxmox ve关闭登录时的未订阅弹窗
在5.1版本验证通过提醒:升级到5.1-46版本后,官方已经更改了弹窗JS路径。
根据博友uouuou的摸索后发现,Proxmox ve官方在5.1-46版本之后已经更改了弹窗JS路径。
区别在第一步备份及所编辑的JS路径不同
下面提供两种不同版本的解决方案,请根据自己的版本选择对应的操作。
1、备份原始文件
5.1-46版本之前操作如下
root@pve:~# cd /usr/share/pve-manager/js
root@pve:/usr/share/pve-manager/js# cp pvemanagerlib.js pvemanagerlib.jsbak
root@pve:/usr/share/pve-manager/js# vi pvemanagerlib.js
5.1-46版本之后操作如下
root@pve:~# cd /usr/share/javascript/proxmox-widget-toolkit
root@pve:/usr/share/javascript/proxmox-widget-toolkit# cp proxmoxlib.js proxmoxlib.jsbak
root@pve:/usr/share/javascript/proxmox-widget-toolkit# vi proxmoxlib.js
2、找到这一行(5.1 3rd release在第850行,5.1-49在第352行。版本不一样可能对应的位置不一样,建议自己搜索):
if (data.status !== 'Active') {
3、修改为
if (false) {
或者在终端执行下面这行命令
root@pve:~# sed -i "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
现在登录就再也没有烦人的弹窗了!
最新7.X吧版本请执行如下操作:
每次登陆都出现”没有有效订阅“的提示。参照油管上的视频教程,找到了解决办法。
去除Proxmox VE登陆时“无有效的订阅”提示_PVE 去除订阅提示
解决方法:
修改文件/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
在shell环境使用VIM来修改(先安装VIM工具。安装命令:apt install vim),修改之前记得先备份一下原文件。
root@kvm2:cd /usr/share/javascript/proxmox-widget-toolkit 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
找到以下字段 :
Ext.Msg.show({ title: gettext('No valid subscription'),
修改为:
void({ title: gettext('No valid subscription'),
也可以使用 WinScp或 FinalsShell工具来进行修改。修改完成以后,重启PVE,或直接运行以下命令,重启一下代理服务:
systemctl restart pveproxy.service
然后退出登录,刷新一下浏览器再重新进入,“没有有效订阅‘提示就没有了。
-----------------------------------
Ceph源修改
编辑修改 /etc/apt/sources.list.d/ceph.list Ceph软件包仓库位置的配置文件 root@pve:~# nano /etc/apt/sources.list.d/ceph.list 修改为: ## deb http://download.proxmox.com/debian/ceph-nautilus buster main deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-nautilus buster main
之后就可以正常使用
apt update && apt dist-upgrade
升级完成后,可以执行pveversion -v查看下最新的软件版本。然后执行reboot重启物理服务器
执行更新源
最后执行 apt update #更新源
apt update
注:下面命令请根据自己情况选择执行
#如需升级pve,则执行该命令
apt update && apt dist-upgrade -y
发表评论