我可以安装一个多元宇宙包,然后禁用非免费源,仍然让它升级吗?

gee*_*ley 3 upgrade updates package-management apt repository

我从一个安装包multiverse,然后禁用multiverserestricted在APT源(在所有URL)。我禁用了它们,所以我不会意外安装任何新的非免费软件包或依赖项。

当我执行 apt update 然后升级软件包时,apt 说它“已经是最新版本”。但是我相信我实际上不会获得该软件包的升级,对吗?

有没有办法只为已安装的软件包进行升级,同时仍然阻止从restrictedmultiverse(无需在每次安装时编辑 apt 源代码)安装任何新软件包?

我想过multiverse启用focal-securityfocal-updates,但我认为这可能不会达到我的预期。


我的另一个有点相关的问题:
我想在从某些来源安装 apt 时收到警告,例如受限和多元宇宙

kar*_*rel 5

如果您禁用安装软件包的软件源(例如,通过在软件源中添加一个#字符来注释掉软件源的行),则已安装的软件包将不会继续自动获得升级,但是您仍然可以手动通过重新启用其软件源并重新安装该软件包,然后再次禁用其软件源来升级该软件包。

当您使用 重新安装软件包时,apt 将尝试在您的软件源中找到该软件包并安装该软件包的最新可用版本。当一个包被升级时,它也会将它升级到该包的最新可用版本。sudo apt reinstall package-namesudo apt upgrade

仅当您--install-suggests在运行sudo apt install命令时还使用选项添加建议的包时,依赖项才会跨存储库。默认情况下,Ubuntu 仅安装软件包本身及其推荐的软件包。如果您尝试安装系统软件源中没有的建议软件包,您将收到一条错误消息。

即使 apt 安装了一个软件包,也有一些命令告诉 apt 将该软件包视为手动安装的软件包,这样它就不能在不首先切换选项的情况下自动删除或自动升级。用于将包标记为手动安装,这将防止该包在没有其他包依赖的情况下被自动删除。hold 用于将一个包标记为被阻止,这将阻止该包被自动安装、升级或删除。用于取消先前对包裹设置的保留,以再次允许所有操作。sudo apt-mark manual package-namesudo apt mark hold package-nameunholdapt reinstall --simulate package-name模拟重新安装软件包,其结果将显示重新安装该软件包是否还会安装任何新软件包或依赖项,其中可能包括当前未安装的非自由软件包。使用sudo apt-mark hold以避免这些不必要的新的软件包的安装。