LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 996|回复: 4

请问:emerge uDN world ,如何能排除某个指定的软件包升级?

[复制链接]
发表于 2007-11-13 11:44:26 | 显示全部楼层 |阅读模式
emerge uDN world ,如何能排除某个指定的软件包升级?当然,我已经确认依赖关系正常。
发表于 2007-11-13 11:48:40 | 显示全部楼层
据我所知道到的,你需要将所排除的包添加到/etc/portage/package.mask文件中,就像这样:cat /etc/portage/package.mask

>x11-libs/cairo-1.4.4
>=x11-libs/libXft-2.1.12
>=sys-kernel/linux-headers-2.6.23
>media-libs/freetype-2.3.4-r2
请楼下的补充。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-13 13:15:48 | 显示全部楼层
Post by LongerZ;1781675
据我所知道到的,你需要将所排除的包添加到/etc/portage/package.mask文件中,就像这样:cat /etc/portage/package.mask

请楼下的补充。

正招, 不过有个问题 package.keywords和package.mask的顺序是什么?我不想升级stardict到新版本,因涉及到一些~x86的数据包都要升级,想保留原来的stardict-3.0.0, 不知道哪里出了问题?
apple portage # cat /etc/portage/package.mask
>app-dicts/startdict-3.0.0

apple portage # cat /etc/portage/package.keywords |grep stardict
app-dicts/stardict

apple ~ # emerge -avuDN world

These are the packages that would be merged, in order:

Calculating world dependencies /
!!! All ebuilds that could satisfy ">=x11-libs/gtk+-2.12" have been masked.
!!! One of the following masked packages is required to complete your request:
- x11-libs/gtk+-2.12.0 (masked by: ~x86 keyword)
- x11-libs/gtk+-2.12.1-r1 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by "app-dicts/stardict-3.0.1-r2" [ebuild])
回复 支持 反对

使用道具 举报

发表于 2007-11-13 14:19:21 | 显示全部楼层
package.unmask和package.keywords都是解锁的
unmask解的锁是profile里的package.mask上的,是因为软件本身的原因(比如beta版),和架构无关。
keywords解的锁是架构相关的,也就是有的软件在某些架构上不能运行,或者未经过足够的测试,所以没有加上相关的关键字(x86, ~x86之类)

只有package.mask是上锁的
回复 支持 反对

使用道具 举报

发表于 2007-11-13 16:16:01 | 显示全部楼层
最近的升级portage我看到提示说portage已经支持world中加入版本号了(用冒号分隔)。
于是我在world中把gentoo-sourecs改成gentoo-sources:2.16.23,升级的时候,就自动跳过gentoo-sources的检验了。另外emerge的时候加上 --noreplace参数,这个包就自动锁定版本了。
不过今天emerge -uDN world 后,发现gentoo-soureces还是升级到2.16.23-r1了。看来改world没用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表