据我了解,在 deb 控制文件的 Depends: 部分中,包可以指定用|
符号分隔的替代依赖项以满足单个依赖项。
apt-get
我的问题是,当有替代方案时,如何决定安装哪一个?
有没有办法使用类似的方法手动改变这个选择apt_preferences
?
例如,如果一个软件包依赖于 java,并且在 Depends 部分我们有,如果系统没有安装任何一个软件包,openjdk-6-jre | sun-java6-jre
我该如何强制 apt-get 安装?openjdk-6-jre
答案1
在里面Debian 政策手册,第 7 章 - 声明软件包之间的关系你可以阅读
在软件包的 Depends、Recommends、Suggests、Pre-Depends、Build-Depends 和 Build-Depends-Indep 控制字段中,声明了对其他软件包的依赖关系,列出的软件包名称可能还包括备选软件包名称列表,以竖线符号 | 分隔。在这种情况下,如果安装了任何一个备选软件包,则认为该部分依赖关系已得到满足。
我找不到任何其他有用的信息替代方案列表在整个文档中,所以我应该得出结论,如果列表中的任何软件包都未安装,则将选择列表中的第一个软件包。但请注意,这只是我的解释。