分页: 1 / 1
[求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-07-17 11:52
由 Lawster
Depends: a, b | c
假设现在a,b,c三个软件包都未安装,那么a肯定会被装上,
问题是apt对b和c是如何选择的?
急,谢谢!
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-07-17 14:18
由 Lawster
其实是我在集成一个小型系统的时候碰到的:
假设已经给定了一些软件包(用来满足一些特定功能),
然后我要加入一些包,使得最后的这个软件包集合是封闭的,也就是不依赖于外部包
但要保证这个包集合的size最小。。
各位高手大侠有什么好的建议不?
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-07-17 14:27
由 maplebeats
deb包么,没有深入过。。。deb太蛋疼了
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-07-17 14:29
由 maplebeats
deb包么,没有深入过。。。deb太蛋疼了
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-07-17 14:42
由 Lawster
maplebeats 写了:deb包么,没有深入过。。。deb太蛋疼了
对,deb包
我现在也蛋疼了。。
rpm的话,貌似spec里面没有这种或的逻辑关系
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-07-17 18:08
由 careone
Depends: a, b | c
假设现在a,b,c三个软件包都未安装,那么a肯定会被装上,
问题是apt对b和c是如何选择的?
含义: a 包是必须要安装或准备安装;
b, c 包只要有任意一个已安装了就行;
如果是3选1,会写为
Depends: a|b|c
看你的意思似乎需要在自己的包中加入依赖的库文件。可以参考下 “虚拟包”的概念,
大约是 provide 字头,自己查下吧
Provide: xxx
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-07-17 20:46
由 Lawster
careone 写了:Depends: a, b | c
假设现在a,b,c三个软件包都未安装,那么a肯定会被装上,
问题是apt对b和c是如何选择的?
含义: a 包是必须要安装或准备安装;
b, c 包只要有任意一个已安装了就行;
如果是3选1,会写为
Depends: a|b|c
看你的意思似乎需要在自己的包中加入依赖的库文件。可以参考下 “虚拟包”的概念,
大约是 provide 字头,自己查下吧
Provide: xxx
谢谢你的回答。
1.
我想要的是,最后集成的系统最小。
比方说“Depends: a | b | c ”三选一的时候,我该如何选择才能使最后的系统最小。
因为如果选了a,补全依赖之后最后的系统安装包可能会有1G,
而如果选了b,补全依赖之后最后的系统安装包只有200MB,但需求的功能一个不少。
这样,我就应该选择b而不是a。
2.
我查了下,网上针对“虚拟包”这个概念的系统一点的资料很少,所以我还是不太明白。
Package: X
Depends: a | b
这个我应该怎么理解?
ab都包含了X功能,即安装两者之一即可。
由于开发者在开发软件包之前都会去搜索软件包列表,
查看其中是否已经有能够替代自己将要开发的软件包,有则没必要开发
所以,而ab两者的关系只可能为:
i) a Provides b
ii) a Conflicts with b
这样理解对吗?
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-08-19 10:59
由 rediscover
假设软件包名字是 foo
Depends: a, b | c
apt-get install foo 默认会装 a 和 b,如果 b 不存在就装 c。
如果你希望要 c 而不是 b,那就直接 apt-get install foo c
Re: [求助] 对于"Depends: a, b | c"的疑问
发表于 : 2012-08-22 19:06
由 Lawster
rediscover 写了:假设软件包名字是 foo
Depends: a, b | c
apt-get install foo 默认会装 a 和 b,如果 b 不存在就装 c。
如果你希望要 c 而不是 b,那就直接 apt-get install foo c
非常感谢!