小记一下这两天更新服务器版本遇到的各种问题。
服务器系统: Gentoo
第一天
其实本来不打算更新系统的,因为最近想试试免费的SSL证书,于是自然而然搜到了letsencrypt,跟着他们的流程需要安装
$ sudo emerge -av app-crypt/certbot app-crypt/certbot-nginx
运行了下,结果给出的错误是:
!!! The following installed packages are masked: - sys-devel/gcc-4.4.5::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Michał Górny <mgorny@gentoo.org>, Andreas K. Hüttel <dilfridge@gentoo.org>, # Matthias Maier <tamiko@gentoo.org> (21 May 2017 and later updates) # These old versions of toolchain packages (binutils, gcc, glibc) are no # longer officially supported and are not suitable for general use. Using # these packages can result in build failures (and possible breakage) for # many packages, and may leave your system vulnerable to known security # exploits. # If you still use one of these old toolchain packages, please upgrade (and # switch the compiler / the binutils) ASAP. If you need them for a specific # (isolated) use case, feel free to unmask them on your system. - sys-libs/glibc-2.23-r3::gentoo (masked by: package.mask) - dev-perl/DBD-mysql-4.41.0::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Kent Fredric <kentnl@gentoo.org> (27 May 2018) # Subject to Man-in-the-middle security bypass vulnerability. # Retained in tree only for users who need older versions # for compatibility reasons. # Bug: #623942 - sys-devel/gcc-4.5.4::gentoo (masked by: package.mask) - sys-devel/binutils-2.26.1::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
看到这个错误我还是懵的状态,不懂什么意思,然后网上一通乱搜之后,糊里糊涂的觉得是不是应该更新一下portage树,于是运行如下命令:
$ sudo emerge --sync $ sudo emerge --depclean $ sudo emerge --update --newuse --deep --with-bdeps=y @world
前两个命令没有报错,最后一个命令肯定是没成功的,但是的错误信息跟之前的类似,意思就是要我去更新Protage版本。
第二天
又开始来折腾了,我这不达目的不罢休的精神也是可嘉。
网上开始搜索如何更新portage
$ sudo emerge -1v portage
打开man emerge, -l 的选项意思如下
--changelog (-l)
Use this in conjunction with the --pretend option. This will show the
ChangeLog entries for all the packages that will be upgraded.
上面命令的结果还是关于 EAPI
!!! Repository 'x-portage' is missing masters attribute in '/usr/local/portage/metadata/layout.conf' !!! Set 'masters = gentoo' in this file for future compatibility * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies... done! !!! All ebuilds that could satisfy "app-eselect/eselect-pinentry" have been masked. !!! One of the following masked packages is required to complete your request: - app-eselect/eselect-pinentry-0.7::gentoo (masked by: EAPI 7) The current version of portage supports EAPI '6'. You must upgrade to a newer version of portage before EAPI masked packages can be installed. (dependency required by "app-crypt/pinentry-1.1.0-r2::gentoo" [ebuild]) (dependency required by "app-crypt/gnupg-2.2.10::gentoo" [ebuild]) (dependency required by "sys-apps/portage-2.3.51-r1::gentoo[-build,rsync-verify]" [ebuild]) (dependency required by "portage" [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
参考了https://forums.gentoo.org/viewtopic-t-1087032.html?sid=fc9d72cb8cbb9deac2142bfa542cc06f,照着运行了下面四个命令
sudo emerge --sync sudo emerge -qav python sudo USE='-rsync-verify' emerge -qavO portage sudo emerge -qav portage
第一个命令没有什么知道参考的结果,下面从第二个命令开始
$ sudo emerge -qav python
这一步虽然有warning消息提示我有几个package被masked了,但是最终python还是安装成功了,结果如下:
Password: !!! Repository 'x-portage' is missing masters attribute in '/usr/local/portage/metadata/layout.conf' !!! Set 'masters = gentoo' in this file for future compatibility * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. [ebuild U ] sys-devel/automake-1.15.1-r2 [1.15] USE="{-test%}" [ebuild NS ] dev-lang/python-3.6.5 [2.7.14-r1, 3.1.3-r1, 3.4.5-r1] USE="gdbm ipv6 ncurses readline sqlite ssl (threads) xml -build -examples -hardened -libressl {-test} -tk -wininst" !!! The following installed packages are masked: - sys-devel/gcc-4.8.5::gentoo (masked by: package.mask) /usr/portage/profiles/releases/17.0/package.mask: # Andreas K. Huettel <dilfridge@gentoo.org> (27 May 2017) # In the 17.0 profiles we assume that our system compiler uses C++14 # or later as default language setting. This means it has to be at # least GCC 6. If you need an older compiler for specific purposes, # feel free to unmask it, however, using it for normal emerging of # packages is neither recommended nor supported in any way. - sys-devel/binutils-2.29.1-r1::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Michał Górny <mgorny@gentoo.org>, Andreas K. Hüttel <dilfridge@gentoo.org>, # Matthias Maier <tamiko@gentoo.org> (21 May 2017 and later updates) # These old versions of toolchain packages (binutils, gcc, glibc) are no # longer officially supported and are not suitable for general use. Using # these packages can result in build failures (and possible breakage) for # many packages, and may leave your system vulnerable to known security # exploits. # If you still use one of these old toolchain packages, please upgrade (and # switch the compiler / the binutils) ASAP. If you need them for a specific # (isolated) use case, feel free to unmask them on your system. - sys-devel/gcc-4.5.4::gentoo (masked by: package.mask) - sys-libs/glibc-2.25-r10::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. Would you like to merge these packages? [Yes/No] yes >>> Recording dev-lang/python in "world" favorites file... >>> Verifying ebuild manifests >>> Emerging (1 of 2) sys-devel/automake-1.15.1-r2::gentoo >>> Installing (1 of 2) sys-devel/automake-1.15.1-r2::gentoo >>> Emerging (2 of 2) dev-lang/python-3.6.5::gentoo >>> Installing (2 of 2) dev-lang/python-3.6.5::gentoo >>> Jobs: 2 of 2 complete Load avg: 2.01, 1.30, 0.63 * Messages for package dev-lang/python-3.6.5: * You have just upgraded from an older version of Python. * * Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules. !!! existing preserved libs found * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news read to view new items.
然后运行
sudo USE='-rsync-verify' emerge -qavO portage
结果如下,没有报错:
Password: !!! Repository 'x-portage' is missing masters attribute in '/usr/local/portage/metadata/layout.conf' !!! Set 'masters = gentoo' in this file for future compatibility * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. [ebuild U ] sys-apps/portage-2.3.51-r1 [2.3.3] USE="(ipc) native-extensions xattr -build -doc -epydoc -gentoo-dev% -rsync-verify% (-selinux) (-linguas_ru%)" PYTHON_TARGETS="python2_7 python3_6* (-pypy) -python3_4* -python3_5 (-python3_7)" Would you like to merge these packages? [Yes/No] yes >>> Verifying ebuild manifests >>> Emerging (1 of 1) sys-apps/portage-2.3.51-r1::gentoo >>> Installing (1 of 1) sys-apps/portage-2.3.51-r1::gentoo >>> Jobs: 1 of 1 complete Load avg: 1.41, 1.14, 0.67 !!! existing preserved libs found * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news read to view new items.
继续运行最后一步:
$ sudo emerge -qav portage
完整结果输出如下:
!!! Repository 'x-portage' is missing masters attribute in '/usr/local/portage/metadata/layout.conf' !!! Set 'masters = gentoo' in this file for future compatibility * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. [ebuild N ] app-crypt/openpgp-keys-gentoo-release-20190102 USE="-test" [ebuild N ] dev-libs/libunistring-0.9.10 USE="-doc -static-libs" [ebuild U ] dev-libs/libgpg-error-1.29 [1.10] USE="nls -common-lisp -static-libs" [ebuild N ] dev-libs/libassuan-2.5.1 USE="-static-libs" [ebuild N ] dev-libs/libksba-1.3.5-r1 USE="-static-libs" [ebuild N ] app-eselect/eselect-lib-bin-symlink-0.1.1 [ebuild N ] app-eselect/eselect-pinentry-0.7 [ebuild N ] dev-libs/libtasn1-4.13 USE="-doc -static-libs -test -valgrind" [ebuild N ] net-dns/libidn2-2.0.4 USE="-static-libs" [ebuild U ] dev-libs/libgcrypt-1.8.3 [1.4.6] USE="-doc% -o-flag-munging% -static-libs" [ebuild N ] dev-libs/nettle-3.4 USE="gmp -doc (-neon) -static-libs -test" CPU_FLAGS_X86="-aes" [ebuild N ] net-libs/gnutls-3.5.19 USE="cxx idn nls openssl seccomp tls-heartbeat zlib -dane -doc -examples -guile -openpgp -pkcs11 -sslv2 -sslv3 -static-libs -test (-test-full) -tools -valgrind" [ebuild N ] app-crypt/pinentry-1.1.0-r2 USE="ncurses -caps -emacs -fltk -gnome-keyring -gtk -qt5 -static" [ebuild N ] dev-python/bz2file-0.98 PYTHON_TARGETS="python2_7 (-pypy)" [ebuild N ] app-crypt/gnupg-2.2.10 USE="bzip2 nls readline smartcard ssl -doc -ldap (-selinux) -tofu -tools -usb -wks-server" [ebuild U ] dev-python/setuptools-40.6.3 [30.4.0] USE="-test" PYTHON_TARGETS="python2_7 python3_6* (-pypy) (-pypy3) -python3_4* -python3_5 (-python3_7)" [ebuild U ] dev-python/certifi-2018.4.16 [2016.9.26] PYTHON_TARGETS="python2_7 python3_6* (-pypy) (-pypy3) -python3_4* -python3_5 (-python3_7)" [ebuild N ] dev-python/pyblake2-1.1.2 PYTHON_TARGETS="python2_7 python3_6 (-pypy) (-pypy3) -python3_4 -python3_5 (-python3_7)" [ebuild N ] app-portage/gemato-14.0 USE="blake2 bzip2 gpg -lzma -sha3 -test -tools" PYTHON_TARGETS="python2_7 python3_6 (-pypy) -python3_4 -python3_5 (-python3_7)" [ebuild R ] sys-apps/portage-2.3.51-r1 USE="(ipc) native-extensions rsync-verify* xattr -build -doc -epydoc -gentoo-dev (-selinux)" PYTHON_TARGETS="python2_7 python3_6 (-pypy) -python3_4 -python3_5 (-python3_7)" !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-python/setuptools:0 (dev-python/setuptools-40.6.3:0/0::gentoo, ebuild scheduled for merge) pulled in by >=dev-python/setuptools-34[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (app-portage/gemato-14.0:0/0::gentoo, ebuild scheduled for merge) ^^ ^^ dev-python/setuptools[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/pyblake2-1.1.2:0/0::gentoo, ebuild scheduled for merge) dev-python/setuptools[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/certifi-2018.4.16:0/0::gentoo, ebuild scheduled for merge) dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (app-portage/gemato-14.0:0/0::gentoo, ebuild scheduled for merge) (dev-python/setuptools-30.4.0:0/0::gentoo, installed) pulled in by dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/certifi-2016.9.26:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/chardet-2.3.0:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/cryptography-1.7.1:0/0::gentoo, installed) >=dev-python/setuptools-18.2[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/pip-7.1.2:0/0::gentoo, installed) dev-python/certifi:0 (dev-python/certifi-2018.4.16:0/0::gentoo, ebuild scheduled for merge) pulled in by >=dev-python/certifi-2016.9.26[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/setuptools-40.6.3:0/0::gentoo, ebuild scheduled for merge) (dev-python/certifi-2016.9.26:0/0::gentoo, installed) pulled in by dev-python/certifi[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/urllib3-1.16:0/0::gentoo, installed) >=dev-python/certifi-2016.9.26[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/setuptools-30.4.0:0/0::gentoo, installed) !!! The following installed packages are masked: - sys-libs/glibc-2.25-r10::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Michał Górny <mgorny@gentoo.org>, Andreas K. Hüttel <dilfridge@gentoo.org>, # Matthias Maier <tamiko@gentoo.org> (21 May 2017 and later updates) # These old versions of toolchain packages (binutils, gcc, glibc) are no # longer officially supported and are not suitable for general use. Using # these packages can result in build failures (and possible breakage) for # many packages, and may leave your system vulnerable to known security # exploits. # If you still use one of these old toolchain packages, please upgrade (and # switch the compiler / the binutils) ASAP. If you need them for a specific # (isolated) use case, feel free to unmask them on your system. - sys-devel/gcc-4.5.4::gentoo (masked by: package.mask) - sys-devel/gcc-4.8.5::gentoo (masked by: package.mask) - sys-devel/binutils-2.29.1-r1::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
上面的错误信息我先关注到的点是:
!!! The following installed packages are masked: - sys-libs/glibc-2.25-r10::gentoo (masked by: package.mask)
mask的意思如下:
package.mask
The package.mask file primarily blocks the use of packages that cause
problems or are known to have issues on different systems. It resides
in /usr/portage/profiles.
所以可能是这个包太旧了,过期了,所以我就更新了这个包
sudo emerge sys-libs/glibc
上述命令运行结果如下:
Calculating dependencies... done! [ebuild U ] sys-libs/glibc-2.27-r6 [2.25-r10] USE="multiarch%* (-compile-locales) -doc%" [blocks B ] <sys-devel/bison-2.7 ("<sys-devel/bison-2.7" is blocking sys-libs/glibc-2.27-r6) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-devel/bison-2.4.2:0/0::gentoo, installed) pulled in by sys-devel/bison required by (sys-apps/iproute2-3.8.0:0/0::gentoo, installed) sys-devel/bison required by (app-admin/sudo-1.8.1_p2:0/0::gentoo, installed) >=sys-devel/bison-1.875 required by (sys-devel/gcc-6.4.0-r1:6.4.0/6.4.0::gentoo, installed) >=sys-devel/bison-1.875 required by (sys-devel/gcc-4.5.4:4.5.4/4.5.4::gentoo, installed) sys-devel/bison required by (virtual/yacc-0:0/0::gentoo, installed) sys-devel/bison required by (dev-db/postgresql-9.0.5:9.0/9.0::gentoo, installed) >=sys-devel/bison-1.875 required by (sys-devel/gcc-4.8.5:4.8.5/4.8.5::gentoo, installed) sys-devel/bison required by (sys-libs/glibc-2.27-r6:2.2/2.2::gentoo, ebuild scheduled for merge) (sys-libs/glibc-2.27-r6:2.2/2.2::gentoo, ebuild scheduled for merge) pulled in by >=sys-libs/glibc-2.6 required by (sys-libs/e2fsprogs-libs-1.41.14:0/0::gentoo, installed) >=sys-libs/glibc-2.8 required by (sys-devel/gcc-4.8.5:4.8.5/4.8.5::gentoo, installed) >=sys-libs/glibc-2.7 required by (sys-apps/iproute2-3.8.0:0/0::gentoo, installed) >=sys-libs/glibc-2.9 required by (sys-fs/udev-151-r4:0/0::gentoo, installed) >=sys-libs/glibc-2.8 required by (sys-devel/gcc-4.5.4:4.5.4/4.5.4::gentoo, installed) sys-libs/glibc sys-libs/glibc required by @selected >=sys-libs/glibc-2.13 required by (sys-devel/gcc-6.4.0-r1:6.4.0/6.4.0::gentoo, installed) >=sys-libs/glibc-2.9_p20081201 required by (dev-libs/libev-4.23:0/0::gentoo, installed) sys-libs/glibc required by (dev-java/sun-jdk-1.6.0.29:1.6/1.6::gentoo, installed) >=sys-libs/glibc-2.7 required by (sys-libs/pam-1.1.3:0/0::gentoo, installed) sys-libs/glibc:2.2 required by (virtual/libc-0:0/0::gentoo, installed) For more information about Blocked Packages, please refer to the following section of the Gentoo Linux x86 Handbook (architecture is irrelevant): https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages !!! The following installed packages are masked: - sys-devel/gcc-4.5.4::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Michał Górny <mgorny@gentoo.org>, Andreas K. Hüttel <dilfridge@gentoo.org>, # Matthias Maier <tamiko@gentoo.org> (21 May 2017 and later updates) # These old versions of toolchain packages (binutils, gcc, glibc) are no # longer officially supported and are not suitable for general use. Using # these packages can result in build failures (and possible breakage) for # many packages, and may leave your system vulnerable to known security # exploits. # If you still use one of these old toolchain packages, please upgrade (and # switch the compiler / the binutils) ASAP. If you need them for a specific # (isolated) use case, feel free to unmask them on your system. - sys-devel/gcc-4.8.5::gentoo (masked by: package.mask) - sys-devel/binutils-2.29.1-r1::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
红色标注的话意思是想要安装的包被 sys-devel/bison-2.7 给阻塞了,所以我打算先更新 sys-devel/bison
sudo emerge sys-devel/bison
上面命令运行没报错,bison更新完了,那再次更新 glibc
sudo emerge sys-libs/glibc
?glibc也更新成功了, 感觉离成功不远啦!
Note: 更新完glibc,要记得去重启cron,不然会cronjob会如下错误:
Feb 28 17:15:01 staging cron[18908]: PAM unable to dlopen(/lib/security/pam_unix.so): /lib/libcrypt.so.1: symbol __open_nocancel, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference Feb 28 17:15:01 staging cron[18908]: PAM adding faulty module: /lib/security/pam_unix.so Feb 28 17:15:01 staging cron[18908]: Module is unknown
返回再次运行
sudo emerge -qav portage
给出如下错误:
!!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-python/setuptools:0 (dev-python/setuptools-40.6.3:0/0::gentoo, ebuild scheduled for merge) pulled in by >=dev-python/setuptools-34[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (app-portage/gemato-14.0:0/0::gentoo, ebuild scheduled for merge) ^^ ^^ dev-python/setuptools[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/pyblake2-1.1.2:0/0::gentoo, ebuild scheduled for merge) dev-python/setuptools[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/certifi-2018.4.16:0/0::gentoo, ebuild scheduled for merge) dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (app-portage/gemato-14.0:0/0::gentoo, ebuild scheduled for merge) (dev-python/setuptools-30.4.0:0/0::gentoo, installed) pulled in by dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/certifi-2016.9.26:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/chardet-2.3.0:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/cryptography-1.7.1:0/0::gentoo, installed) >=dev-python/setuptools-18.2[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/pip-7.1.2:0/0::gentoo, installed) dev-python/certifi:0 (dev-python/certifi-2018.4.16:0/0::gentoo, ebuild scheduled for merge) pulled in by >=dev-python/certifi-2016.9.26[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/setuptools-40.6.3:0/0::gentoo, ebuild scheduled for merge) (dev-python/certifi-2016.9.26:0/0::gentoo, installed) pulled in by dev-python/certifi[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/urllib3-1.16:0/0::gentoo, installed) >=dev-python/certifi-2016.9.26[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/setuptools-30.4.0:0/0::gentoo, installed) !!! The following installed packages are masked: - sys-devel/gcc-4.5.4::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Michał Górny <mgorny@gentoo.org>, Andreas K. Hüttel <dilfridge@gentoo.org>, # Matthias Maier <tamiko@gentoo.org> (21 May 2017 and later updates) # These old versions of toolchain packages (binutils, gcc, glibc) are no # longer officially supported and are not suitable for general use. Using # these packages can result in build failures (and possible breakage) for # many packages, and may leave your system vulnerable to known security # exploits. # If you still use one of these old toolchain packages, please upgrade (and # switch the compiler / the binutils) ASAP. If you need them for a specific # (isolated) use case, feel free to unmask them on your system. - sys-devel/gcc-4.8.5::gentoo (masked by: package.mask) - sys-devel/binutils-2.29.1-r1::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
跟刚才的错误消息类似,glibc包的错误没有了,但是gcc的错误依然在:
- sys-devel/gcc-4.5.4::gentoo (masked by: package.mask)
那就更新 gcc吧,运行了命令:
sudo emerge sys-devel/gcc
这个命令运行了很久很久~~~
最后成功了安装了gcc的最新版本 sys-devel/gcc-7.3.0-r3
再次运行
sudo emerge -qav portage
然而结果还是跟没安装gcc之前一样,没有变化。
查看gss版本:
emerge -p --depclean sys-devel/gcc
结果如下
Calculating dependencies... done! >>> Calculating removal order... >>> These are the packages that would be unmerged: sys-devel/gcc selected: 4.5.4 4.8.5 5.4.0-r3 6.4.0-r1 protected: none omitted: 7.3.0-r3 All selected packages: =sys-devel/gcc-5.4.0-r3 =sys-devel/gcc-4.8.5 =sys-devel/gcc-6.4.0-r1 =sys-devel/gcc-4.5.4 >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. Packages installed: 361 Packages in world: 85 Packages in system: 43 Required packages: 357 Number to remove: 4
没辙了,毅然决然删除旧版本gcc
sudo emerge -C sys-devel/gcc-4.5.4 sudo emerge -C sys-devel/gcc-4.8.5
成功删除!
再再再次运行
sudo emerge -qav portage
恩,这下结果有变,gcc的错误没有了
!!! The following installed packages are masked: - sys-devel/binutils-2.29.1-r1::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Michał Górny <mgorny@gentoo.org>, Andreas K. Hüttel <dilfridge@gentoo.org>, # Matthias Maier <tamiko@gentoo.org> (21 May 2017 and later updates) # These old versions of toolchain packages (binutils, gcc, glibc) are no # longer officially supported and are not suitable for general use. Using # these packages can result in build failures (and possible breakage) for # many packages, and may leave your system vulnerable to known security # exploits. # If you still use one of these old toolchain packages, please upgrade (and # switch the compiler / the binutils) ASAP. If you need them for a specific # (isolated) use case, feel free to unmask them on your system. For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
这下改更新binutils了
sudo emerge sys-devel/binutils
binutils从 2.29.1-r1 更新到 2.30-r4,下面就删除旧版本
sudo emerge -C sys-devel/binutils-2.29.1-r1
再再再再次运行
sudo emerge -qav portage
这下错误信息只剩一种了:
!!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-python/setuptools:0 (dev-python/setuptools-40.6.3:0/0::gentoo, ebuild scheduled for merge) pulled in by >=dev-python/setuptools-34[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (app-portage/gemato-14.0:0/0::gentoo, ebuild scheduled for merge) ^^ ^^ dev-python/setuptools[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/pyblake2-1.1.2:0/0::gentoo, ebuild scheduled for merge) dev-python/setuptools[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/certifi-2018.4.16:0/0::gentoo, ebuild scheduled for merge) dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (app-portage/gemato-14.0:0/0::gentoo, ebuild scheduled for merge) (dev-python/setuptools-30.4.0:0/0::gentoo, installed) pulled in by dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/certifi-2016.9.26:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/chardet-2.3.0:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/cryptography-1.7.1:0/0::gentoo, installed) >=dev-python/setuptools-18.2[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/pip-7.1.2:0/0::gentoo, installed) dev-python/certifi:0 (dev-python/certifi-2018.4.16:0/0::gentoo, ebuild scheduled for merge) pulled in by >=dev-python/certifi-2016.9.26[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/setuptools-40.6.3:0/0::gentoo, ebuild scheduled for merge) (dev-python/certifi-2016.9.26:0/0::gentoo, installed) pulled in by dev-python/certifi[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/urllib3-1.16:0/0::gentoo, installed) >=dev-python/certifi-2016.9.26[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/setuptools-30.4.0:0/0::gentoo, installed)
这个里面的重点错误消息是:
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
于是google了第一句出错消息,果然有很多人遇到类似情况,看着大家建议更新标注的那些包, 我这边就是 dev-python/setuptools:0 和 dev-python/certifi:0
于是乎就一一更新
sudo emerge dev-python/setuptools
运行结果跟上一个命令 ` sudo emerge -qav portage ` 一样,没有变化。
傻傻又更新一次另外一个包:
sudo emerge dev-python/certifi
还是同样结果~~
不能放弃,眼看就要成功了!
又google了下,运行
sudo emerge --ask --oneshot dev-python/setuptools-30.4.0 dev-python/certifi-2016.9.26
提示如下,这个错误有点low:
!!! 'dev-python/setuptools-30.4.0' is not a valid package atom. !!! Please check ebuild(5) for full details.
我有点病急乱投医了,整个过程都是在尝试,尝试。
恩,再试,更新 setuptools
sudo emerge -u dev-python/setuptools
命令结果如下:
dev-python/certifi:0 (dev-python/certifi-2018.4.16:0/0::gentoo, ebuild scheduled for merge) conflicts with >=dev-python/certifi-2016.9.26[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/setuptools-30.4.0:0/0::gentoo, installed) dev-python/certifi[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/urllib3-1.16:0/0::gentoo, installed) dev-python/setuptools:0 (dev-python/setuptools-40.6.3:0/0::gentoo, ebuild scheduled for merge) conflicts with dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/certifi-2016.9.26:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/chardet-2.3.0:0/0::gentoo, installed) dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/cryptography-1.7.1:0/0::gentoo, installed) >=dev-python/setuptools-18.2[python_targets_python2_7(-),python_targets_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/pip-7.1.2:0/0::gentoo, installed) >>> Recording dev-python/setuptools in "world" favorites file... >>> Auto-cleaning packages... >>> No outdated packages were found on your system.
额,要不从最后一个下手:
required by (dev-python/pip-7.1.2:0/0::gentoo, installed)
更新pip
sudo emerge -u dev-python/pip
恩!更新成功,还是有望搞定的。
返回运行
sudo emerge -u dev-python/setuptools
哇,竟然没有错误了,这么神奇
再再再再再运行那个万恶之源的命令
sudo emerge -qav portage
惊喜,意外,提示我可以更新了!!!!!
...... [ebuild N ] app-crypt/pinentry-1.1.0-r2 USE="ncurses -caps -emacs -fltk -gnome-keyring -gtk -qt5 -static" [ebuild N ] dev-python/bz2file-0.98 PYTHON_TARGETS="python2_7 (-pypy)" [ebuild N ] app-crypt/gnupg-2.2.10 USE="bzip2 nls readline smartcard ssl -doc -ldap (-selinux) -tofu -tools -usb -wks-server" [ebuild N ] dev-python/pyblake2-1.1.2 PYTHON_TARGETS="python2_7 python3_6 (-pypy) (-pypy3) -python3_4 -python3_5 (-python3_7)" [ebuild N ] app-portage/gemato-14.0 USE="blake2 bzip2 gpg -lzma -sha3 -test -tools" PYTHON_TARGETS="python2_7 python3_6 (-pypy) -python3_4 -python3_5 (-python3_7)" [ebuild R ] sys-apps/portage-2.3.51-r1 USE="(ipc) native-extensions rsync-verify* xattr -build -doc -epydoc -gentoo-dev (-selinux)" PYTHON_TARGETS="python2_7 python3_6 (-pypy) -python3_4 -python3_5 (-python3_7)" Would you like to merge these packages? [Yes/No] yes >>> Verifying ebuild manifests >>> Emerging (1 of 18) app-crypt/openpgp-keys-gentoo-release-20190102::gentoo >>> Installing (1 of 18) app-crypt/openpgp-keys-gentoo-release-20190102::gentoo >>> Emerging (2 of 18) dev-libs/libunistring-0.9.10::gentoo >>> Installing (2 of 18) dev-libs/libunistring-0.9.10::gentoo >>> Emerging (3 of 18) dev-libs/libgpg-error-1.29::gentoo >>> Installing (3 of 18) dev-libs/libgpg-error-1.29::gentoo >>> Emerging (4 of 18) dev-libs/libassuan-2.5.1::gentoo >>> Installing (4 of 18) dev-libs/libassuan-2.5.1::gentoo
至此,portage更新成功,
返回安装letsencrypt需要的包,
sudo emerge -av app-crypt/certbot app-crypt/certbot-nginx
成功!!!
下面就跟着certbot官网教程来安装免费SSL啦,Yeah!!
https://certbot.eff.org/lets-encrypt/gentoo-nginx