Como faço para que o Portage sempre selecione para instalar e atualizar para a última versão disponível do software selecionado?

1

Gostaria que o Portage sempre instalasse a versão mais recente disponível do software selecionado (ou seja, o software especificado ao executar emerge , juntamente com todas as dependências relevantes que também precisam ser instaladas) e atualizasse para a última versão disponível (ou seja, na minha cópia local da Árvore do Portage) do software instalado durante a execução:

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

Eu sei que o Portage, por padrão, instala ou atualiza para (a menos que especificado de outra forma) a melhor versão disponível do software em questão, que não é necessariamente a mais recente (pois a última pode ter problemas de estabilidade). Eu gostaria de saber como fazer com que meu VM Gentoo Linux seja mais avançado, com apenas o software mais recente em minha cópia local da Árvore do Portage. Eu sei que teoricamente eu poderia seguir o caminho manual e reinstalar cada software, selecionando a versão mais recente disponível, mas como você pode perceber isso seria incrivelmente tedioso e eu teria que refazê-lo regularmente para manter o sistema sangrento. , então eu estava me perguntando se existe uma maneira mais simples de fazer isso.

    
por Brenton Horne 08.04.2016 / 15:44

1 resposta

1

O mais próximo que você pode chegar ao limite da portage tree é usar ACCEPT_KEYWORDS , encontrado em /etc/portage/make.conf . A variável ACCEPT_KEYWORDS é geralmente definida como estável, assim:

ACCEPT_KEYWORDS="amd64"

Adicionando o símbolo do til, da seguinte forma:

ACCEPT_KEYWORDS="~amd64"

dirá ao Portage para instalar o pacote instável de todos os pacotes no sistema. Conclua a alteração, salvando make.conf e emitindo:

emerge -e system && emerge -e world

Observe que isso é feito duas vezes porque:

  1. O primeiro sistema de passagem reconstrói os pacotes instáveis em sua toolchain , usando o conjunto de ferramentas estável.
  2. A segunda passagem pelo mundo, inclui system, que apaga o fato de que o toolchain instável foi construído com o stable, além de todos os pacotes instalados. Note que um sistema com um Desktop, ou seja, o KDE, conterá cerca de 1.400 pacotes

Para dar um passo além, que é o que você está tentando abordar, instale app-portage/eix ou alguma outra ferramenta de indexação que pesquise por números de versão e desmascare e instale o Live Ebuilds, ou seja, as versões do pacote que terminam em 9999 . Esteja ciente de que nem todo pacote tem um Live Ebuild, mas cada pacote tem uma contraparte instável, ou seja, aqueles em ~amd64 ou ~x86 . Como exemplo de sistema, recentemente reinstalado, mas mantido há mais de 4 anos (migrei dados em /home e /etc/portage várias vezes), apresento um arquivo de palavras-chave com comentários apropriados. É assim que você mistura branches, como eu executo um sistema estável, que usa esses pacotes instáveis:

# 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

Observe que o sinal de igual permite o controle exato de versões. O versionamento exato será removido assim que as versões acima das notáveis ficarem estáveis. O KDE5 foi recentemente escalado para estável, mas o pacote apps-meta foi colocado de volta na instável. Veja a notícia 2016-04-02 KDE Plasma 5 Upgrade pelo motivo válido que foi feito.

    
por 13.04.2016 / 05:28

Tags