看来 clamav 包会阻止自身升级。 Portage 是最新的并且 Portage 树是同步的。有人知道如何通过 gentoo 中的阻止包来解决这个问题吗?
# emerge -uDpv clamav
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild U ] app-arch/bzip2-1.0.6-r7::gentoo [1.0.6-r6::gentoo] USE="-static -static-libs" 764 KiB
[ebuild U ] sys-apps/file-5.25::gentoo [5.22::gentoo] USE="-python -static-libs -zlib" PYTHON_TARGETS="python2_7 (-pypy) -python3_3 -python3_4" 723 KiB
[ebuild U ] dev-libs/expat-2.1.1-r2::gentoo [2.1.0-r5::gentoo] USE="unicode -examples -static-libs" 396 KiB
[ebuild U ] sys-apps/debianutils-4.7::gentoo [4.4::gentoo] USE="-static" 153 KiB
[ebuild U ~] dev-libs/libgpg-error-1.24::gentoo [1.22::gentoo] USE="-common-lisp -nls -static-libs" 766 KiB
[ebuild U ] dev-libs/libffi-3.2.1::gentoo [3.0.13-r1::gentoo] USE="-debug -pax_kernel -static-libs {-test}" 919 KiB
[ebuild U ] sys-devel/m4-1.4.17::gentoo [1.4.16::gentoo] USE="-examples" 1,123 KiB
[ebuild U ] app-misc/pax-utils-1.1.6::gentoo [1.0.3::gentoo] USE="-caps -debug% -python -seccomp%" 633 KiB
[ebuild U ] app-arch/tar-1.28-r1::gentoo [1.27.1-r2::gentoo] USE="acl -minimal -nls (-selinux) -static -xattr" 2,631 KiB
[ebuild U ] dev-libs/openssl-1.0.2h-r2::gentoo [1.0.2h::gentoo] USE="-asm -bindist -gmp -kerberos -rfc3779 -sctp -sslv2% -sslv3% -static-libs {-test} -tls-heartbeat -vanilla -zlib" CPU_FLAGS_X86="-sse2" 0 KiB
[ebuild U ~] app-eselect/eselect-python-20160516::gentoo [20160222::gentoo] 46 KiB
[ebuild U ] dev-libs/libpcre-8.38-r1:3::gentoo [8.38:3::gentoo] USE="bzip2 cxx readline (unicode) -jit -libedit -pcre16 -pcre32 -recursion-limit -static-libs -zlib" 1,526 KiB
[ebuild U ] dev-util/gtk-doc-am-1.25::gentoo [1.24::gentoo] 658 KiB
[ebuild U ~] dev-lang/python-2.7.12:2.7::gentoo [2.7.11-r2:2.7::gentoo] USE="gdbm ncurses readline ssl threads (wide-unicode) xml (-berkdb) -build -doc -examples -hardened -ipv6 -libressl -sqlite -tk -wininst" 12,114 KiB
[ebuild U ] dev-libs/libxml2-2.9.4:2::gentoo [2.9.3:2::gentoo] USE="python readline -debug -examples -icu -ipv6 -lzma -static-libs {-test}" PYTHON_TARGETS="python2_7 -python3_3 -python3_4 (-python3_5)" 5,249 KiB
[ebuild U ] app-admin/perl-cleaner-2.20::gentoo [2.19::gentoo] 7 KiB
[ebuild U ] dev-libs/libxslt-1.1.29::gentoo [1.1.28-r5::gentoo] USE="crypt -debug -examples -python -static-libs" PYTHON_TARGETS="python2_7" 3,349 KiB
[ebuild U ] sys-devel/gettext-0.19.7::gentoo [0.19.4::gentoo] USE="acl cxx ncurses -cvs -doc -emacs -git -java -nls -openmp -static-libs" 18,785 KiB
[ebuild U ] dev-libs/glib-2.46.2-r3:2::gentoo [2.46.2-r2:2::gentoo] USE="-dbus -debug (-fam) -mime (-selinux) -static-libs -systemtap {-test} -utils -xattr" PYTHON_TARGETS="python2_7" 0 KiB
[ebuild U ] app-antivirus/clamav-0.99::gentoo [0.98.7::gentoo] USE="bzip2 -clamdtop -iconv -ipv6 (-libressl) -metadata-analysis-api -milter (-selinux) -static-libs (-uclibc)" 15,594 KiB
[blocks B ] <app-antivirus/clamav-0.99 ("<app-antivirus/clamav-0.99" is hard blocking app-antivirus/clamav-0.99)
Total: 20 packages (20 upgrades), Size of downloads: 65,428 KiB
Conflict: 1 block (1 unsatisfied)
* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.
(app-antivirus/clamav-0.99:0/0::gentoo, ebuild scheduled for merge) pulled in by
app-antivirus/clamav required by @selected
clamav
app-antivirus/clamav required by (mail-filter/qmail-scanner-2.08:0/0::gentoo, installed)
# grep -R clamav /etc/portage/*
/etc/portage/package.use:app-antivirus/clamav -* crypt
/etc/portage/package.use:mail-filter/qmail-scanner spamassassin clamav
/etc/portage/package.use:mail-filter/dspam clamav daemon mysql procmail virtual-users
/etc/portage/package.use:app-antivirus/clamav crypt bzip2
# grep clamav /etc/make.conf
#
答案1
问题
了解您所看到的输出:
mail-filter/qmail-scanner
要求版本低于 0.99。请注意,您安装了 0.98.7 版本- 新版本
app-antivirus/clamav
是0.99。 - Portage 是硬阻塞,
app-antivirus/clamav
因为 0.99 大于 0.98.7
使固定
mail-filter/qmail-scanner
您需要2.08 以上的版本。既然没有,你有两种选择:
- 在 qmail-scanner 更新之前,不要打扰 clamav。看mail-filter/qmail-scanner-2.11 版本碰撞
- 修改
mail-filter/qmail
ebuild中的a本地覆盖接受更新版本app-antivirus/clamav
答案2
解决方案:
emerge -C app-antivirus/clamav
emerge -1 app-antivirus/clamav
# continue with the update
问题:
- 较新的
app-antivirus/clamav
版本(0.99)阻止了DEPEND
该部分中的所有先前版本 - 因此,如果前一个版本存在,则无法构建新版本
- portage本身无法应对这种情况,因为如果它卸载了旧版本并且新版本编译失败,你最终将根本没有clamav
- portage 向用户提供有关此问题的不友好消息
笔记:
mail-filter/qmail-scanner
是无辜的