emerge 更新gcc_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, Andreas K. Hüttel ,

# Matthias Maier (21 May 2017and later updates)

# These old versions of toolchain packages (binutils, gcc, glibc) are no

# longer officially supported and are not suitableforgeneral use. Using

# these packages can resultin 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 fora specific

# (isolated) usecase, 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.

# Retainedin tree only forusers who need older versions

#forcompatibility 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 sectioninthe 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 willshowthe

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.

然后运行

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值