如何讓 Portage 始終選擇安裝和升級到所選軟體的最新可用版本?
我想讓 Portage 始終安裝所選軟體的最新可用版本(即,執行時指定的軟體
emerge
,以及所有需要安裝的相關依賴項),併升級到最新可用版本(即,在我的本地Portage Tree 的副本)執行時安裝的軟體:emerge -uDU --with-bdeps=y @world
. 我知道 Portage 預設安裝或升級到(除非另有說明)相關軟體的最佳可用版本,這不一定是最新版本(因為最新版本可能存在穩定性問題)。我想知道如何讓我的 Gentoo Linux VM 成為前沿,我的本地 Portage Tree 副本中只有最新的軟體。我知道理論上我可以採用手動方式並重新安裝每個軟體,選擇可用的最新版本,但正如您所知,這將非常乏味,我必須定期重新執行此操作以保持系統前沿,所以我想知道是否存在更簡單的方法。
ACCEPT_KEYWORDS
就portage樹而言,您可以使用的最接近前沿的方法是使用/etc/portage/make.conf
. 該ACCEPT_KEYWORDS
變數通常設置為穩定,如下所示:ACCEPT_KEYWORDS="amd64"
添加波浪號,如下所示:
ACCEPT_KEYWORDS="~amd64"
將告訴 Portage 安裝系統上每個包的不穩定包。通過保存並發出來完成更改
make.conf
:emerge -e system && emerge -e world
請注意,這會執行兩次,因為:
- 第一次通過系統使用 stable 工具鏈重建工具鏈中的不穩定包。
- 第二次穿越世界,包括系統,它消除了不穩定的工具鍊是用穩定的工具鏈建構的事實,加上每個安裝的包。請注意,帶有桌面的系統,即 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
以了解這樣做的正當理由。