如何解决portage和熵之间的冲突

如何解决portage和熵之间的冲突

我最近安装了全新的 Sabayon 7 + KDE 发行版。现在我正在使用 portage 安装一些软件。我输入了“emerge thunderbird”,但由于冲突,安装失败。我看到的是,从 portage 安装包“pinentry”会覆盖由 entropy 管理的包“pinentry-base”中的一些文件。我该如何解决这个冲突?以下是错误消息:

* Messages for package app-crypt/pinentry-0.8.1:

 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). Once again, please do NOT file
 * a bug report unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 *      /usr/share/info/pinentry.info.bz2
 *      /usr/bin/pinentry-qt4
 *      /usr/bin/pinentry-curses
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * app-crypt/pinentry-qt4-0.8.1-r1
 *      /usr/bin/pinentry-qt4
 * 
 * app-crypt/pinentry-base-0.8.1
 *      /usr/bin/pinentry-curses
 *      /usr/share/info/pinentry.info.bz2
 * 
 * Package 'app-crypt/pinentry-0.8.1' NOT merged due to file collisions.
 * If necessary, refer to your elog messages for the whole content of the
 * above message.

命令 portageqowners//usr/share/info/pinentry.info.bz2 说:

app-crypt/pinentry-base-0.8.1
        /usr/share/info/pinentry.info.bz2

答案1

混合portage使用entropy会导致问题。它们是管理系统包的略有不同的方法,不幸的是,它们并不总是能很好地协作。我以前也遇到过类似的问题,最后我把我的萨芭雍完全进入Gentoo,我已经对此感到满意了。如果你真的想继续entropy混合portageSabayon 维基可能会对你有帮助。

在这种特殊情况下,最好的解决方案是先删除app-crypt/pinentry-qt4app-crypt/pinentry-base(通过熵),然后重试出现thunderbird

在其他情况下,尤其是当没有找到文件所有者时,您可能会使用该COLLISION_IGNORE变量来强制出现包,尽管存在冲突。但这样做极其谨慎,因为您可能会破坏系统,覆盖其他软件包所依赖的内容。变量需要指示系统目录树的哪一部分应该是未受保护,所以在你的情况下运行就足够了COLLISION_IGNORE="/usr" emerge -1 app-crypt/pinentry-1是为了防止pinentry它进入你的world文件。

相关内容