Apt pinning 是一项功能,允许设置一组软件包的安装优先级,该优先级由许多属性决定,例如软件包版本、存储库、发行版版本等。
请参阅 man apt_preferences 了解更多信息(http://linux.die.net/man/5/apt_preferences)
引用:
然后,APT 应用以下规则(按优先顺序列出)来确定要安装的软件包版本。
- 除非可用版本的优先级超过 1000,否则切勿降级。(“降级”是安装软件包的较新版本来代替较新版本。请注意,APT 的默认优先级都不超过 1000;只能设置如此高的优先级另请注意,降级软件包可能存在风险。)
- 安装最高优先级的版本。
- 如果两个或多个版本具有相同的优先级,请安装最新的版本(即版本号较高的版本)。
- 如果两个或多个版本具有相同的优先级和版本号,但软件包的某些元数据不同或给出了 --reinstall 选项,则安装已卸载的版本。
Fedora 有类似的东西吗?在其他基于 rpm 的发行版中?
答案1
Yum 有一个插件架构,并且有几个插件可以实现您正在寻找的一些功能。规则并不完全相同,但您也许能够获得符合您需求的行为。
- yum-插件-protectbase:此插件允许保护某些存储库。受保护存储库中的包不能被非受保护存储库中的包覆盖,即使非受保护存储库具有更高版本也是如此。
- yum-插件版本锁:此插件采用一组包的名称/版本,并排除这些包的所有其他版本(包括可选的以下过时版本)。例如,这允许您保护软件包不被较新版本更新。
并且,不严格相关但可能有用:
- yum 插件保护包:此插件可防止 Yum 删除自身和其他受保护的软件包。默认情况下,yum 是唯一受保护的软件包,但通过扩展,它会自动保护 yum 所依赖的所有内容(rpm、python、glibc 等)。因此,即使没有仔细编译所有重要包的列表,该插件也能正常运行。 (这个最新版本内置于最近的 yum 中。)
有一些版本锁插件的文档在百胜常见问题解答中。
所有这些都在单独的子包中,因此您可以直接yum install yum-plugin-versionlock
检查配置,通常在/etc/yum/pluginconf.d/
. (还有yum-versionlock
和 的不错的手册页yum-versionlock.conf
。)
答案2
Apt 可用于 Fedora,据我所知,它只是 Debian 的一个端口。所以你可以使用固定。