我正在尝试更新 plexmediaserver-installer 包,但是运行 apt-get upgrade 时,该包不是“可更新的”`
这是我的 apt-cache 命令:
apt-cache policy plexmediaserver-installer
plexmediaserver-installer:
Installed: 1.9.7.4460-a39b25852-1
Candidate: 1.9.7.4460-a39b25852-1
Version table:
1.10.0.4523-648bc61d4-1 -1
-1 https://dev2day.de/pms jessie/main armhf Packages
*** 1.9.7.4460-a39b25852-1 100
100 /var/lib/dpkg/status
它显示有新版本可用(1.10.0.4523-648bc61d4-1),但我不知道如何安装它
有人有想法吗?
谢谢
答案1
“较新”的软件包不会被安装(除非您强制安装),因为它已被标记为低优先级,表示“不安装”。
注意在版本表中,每个版本下每个源的左侧都有一个优先级。第一个优先级为-1
,第二个优先级为100
。
Version table:
1.10.0.4523-648bc61d4-1 -1
-1 https://dev2day.de/pms jessie/main armhf Packages
*** 1.9.7.4460-a39b25852-1 100
100 /var/lib/dpkg/status
不知何故,在您的 APT 首选项中,您已将其配置为不安装该其他软件包。查看其 URL,我猜想这与它来自的存储库有关:该存储库可能在您的配置中标记为不安装,或者该存储库存在问题,导致 APT 自行执行此操作。
APT 优先事项
您可以修改 APT 优先级及其工作方式,但一般情况下,它们的工作方式如下。当请求安装或升级软件包时,将为每个软件包的所有可用版本计算优先级,并将优先级最高的软件包安装。
您可以使用 APT 固定(请参阅apt_preferences) 为存储库、目标或单个包版本指定任意值,但一般值为:
- 小于 0:特殊值,表示包永远不应安装(如果您选择阻止安装包,则为 -1)
- 100:当前安装的软件包版本
- 500:来自不同目标的可用包
- 990:当前默认目标中可用的包
- 超过 1000:特殊值,表示即使版本低于当前版本也应安装包(“强制降级”)
这意味着如果您已经安装了一个软件包,那么另一个软件包的优先级必须超过 100 才能击败它(并且是较新的版本,除非超过 1000)。
答案2
在 apt-get 命令中强制使用 plexmediaserver-installer 版本时,它似乎有效
apt-get install plexmediaserver-installer=1.10.0.4523-648bc61d4-1
但我发现这个解决方案有点“强制”
答案3
如果你确定它应该自动更新..你可以尝试将其设置为自动..最有可能的是它在 apt 中设置为手动更新
做一个
sudo apt-mark showmanual | grep plexmediaserver-installer
如果它显示服务器的输出,则将其设置为手动,因此它不会自动升级..您需要执行
sudo apt-mark auto plexmediaserver-installer=1.10.0.4523-648bc61d4-1
或者第一个命令中出现的任何内容,它都会被标记为自动。你可以通过执行以下操作来验证
sudo apt-mark showauto | grep plexmediaserver-installer
不过要小心...当你进行升级时...它可能会说some files are not needed use apt-get autoremove to remove them
确保它没有删除任何重要的东西...再次不知道这将如何影响 apt 查看可能不需要且设置为自动删除的文件的方式...
我知道这个过程是因为我的内核停止了更新,这是一个修复...它们被设置为手动...但是..在虚拟机上只是为了好玩..我将所有内容设置为自动以查看会发生什么..并且自动删除功能破坏了系统...有些东西不能设置为自动,或者自动删除功能可以删除系统正常运行所需的文件:D