![apt 不愿意升级我的包](https://linux22.com/image/209832/apt%20%E4%B8%8D%E6%84%BF%E6%84%8F%E5%8D%87%E7%BA%A7%E6%88%91%E7%9A%84%E5%8C%85.png)
这是输出apt policy ppp
ppp:
Installed: 0.106
Candidate: 0.106
Version table:
0.107 500
500 http://ppp.com/buster/rel ./ Packages
*** 0.106 999
500 http://ppp.com/buster/rel ./ Packages
999 /var/lib/dpkg/status
正如您所看到的,操作系统知道0.107
我刚刚在 ppp.com 上发布了一个新版本,但由于某种原因,它不认为它是候选版本。
apt list --upgradable
不打印任何内容。
sudo apt-get upgrade ppp
印刷ppp is already the newest version (0.106)
更新:/etc/apt/preferences.d/99local
制作操作系统映像的硬件供应商已创建包含以下内容的文件:
# Prefer local packages
Package: *
Pin: release a=now
Pin-Priority: 999
允许升级我的 ppp.com 存储库中托管的几个软件包的最佳方法是什么?
答案1
要允许 ppp.com 提供的软件包成为升级候选,您需要将它们固定为与本地软件包相同的优先级(或更高,但 1000 或更高的固定优先级允许降级,这通常是不可取的)。添加一个/etc/apt/preferences.d
包含以下内容的文件:
Package: *
Pin: origin "ppp.com"
Pin-Priority: 999
如果您不想更改 pin 优先级,您仍然可以通过显式请求目标版本来升级软件包:
sudo apt install ppp=0.107
根据您与硬件制造商签订的支持合同或保修条件等,您可能希望/etc/apt/preferences.d/99local
完全删除 - 将本地软件包固定到如此高的优先级很少有用,并且它会阻止安装外部升级。