我想让 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
请注意,这会执行两次,因为:
- 第一次通过系统会重建您的不稳定软件包工具链,使用稳定的工具链。
- 第二次穿越世界,包括系统,它消除了不稳定工具链是用稳定工具链构建的这一事实,以及每个已安装的软件包。请注意,带有桌面的系统(即 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
这样做的正当理由。