软件包依赖中的 prerequires 与 requires 的区别

yast 中,选择一个软件包,下面显示该软件包的 prerequires 与 requires,这两个有什么区别,另外很多 prerequires 中有很多重复的,如下图所示。
第二个问题是,alternate version 版本中的 prerequires 中都没有内容,这是为什么呢?

!](http://img.bbs.csdn.net/upload/201312/16/1387182893_54848.jpg)

没有人知道吗?啊啊。。

搜了下有这个字面的区别: en.wiktionary.org/wiki/prerequire

这事先需要与需要之间到底有什么区别?

望文生义都不会?
事前需要就是说,没有这个话连安装这包这个动作都没法完成。
需要就是没有的话装上去的货没法正常工作。
举个例子:假如一个 A 包很牛逼,它在安装时要用 tex 编译自己的文档,那么 tex 为“事前需要”。这时包管理器会先装一个 tex 编译器,当 tex 装完后再来装这个软件;假如这个 A 包里的程序运行时还要调用 efl,并且因此“需要”efl,那么包管理器会在你这次安装请求中顺便帮你装上 efl,毕竟你装个东西是要用它的,不是摆看的。
ps: 知道为神马没人鸟你吗?因为你这问题太白痴。。。

Sent from my SCH-I699 using Xparent Skyblue Tapatalk 2

望文生义都不会?
事前需要就是说,没有这个话连安装这包这个动作都没法完成。
需要就是没有的话装上去的货没法正常工作。
举个例子:假如一个 A 包很牛逼,它在安装时要用 tex 编译自己的文档,那么 tex 为“事前需要”。这时包管理器会先装一个 tex 编译器,当 tex 装完后再来装这个软件;假如这个 A 包里的程序运行时还要调用 efl,并且因此“需要”efl,那么包管理器会在你这次安装请求中顺便帮你装上 efl,毕竟你装个东西是要用它的,不是摆看的。
ps: 知道为神马没人鸟你吗?因为你这问题太白痴。。。

Sent from my SCH-I699 using Xparent Skyblue Tapatalk 2
哦,非常感谢,那么请您继续讲讲,为什么 prerequires 里面有那么多重复的呢?例如 /bin/sh,还有为什么 Alternative Version 里面都没有 prerequires 呢?

  1. 重复很正常,这是码代码的人与打包的人共同决定的,重复不意味着装两遍。
    2.(1)alternative 版一般为旧版 (2) 没有 prerequest 很简单:就如之前所说,这个项目中的东西只在安装时要,而你现在装完了,自然没有列出的必要了

Sent from my SCH-I699 using Xparent Skyblue Tapatalk 2

不对吧,Alternative Version 是电脑上未安装的版本,Installed Version 是已经安装的版本,那么 Installed Version 应该没有必要列出 prerequires,而 Alternative Version 应该都列出 prerequires 来。但是这与现实情况正好相反。
实际上不光是我图中选中的软件包,所有软件包都是 Installed Version 有 prerequires,而 Alternative Version 都没有 prerequires。

-1. 事实上,我自己没有研究过这个问题,而且好像只有你问了这个
0. 你把字典的链接贴上了干嘛?

  1. 这里面所有的依赖信息都来源于软件源,不排除默认情况 prereq 信息不自动于软件源刷新时获取 (概率极低)
  2. 如果不是,那我就不知道了,不过要知道,你所看到的信息是 yast 显示的,而非数据库中的“原始数据”,所以不显示不意味着它不在那
  3. 你为神马这么纠结?反正除非报错,你从来没必要知道依赖了啥。。。
    Sent from my SCH-I699 using Xparent Skyblue Tapatalk 2

事实上,我就是想知道。希望能给出更官方的答案。