Depends: a, b | c
假设现在a,b,c三个软件包都未安装,那么a肯定会被装上,
问题是apt对b和c是如何选择的?
急,谢谢!
[求助] 对于"Depends: a, b | c"的疑问
-
- 帖子: 15
- 注册时间: 2012-06-30 8:59
-
- 帖子: 15
- 注册时间: 2012-06-30 8:59
Re: [求助] 对于"Depends: a, b | c"的疑问
其实是我在集成一个小型系统的时候碰到的:
假设已经给定了一些软件包(用来满足一些特定功能),
然后我要加入一些包,使得最后的这个软件包集合是封闭的,也就是不依赖于外部包
但要保证这个包集合的size最小。。
各位高手大侠有什么好的建议不?
假设已经给定了一些软件包(用来满足一些特定功能),
然后我要加入一些包,使得最后的这个软件包集合是封闭的,也就是不依赖于外部包
但要保证这个包集合的size最小。。
各位高手大侠有什么好的建议不?
- maplebeats
- 帖子: 378
- 注册时间: 2011-02-16 1:17
- maplebeats
- 帖子: 378
- 注册时间: 2011-02-16 1:17
-
- 帖子: 15
- 注册时间: 2012-06-30 8:59
Re: [求助] 对于"Depends: a, b | c"的疑问
对,deb包maplebeats 写了:deb包么,没有深入过。。。deb太蛋疼了
我现在也蛋疼了。。
rpm的话,貌似spec里面没有这种或的逻辑关系
- careone
- 帖子: 839
- 注册时间: 2007-12-17 21:41
Re: [求助] 对于"Depends: a, b | c"的疑问
含义: a 包是必须要安装或准备安装;Depends: a, b | c
假设现在a,b,c三个软件包都未安装,那么a肯定会被装上,
问题是apt对b和c是如何选择的?
b, c 包只要有任意一个已安装了就行;
如果是3选1,会写为
Depends: a|b|c
看你的意思似乎需要在自己的包中加入依赖的库文件。可以参考下 “虚拟包”的概念,
大约是 provide 字头,自己查下吧
Provide: xxx
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
-
- 帖子: 15
- 注册时间: 2012-06-30 8:59
Re: [求助] 对于"Depends: a, b | c"的疑问
谢谢你的回答。careone 写了:含义: a 包是必须要安装或准备安装;Depends: a, b | c
假设现在a,b,c三个软件包都未安装,那么a肯定会被装上,
问题是apt对b和c是如何选择的?
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
这样理解对吗?
-
- 帖子: 3173
- 注册时间: 2010-01-13 23:26
Re: [求助] 对于"Depends: a, b | c"的疑问
假设软件包名字是 foo
Depends: a, b | c
apt-get install foo 默认会装 a 和 b,如果 b 不存在就装 c。
如果你希望要 c 而不是 b,那就直接 apt-get install foo c
Depends: a, b | c
apt-get install foo 默认会装 a 和 b,如果 b 不存在就装 c。
如果你希望要 c 而不是 b,那就直接 apt-get install foo c
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF
-
- 帖子: 15
- 注册时间: 2012-06-30 8:59
Re: [求助] 对于"Depends: a, b | c"的疑问
非常感谢!rediscover 写了:假设软件包名字是 foo
Depends: a, b | c
apt-get install foo 默认会装 a 和 b,如果 b 不存在就装 c。
如果你希望要 c 而不是 b,那就直接 apt-get install foo c