Gentoo更新portage记录

小记一下这两天更新服务器版本遇到的各种问题。

服务器系统: 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.

  

 

 

上一篇:遮挡mask


下一篇:动态数据掩码