apt-get如何从备用依赖项列表中进行选择?

据我所知,在deb控制文件的Depends:部分中,包可以指定由|分隔的替代依赖项 满足单一依赖的符号。

我的问题是,当有替代品时, apt-get如何决定安装哪一个?

有没有办法使用类似于apt_preferences的方法手动更改此选择?

例如,如果一个包依赖于java而在Depends部分中我们有openjdk-6-jre | sun-java6-jre openjdk-6-jre | sun-java6-jre ,如果系统没有安装任何软件包,如何强制apt-get安装openjdk-6-jre

在Debian Policy Manual中,第7章 – 声明可以阅读的包之间的关系

在Depends,Recommends,Suggests,Pre-Depends,Build-Depends和Build-Depends-Indep控件的字段中,它声明了对其他包的依赖性,列出的包名也可能包含替代包名的列表,由垂直分隔条(管)符号|。 在这种情况下,如果安装了任何一个替代包,则认为该部分依赖性得到满足。

我找不到整个文档中有关备选列表的任何其他有用信息,因此我应该得出结论,如果列表中没有安装任何软件包,则会选择列表中的第一个软件包。 但请注意,这只是我的解释。