ProxmoxVE 7.4 更新软件包数据库失败解办法 完美解决 ProXmoX VE升级 apt-get update 报错的问题

原创 淹不死的狗  2023-09-21 21:42:30  阅读 597 次 评论 0 条
摘要:

Proxmox VE 中出现 TASK ERROR: command 'apt-get update' failed: exit code 100 的解决方法

ProxmoxVE 7.4 更新软件包数据库失败解办法和出现TASK ERROR: command ‘apt-get update’ failed: exit code 100的解决方法

出现这个错误一般在WEB或者在Proxmox VE服务器上面能看到日志:

ProxmoxVE 7.4 更新软件包数据库失败解办法 完美解决 ProXmoX VE升级 apt-get update 报错的问题 操作系统 第1张

完美解决 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

配置好后应该是这样:

ProxmoxVE 7.4 更新软件包数据库失败解办法 完美解决 ProXmoX VE升级 apt-get update 报错的问题 操作系统 第2张

附:Proxmox ve关闭登录时的未订阅弹窗

ProxmoxVE 7.4 更新软件包数据库失败解办法 完美解决 ProXmoX VE升级 apt-get update 报错的问题 操作系统 第3张

在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


本文地址:https://tugouli.exiu.org/3637.html
版权声明:本文为原创文章,版权归 淹不死的狗 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?