Gentoo

如何讓 Portage 始終選擇安裝和升級到所選軟體的最新可用版本?

  • April 13, 2016

我想讓 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

請注意,這會執行兩次,因為:

  1. 第一次通過系統使用 stable 工具鏈重建工具鏈中的不穩定包。
  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以了解這樣做的正當理由。

引用自:https://unix.stackexchange.com/questions/275146