如何在不触发Ubuntu Pro状态异常的情况下代理ESM软件包?
如何在不触发Ubuntu Pro状态异常的情况下代理ESM软件包?
我之前也碰到过一模一样的问题——手动修改ESM的sources文件后,Ubuntu Pro直接把ESM服务标记为disabled了。原因其实很简单:pro客户端会定期校验ESM源地址的合法性,如果你手动改了官方预设的esm.ubuntu.com地址,它就会判定ESM配置被篡改,直接把服务状态切为disabled。
下面给你两个靠谱的解决方法,都是官方支持的路子,不会触发状态异常:
方法一:配置APT全局代理(推荐,最简单)
这个方法不需要改动任何ESM源文件,只让所有APT请求(包括ESM的)通过你的JFrog代理转发,pro客户端看到的还是官方源地址,自然不会乱标记状态。
- 创建APT代理配置文件:
sudo nano /etc/apt/apt.conf.d/00proxy - 写入你的JFrog代理地址(根据你的代理协议调整,比如HTTP或HTTPS):
# HTTP代理 Acquire::http::Proxy "http://your-jfrog-proxy-ip:port/"; # HTTPS代理 Acquire::https::Proxy "https://your-jfrog-proxy-ip:port/"; - 保存退出后,更新APT缓存测试:
sudo apt update - 最后检查Pro状态:
这时候ESM服务的状态应该会恢复正常,同时所有包请求都会走你的JFrog代理。pro status
方法二:通过Ubuntu Pro命令配置自定义ESM镜像
如果你确实需要直接替换ESM源地址为JFrog的地址,不要手动改文件,用pro命令的官方配置接口来设置,这样客户端会认可这个自定义地址,不会标记为disabled。
- 设置ESM Apps的自定义镜像:
sudo pro config set esm_apps_mirror https://your-jfrog-proxy/esm/apps/ubuntu - 设置ESM Infra的自定义镜像(如果需要的话):
sudo pro config set esm_infra_mirror https://your-jfrog-proxy/esm/infra/ubuntu - 让Pro客户端重新生成ESM源文件:
sudo pro refresh - 验证源文件和状态:
- 查看ESM源文件确认地址已更新:
cat /etc/apt/sources.list.d/ubuntu-esm-apps.list - 检查Pro状态:
pro status
- 查看ESM源文件确认地址已更新:
这两种方法都能解决你的问题,我个人更推荐第一种,因为不需要改动Pro的默认配置,后续Pro客户端更新也不会覆盖你的设置。
备注:内容来源于stack exchange,提问作者yi1
相关产品推荐
相关产品推荐

