小记一下这两天更新服务器版本遇到的各种问题。
服务器系统: 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 , Andreas K. Hüttel ,
# Matthias Maier (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 (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 --pretendoption. 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.
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 (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 , Andreas K. Hüttel ,
# Matthias Maier (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.
标签:emerge,Gentoo,gentoo,package,portage,更新,masked,packages
来源: https://www.cnblogs.com/amanda-meng/p/10413087.html