我用GNOME-3.1
安装和调整了Gentoo发行版。 为了实现这个安装,我不得不在package.accept_keywords
添加许多行。 现在(几个月后)我决定使用下面的命令更新我的系统:
emerge --sync emerge -pv --update --deep --with-bdeps=y --newuse world
正如Gentoo手册所提出的那样,我遇到了很多冲突。 其中很多的原因是更新后的软件(例如mutter-3.6
)使用与安装mutter-3.1
相同的SLOT
。 还有一些这样的行:
=bla-bla-bla/mutter-3.1 ~amd64
被添加到我的package.accept_keywords
。
据我所知,我需要更新我的package.accept_keywords
删除=bla-bla-bla/mutter-3.1 ~amd64
和增加=bla-bla-bla/mutter-3.6 ~amd64
。 因此情况如下(据我所知):
mutter-3.6
和mutter-3.1
不能共存于系统(不应该是)。 mutter-3.6
将会更新mutter-3.1
,但由于它还没有被很好地testing,所以它被标记为"~amd64"
。 因此我需要添加emerge
提出的下面一行:
>=bla-bla-blah/mutter-3.6 ~amd64
到我的package.accept_keywords
文件。
问题:
mutter-3.1
相关行吗? 它安全,正确? package.accept_keywords
文件,特别是当它包含很多行(首选的方式是自动)? package.accept_keyword
文件,然后更新世界或运行emerge ... --autounmask-write
? 安全吗?会发生什么? mutter-3.6
,如果package.accept_keyword
恰好包含=bla-bla-bla/mutter-3.1 ~amd64
说只有这个版本的mutter
可能是不稳定的? 1. Can I add proposed line without deleting the old mutter-3.1 related line? It it safe, correct?
是的,这很好。 完成升级后,只需删除旧的版本。
2. If the 1st question is OK, hot can I get it reliable and automatically?
–autonunmask写将会正常工作。 我手动维护我的accept_keywords,但多年来我已经变得非常stream利。
3. How in general maintain (delete/update) package.accept_keywords file, especially when it contains many lines (preferred way is automatically)?
完整的“神奇”自动化这是一个圣杯types的事情。 每个人的机器是不同的,因此它不能100%自动化。 作为一般规则,我保留我的accept_keywords按字母顺序+只接受一个包的单一版本。
4. Can I just trancate package.accept_keyword file and then update world or run emerge ... --autounmask-write? Is it safe, what will happen?
当然,你可以安全地杀死它。 只是这会影响依赖计算。 很多软件包将会被关键字屏蔽掉,portage将无法解决您的依赖关系,或者只是将所有内容降级到尽可能稳定的状态。
5. Why I'm getting unstable mutter-3.6 on my system if package.accept_keyword contains exactly =bla-bla-bla/mutter-3.1 ~amd64 saying that only this version of mutter is possible to be unstable?
因为有些软件包需要更高版本的mutter。 这是如何portage将知道,甚至build议揭露。 如果没有这个,portage只会让你开始构build这些对mutter-3.1的包,而且很可能这个构build会在中间的某个地方失败。