如何让 Portage 始终选择安装并升级到所选软件的最新可用版本?

如何让 Portage 始终选择安装并升级到所选软件的最新可用版本?

我想让 Portage 始终安装所选软件的最新可用版本(即,运行时指定的软件emerge,以及还需要安装的所有相关依赖项),并升级到最新可用版本(即,在我的本地运行时已安装软件的 Portage Tree 副本:

emerge -uDU --with-bdeps=y @world

。我知道 Portage 默认情况下安装或升级到(除非另有说明)最好的相关软件的可用版本,不一定是最新的(因为最新的可能存在稳定性问题)。我想知道如何让我的 Gentoo Linux VM 处于最前沿,仅使用我本地 Portage Tree 副本中的最新软件。我知道理论上我可以采用手动方式重新安装每个软件,选择可用的最新版本,但正如您所知,这将是非常乏味的,我必须定期重新执行此操作以保持系统前沿,所以我想知道是否存在更简单的方法。

答案1

就 portage 树而言,最接近前沿的是使用ACCEPT_KEYWORDS,可以在 中找到/etc/portage/make.conf。该ACCEPT_KEYWORDS变量通常设置为稳定,如下所示:

ACCEPT_KEYWORDS="amd64"

添加波形符,如下所示:

ACCEPT_KEYWORDS="~amd64"

会告诉 Portage 安装系统上每个软件包的不稳定软件包。通过保存make.conf并发出来完成更改:

emerge -e system && emerge -e world

请注意,这会执行两次,因为:

  1. 第一次通过系统会重建您的不稳定软件包工具链,使用稳定的工具链。
  2. 第二次穿越世界,包括系统,它消除了不稳定工具链是用稳定工具链构建的这一事实,以及每个已安装的软件包。请注意,带有桌面的系统(即 KDE)将包含近 1,400 个软件包

要更进一步,您正在尝试安装app-portage/eix或其他一些按版本号进行搜索的索引工具,取消屏蔽并安装 Live Ebuilds,即以 9999 结尾的软件包版本。请注意,并非每个包都有 Live Ebuild,但每个包确实都有不稳定的对应项,即 、~amd64或中的包~x86。作为一个最近重新安装但维护了 4 年多的系统的示例(我已经在我的/home和中迁移了数据/etc/portage多次),我提供了一个正确注释的关键字文件。当我运行一个使用这些不稳定软件包的稳定系统时,这就是混合分支的方式:

# I could restore this from backup
# but it needs cleaning so I'm
# rebuilding it from scratch

# Added Feb. 1, 2015
# Reason: Needed for Emptytree to Finish
# Package Name          Arch
media-gfx/graphviz      ~amd64

# Added Feb. 5, 2015
# Reason: Added for VirtualMachines
# Package Name          Arch
app-emulation/winetricks    ~amd64
dev-lang/ruby           ~amd64
app-emulation/vagrant       ~amd64
dev-ruby/racc           ~amd64
dev-ruby/rdoc           ~amd64
dev-ruby/i18n           ~amd64
dev-ruby/rake           ~amd64
dev-ruby/net-ssh        ~amd64
dev-ruby/json           ~amd64
dev-ruby/log4r          ~amd64
dev-ruby/ffi            ~amd64
dev-ruby/childprocess       ~amd64
virtual/ruby-ssl        ~amd64
virtual/rubygems        ~amd64
dev-ruby/net-scp        ~amd64
dev-lang/ruby           ~amd64
app-eselect/eselect-ruby    ~amd64
dev-ruby/rubygems       ~amd64

# Added Feb 17, 2015
# Reason: World Update
# Package Name          Arch
dev-ruby/minitest       ~amd64
dev-ruby/power_assert       ~amd64
dev-ruby/test-unit      ~amd64

# Added Feb 20, 2015
# Reason: Required for Blender
# Package Name          Arch
sci-libs/ldl            ~amd64
media-gfx/blender       ~amd64

# Added Feb 23, 2015
# Reason: Required for eclean-kernel
# Package Name          Arch
dev-python/pymountboot      ~amd64
app-admin/eclean-kernel     ~amd64

# Added Feb 25, 2015
# Reason: Needed for net-lbs/ortp rebuild
# Package Name          Arch
media-libs/mediastreamer    ~amd64

# Added Mar 1, 2015
# Reason: Needed for Skype
# Package Name          Arch
net-im/skype            ~amd64

# Added Mar 30, 2015
# Reason: Needed for Switch to new multilib ABI
# Package Name          Arch
dev-qt/qtcore:4         ~amd64
dev-qt/qtdbus:4         ~amd64
dev-qt/qttranslations:4     ~amd64
dev-qt/qtchooser:4      ~amd64
dev-qt/qtgui:4          ~amd64
dev-qt/qtwebkit:4       ~amd64
dev-qt/qtxmlpatterns:4      ~amd64
dev-qt/qt3support:4         ~amd64
dev-qt/qtsql:4          ~amd64
dev-qt/qtscript:4       ~amd64
dev-qt/qtdeclarative:4      ~amd64
dev-qt/qtnetwork:4      ~amd64
dev-qt/qttest:4         ~amd64
dev-qt/qtwidgets:4      ~amd64
dev-qt/qtsvg:4          ~amd64
dev-qt/qtopengl:4       ~amd64
dev-qt/designer:4       ~amd64
dev-qt/qt-meta:4        ~amd64

sys-devel/automake      ~amd64
dev-libs/libgcrypt      ~amd64
dev-libs/libgcrypt      ~amd64
virtual/acl             ~amd64
sys-devel/gettext       ~amd64
sys-devel/automake-wrapper  ~amd64

# Added Mar 31, 2015
# Reason: Added for Eve Online to work
# Package Name          Arch
#x11-drivers/nvidia-drivers ~amd64
app-emulation/wine      ~amd64

# Added Jun 29, 2015
# Reason: Added Native Plugin Suport
# Package Name          Arch
www-plugins/pipelight       ~amd64

# Added Jul 20, 2015
# Reason: Needed for new Stable dev-libs/boost.  See Bug #540190
# Package Name              Arch
sys-block/thin-provisioning-tools   ~amd64

# Added Aug 11, 2015
# Reason: Added new Turn based RPG
# Package Name          Arch
games-roguelike/tome4       ~amd64

# Added Sep. 9, 2015
# Reason: Trying Webmin
# Package Name          Arch
app-admin/webmin        ~amd64
dev-perl/Crypt-OpenSSL-DSA  ~amd64
dev-perl/Net-DNS-SEC        ~amd64
net-dns/dnssec-tools        ~amd64
dev-perl/Authen-Libwrap     ~amd64
dev-perl/Getopt-GUI-Long    ~amd64

# Added Sep. 29, 2015
# Reason: Need newest Java for Minecraft
# Package Name          Arch
dev-java/oracle-jdk-bin     ~amd64
dev-java/oracle-jre-bin     ~amd64

# Added Sep. 30, 2015
# Reason: Needed for Skype
# Package Name          Arch
dev-libs/sni-qt         ~amd64

# Added Jan. 12,2016
# Reason: Needed for World Update
# Package Name          Arch
dev-ruby/net-telnet     ~amd64
dev-ruby/did_you_mean       ~amd64

# Added Jan. 27,2016
# Reason: Needed for World Update
# Package Name          Arch
dev-ruby/abstract       ~amd64
dev-ruby/erubis         ~amd64
dev-ruby/rb-inotify     ~amd64
dev-ruby/hashicorp-checkpoint   ~amd64
dev-ruby/bundler        ~amd64
dev-ruby/rest-client        ~amd64
dev-ruby/net-sftp       ~amd64
virtual/ruby-ffi        ~amd64
dev-ruby/listen         ~amd64

# Added Feb. 21, 2016
# Reason: Netbeans 8.1 supports PHP 5.6 and CakePHP 3.x
# Package Name          Arch
dev-util/netbeans       ~amd64
dev-java/jtidy          ~amd64
dev-java/jcommander     ~amd64
dev-java/netbeans-harness   ~amd64
dev-java/netbeans-dlight    ~amd64
dev-java/netbeans-webcommon ~amd64
dev-java/netbeans-websvccommon  ~amd64
dev-java/netbeans-java      ~amd64
dev-java/testng         ~amd64
dev-java/netbeans-platform  ~amd64
dev-java/netbeans-ide       ~amd64
dev-java/netbeans-mobility  ~amd64
dev-java/snakeyaml      ~amd64
dev-java/netbeans-extide    ~amd64
dev-java/netbeans-php       ~amd64
dev-java/netbeans-apisupport    ~amd64
dev-java/netbeans-cnd       ~amd64
dev-java/netbeans-enterprise    ~amd64
dev-java/netbeans-profiler  ~amd64
dev-java/guice          ~amd64
dev-java/netbeans-nb        ~amd64
dev-java/iso-relax      ~amd64

# Added Mar. 16, 2016
# Reason: See News Item 27, needed for long overdue World Update
# Package Name          Arch
app-admin/apache-tools      ~amd64
www-servers/apache      ~amd64

# Added Mar.26, 2016
# Reason: Trying to fix Istaria
# Package Name          Arch
app-emulation/playonlinux   ~amd64

# Added Mar.26, 2016
# Reason: Finally Configuring CUPS
# Package Name          Arch
net-print/hplip         ~amd64

# Added Apr. 9, 2016
# Reason: Tools Needed for Systemd migration
# Package Name          Arch
sys-kernel/genkernel-next   ~amd64
sys-kernel/dracut       ~amd64

# Added Apr. 11, 2016
# Reason: Needed for KDE Plasma Migration
# Using Exact Versions Will Fill the Gap until these are stabilized. 
# Meta Packages
# Package Name              Arch
=kde-apps/kdenetwork-meta-15.12.3-r1    ~amd64
=kde-apps/kde-apps-meta-15.12.3-r3  ~amd64
=kde-apps/kdebase-runtime-meta-15.12.3  ~amd64
=kde-apps/kdeutils-meta-15.12.3     ~amd64
=kde-apps/kdeadmin-meta-15.12.3     ~amd64
=kde-apps/kdegames-meta-15.12.3     ~amd64
=kde-apps/kdegraphics-meta-15.12.3  ~amd64
=kde-apps/kdeedu-meta-15.12.3-r1    ~amd64
=kde-apps/kdemultimedia-meta-15.12.3    ~amd64
=kde-apps/kdecore-meta-15.12.3      ~amd64
=kde-apps/kdetoys-meta-15.08.3      ~amd64
# Packages in Meta Packages
# Package Name              Arch
=kde-apps/kiten-15.12.3         ~amd64
=kde-apps/kiconfinder-15.12.3       ~amd64
=kde-apps/klettres-15.12.3      ~amd64
=kde-apps/step-15.12.3          ~amd64
=kde-apps/libkdcraw-15.12.3         ~amd64
=kde-apps/libkipi-15.12.3       ~amd64
=kde-apps/kwalletmanager-15.12.3    ~amd64
=kde-apps/renamedlg-plugins-15.12.3     ~amd64
=kde-apps/krfb-15.12.3          ~amd64
=kde-apps/kgeography-15.12.3        ~amd64
=kde-apps/killbots-15.12.3      ~amd64
=kde-apps/katomic-15.12.3       ~amd64
=kde-apps/knavalbattle-15.12.3      ~amd64
=kde-apps/kreversi-15.12.3      ~amd64
=kde-apps/artikulate-15.12.3        ~amd64
=kde-apps/kwrite-15.12.3        ~amd64
=kde-apps/kmahjongg-15.12.3         ~amd64
=kde-apps/kruler-15.12.3        ~amd64
=kde-apps/kshisen-15.12.3       ~amd64
=kde-apps/kollision-15.12.3-r1      ~amd64
=kde-apps/rocs-15.12.3          ~amd64
=kde-apps/kpat-15.12.3-r1       ~amd64
=kde-apps/ktimezoned-15.12.3        ~amd64
=kde-apps/kbreakout-15.12.3         ~amd64
=kde-apps/okular-15.12.3        ~amd64
=kde-apps/kreadconfig-15.12.3       ~amd64
=kde-apps/kig-15.12.3           ~amd64
=kde-apps/kcolorchooser-15.12.3     ~amd64
=kde-apps/kdebase-menu-15.12.3      ~amd64
=kde-apps/libkexiv2-15.12.3         ~amd64
=kde-apps/solid-runtime-15.12.3     ~amd64
=kde-apps/kcharselect-15.12.3       ~amd64
=kde-apps/dolphin-15.12.3-r1        ~amd64
=kde-apps/kteatime-15.12.3      ~amd64
=kde-apps/kamera-15.12.3        ~amd64
=dev-cpp/eigen-3.2.8-r2         ~amd64
=kde-apps/kdebugsettings-15.12.3    ~amd64
=kde-apps/kcron-15.12.3         ~amd64
=kde-apps/ark-15.12.3           ~amd64
=kde-apps/kimgio-15.12.3        ~amd64
=kde-apps/kopete-15.12.3        ~amd64
=kde-apps/knotify-15.12.3       ~amd64
=kde-apps/kioclient-15.12.3         ~amd64
=kde-apps/kigo-15.12.3          ~amd64
=kde-apps/bomber-15.12.3        ~amd64
=kde-apps/libkmahjongg-15.12.3      ~amd64
=kde-apps/krdc-15.12.3          ~amd64
=kde-apps/libkcddb-15.12.3      ~amd64
=kde-apps/ktuberling-15.12.3        ~amd64
=kde-apps/kdebase-menu-icons-15.12.3    ~amd64
=kde-apps/kblackbox-15.12.3         ~amd64
=kde-apps/ksystemlog-15.12.3        ~amd64
=kde-apps/kdebugdialog-15.12.3      ~amd64
=kde-apps/kmix-15.12.3          ~amd64
=kde-apps/libkeduvocdocument-15.12.3    ~amd64
=kde-apps/kdf-15.12.3           ~amd64
=kde-apps/phonon-kde-15.12.3        ~amd64
=kde-apps/svgpart-15.12.3       ~amd64
=kde-apps/kolf-15.12.3          ~amd64
=kde-apps/kfourinline-15.12.3-r1    ~amd64
=kde-apps/filelight-15.12.3         ~amd64
=kde-apps/kturtle-15.12.3       ~amd64
=kde-apps/kdiamond-15.12.3      ~amd64
=kde-apps/kfile-15.12.3         ~amd64
=kde-apps/kiriki-15.12.3        ~amd64
=kde-apps/kcalc-15.12.3-r1      ~amd64
=kde-apps/kdebase-data-15.12.3      ~amd64
=kde-apps/kanagram-15.12.3      ~amd64
=kde-apps/kdenlive-15.12.3      ~amd64
=kde-plasma/kwallet-pam-5.6.2-r1    ~amd64
=kde-apps/ktimer-15.12.3        ~amd64
=kde-apps/kjumpingcube-15.12.3-r1   ~amd64
=kde-apps/sweeper-15.12.3       ~amd64
=kde-apps/ktraderclient-15.12.3     ~amd64
=kde-apps/kurifilter-plugins-15.12.3    ~amd64
=media-libs/mlt-0.9.8-r2        ~amd64
=kde-apps/palapeli-15.12.3      ~amd64
=kde-apps/klickety-15.12.3      ~amd64
=kde-apps/kmplot-15.12.3        ~amd64
=kde-apps/kapman-15.12.3        ~amd64
=kde-apps/libkdegames-15.12.3       ~amd64
=kde-apps/libksane-15.12.3      ~amd64
=kde-apps/kalzium-15.12.3-r2        ~amd64
=kde-apps/picmi-15.12.3         ~amd64
=kde-apps/ffmpegthumbs-15.12.3      ~amd64
=kde-apps/kio-extras-15.12.3        ~amd64
=kde-apps/klines-15.12.3        ~amd64
=media-video/movit-1.3.2        ~amd64
=kde-apps/kget-15.12.3          ~amd64
=kde-apps/cantor-15.12.3-r1         ~amd64
=kde-apps/ksnakeduel-15.12.3        ~amd64
=kde-apps/bovo-15.12.3          ~amd64
=kde-apps/kalgebra-15.12.3      ~amd64
=kde-apps/kajongg-15.12.3       ~amd64
=kde-apps/kolourpaint-15.12.3       ~amd64
=kde-apps/kbruch-15.12.3-r1         ~amd64
=kde-apps/kbounce-15.12.3       ~amd64
=kde-apps/kgoldrunner-15.12.3       ~amd64
=kde-apps/kblocks-15.12.3-r1        ~amd64
=kde-apps/knewstuff-15.12.3         ~amd64
=kde-apps/kcmshell-15.12.3      ~amd64
=kde-apps/kubrick-15.12.3       ~amd64
=kde-apps/konquest-15.12.3      ~amd64
=kde-apps/spectacle-15.12.3         ~amd64
=kde-apps/kde4-l10n-15.12.3-r1      ~amd64
=kde-apps/kscd-15.12.3          ~amd64
=kde-apps/kwordquiz-15.12.3-r1      ~amd64
=kde-apps/plasma-runtime-15.12.3    ~amd64
=kde-apps/print-manager-15.12.3     ~amd64
=kde-apps/kdegraphics-mobipocket-15.12.3 ~amd64
=kde-apps/kdeedu-data-15.12.3-r1    ~amd64
=kde-apps/kwalletd-15.12.3      ~amd64
=kde-apps/zeroconf-ioslave-15.12.3  ~amd64
=kde-apps/kmimetypefinder-15.12.3   ~amd64
=kde-apps/thumbnailers-15.12.3      ~amd64
=dev-libs/grantlee-5.0.0        ~amd64
=kde-apps/juk-15.12.3           ~amd64
=kde-apps/baloo-widgets-15.12.3     ~amd64
=kde-apps/kpasswdserver-15.12.3     ~amd64
=kde-apps/ksirk-15.12.3         ~amd64
=kde-apps/kdontchangethehostname-15.12.3 ~amd64
=kde-apps/granatier-15.12.3         ~amd64
=kde-apps/kstars-15.12.3        ~amd64
=kde-apps/kspaceduel-15.12.3        ~amd64
=kde-apps/ktouch-15.12.3        ~amd64
=kde-apps/ksudoku-15.12.3       ~amd64
=kde-apps/keditfiletype-15.12.3     ~amd64
=kde-apps/analitza-15.12.3      ~amd64
=kde-apps/ksquares-15.12.3      ~amd64
=kde-apps/kqtquickcharts-15.12.3    ~amd64
=kde-apps/audiocd-kio-15.12.3       ~amd64
=kde-apps/kate-15.12.3          ~amd64
=kde-apps/kremotecontrol-15.12.3    ~amd64
=kde-apps/khangman-15.12.3      ~amd64
=kde-apps/ksaneplugin-15.12.3       ~amd64
=kde-apps/kde-l10n-15.12.3      ~amd64
=kde-apps/parley-15.12.3        ~amd64
=kde-apps/knetwalk-15.12.3-r1       ~amd64
=kde-apps/konsole-15.12.3       ~amd64
=kde-apps/kstart-15.12.3        ~amd64
=kde-apps/lskat-15.12.3         ~amd64
=kde-apps/dragon-15.12.3        ~amd64
=kde-apps/libkcompactdisc-15.12.3-r1    ~amd64
=kde-apps/kdebase-desktoptheme-15.12.3  ~amd64
=kde-apps/kmines-15.12.3-r1         ~amd64
=kde-apps/kdesu-15.12.3         ~amd64
=kde-apps/blinken-15.12.3       ~amd64
=kde-apps/kquitapp-15.12.3      ~amd64
=kde-apps/kdenetwork-filesharing-15.12.3 ~amd64
=kde-apps/gwenview-15.12.3      ~amd64

请注意,等号允许精确的版本控制。一旦上述版本稳定后,确切的版本控制将被删除。 KDE5 最近升级为稳定版本,但 apps-meta 软件包又恢复为不稳定版本。请参阅新闻报道,了解2016-04-02 KDE Plasma 5 Upgrade这样做的正当理由。

相关内容