Procedimento ideal para atualizar o Gentoo Linux?

23

É assim que estou atualizando o Gentoo há muito tempo. Este é o método recomendado ? Quaisquer pegadinhas ou métodos melhores para usar?

emerge --sync
emerge -uDav --tree world
emerge -av --depclean
revdep-rebuild -v -- --ask
dispatch-conf
glsa-check -t all
glsa-check -f all
    
por cowgod 19.05.2009 / 17:51

10 respostas

5

Parece que você está coberto. A única outra dica é talvez levar um pouco mais lento do que uma atualização por atacado cega. Você sempre pode atualizar os pacotes ou cadeias de dependências individualmente com emerge -DNuav <atom> em vez de world (use --oneshot para coisas que você não deseja adicionar ao arquivo do mundo, como bibliotecas do sistema, por exemplo).

Observe que é sempre mais fácil fazer isso se você se manter atualizado regularmente, em vez de usar atualizações em lote monolíticas a cada dois meses. Além disso, para evitar muitas surpresas, talvez seja útil inscrever-se em uma das listas de discussão, como gentoo-user (AVISO: ~ 100 emails por dia nesta lista), já que praticamente todos os principais problemas de atualização provavelmente serão exibidos a lista com muita discussão explicando como resolvê-los.

Eu diria que a próxima grande atualização "problemática" será a migração para o openrc, uma vez que se torne estável (foi feito no meio do ano passado com apenas alguns problemas, principalmente com mudanças de rede).

    
por 30.06.2009 / 04:18
8

Estou usando os mesmos passos que você, exceto:

  • eix-sync em vez de emerge --sync porque gosto de ver as alterações na árvore do portage. Isso é especialmente bom para perceber que os pacotes que eu gostaria de instalar são novos na árvore.

  • layman -S (ocasionalmente) antes do emerge principal para sincronizar as alterações nas sobreposições.

  • eclean-dist -d após o revdep-rebuild para limpar tarballs obsoletos. Eu faço isso depois de cada emerge, porque os downgrads de pacotes não são tão comuns.

  • eix-test-obsolete como a última etapa para ajudar a manter meus arquivos do / etc / portage em ordem e atualizados. Isso também me permite saber quando eu instalei pacotes que foram completamente removidos do portage, então eu preciso ir buscar o ebuild do repositório. Um exemplo recente, tenho que mascarar todas as versões do iproute2 > 2.6.22.20070710 devido ao antigo kernel rodando no meu Xen VPS, mas foi recentemente removido do portage.

eix-sync e eix-test-obsolete estão em app-portage / eix.

eclean-dist está em app-portage / gentoolkit.

    
por 10.06.2009 / 05:39
5
  1. emerge --sync ou eix-sync ou emerge-delta-webrsync e eix-update
  2. emerge -av portage
  3. eclean-dist

Verifique se um dos cabeçalhos linux, glibc, binutils, libtool ou gcc possui uma atualização magor (por exemplo, atualizações do gcc de 4.6 para 4.8). Se não for, vá para o passo 11.

Reconstrução completa:

  1. rm -rf PKGDIR/* Substitua o PKGDIR pelo seu caminho para o diretório do pacote!
  2. emerge -av linux-headers glibc binutils gcc-config libtool gcc
  3. gcc-config <number of new gcc> Mudar para o novo gcc
  4. source /etc/profile
  5. emerge -avb glibc binutils gcc libtool
  6. emerge -avbke system
  7. emerge -avbke world

Se você tiver algum problema na etapa 10 ou 11, corrija-o e tente novamente

Atualize o mundo:

  1. Limpe seu arquivo mundial /var/lib/portage/world de pacotes desnecessários e verifique /etc/portage entidades
  2. fixpackages
  3. emerge -avuDN world
  4. eselect python update
  5. python-updater -- -av
  6. perl-cleaner --all -- -av
  7. emerge -a --depclean
  8. revdep-rebuild -i -- -av

Se você tiver algum problema nas etapas 14 a 18, corrija-o e repita todas as etapas da etapa 13

  1. etc-update ou dispatch-conf
  2. glsa-check -vp affected Você pode ter pacotes afetados em slots após a atualização
  3. emaint --check all
por 24.12.2014 / 11:16
3

Se o seu objetivo é ter o mais recente de todos os pacotes, então sim, isso parece cobrir todas as bases. Estou surpreso que isso tenha funcionado para você por um longo tempo, porque eu imagino que você seria mordido com frequência por bloqueios, depsões quebradas, etc. Nos últimos dois anos, eu me tornei muito mais cuidadoso com atualizações por atacado, escolhendo em vez de fazê-lo por partes depois de visualizar a árvore de atualização. O desenvolvimento do Gentoo parece ter passado seu auge. Talvez seja por causa da ascensão do Ubuntu.

De qualquer forma, uma coisa adicional que você pode tentar, apenas para ser realmente exigente em todo o processo, é limpar seus distfiles. Existem scripts por aí, se você pesquisar.

    
por 19.05.2009 / 18:09
3
glsa-check -t all
glsa-check -f all

Isso é o que você deve executar primeiro. Não é necessário atualizar todos os pacotes.

Ah, e eu prefiro cfg-update;)

    
por 29.05.2009 / 14:47
1

Isso é o que eu faço:

emerge --sync         //Synchronize the package manager with the latest 
                      //version of each package.


emerge -aDvNu system  //updates the system, but only important if you want the
                      //latest stable version of the actual compiler and libraries
                      //with the core system.

emerge -uDNav world   //world means everything we've asked to be emerged before
                      //this does not include things that came pre installed.
                      //N means if you change your use directives in 
                      //your make.conf file to pull in the new packages.

emerge -av depclean   //removes libraries or programs that don't have any other 
                      //dependencies because of an update.


revdep-rebuild        //means if something is broken by an update, it 
                      //recompiles it.  Fixes dynamic and static linking problems.

Se você não entender completamente os comentários, leia isso porque é a autoridade sobre como atualizar seus pacotes do gentoo.

link

    
por 20.09.2013 / 23:31
0

Seu processo está correto, embora a execução de todos os comandos provavelmente não seja necessária, geralmente eu faço apenas uma sincronização e um mundo de atualização. O Emerge informará normalmente se você precisar executar um script para reconstruir o arquivo, como durante uma grande atualização do Python, e também informará quando mesclar as alterações de configuração. Já que o Gentoo não tem um caminho de atualização de versão para versão. No momento em que você sai mundo, você tem a última versão.

    
por 19.05.2009 / 18:10
0

Durante muito tempo, sempre usei este procedimento:

emerge -f --update --newuse --deep world && emerge --update --newuse --deep world

Eu, pelo meu, prefiro atualizar durante a noite. Mas às vezes acontece que algo falha e você tem que baixar todos (ou alguns) programas novamente.

Talvez a opção --newuse não seja desnecessária, mas geralmente estou editando meu make.conf para que isso faça sentido para mim.

    
por 31.05.2009 / 20:34
0

Parece ótimo, embora eu não seja tão rápido em me depleanar.

A menos que você tenha um requisito como baixo espaço em disco rígido, poderá voltar e deplamentar em intervalos menos regulares. Não há nenhum mal tê-los por um curto período. Se você teve a infelicidade de notar alguns pacotes quebrados após a atualização, você teria certeza de que eles não são um resultado da remoção de quaisquer dependências soltas.

    
por 10.06.2009 / 08:46
0

É assim que faço no meu VPS:

passo 0 (de / etc / crontab)

0 0   * * *     root    emerge --sync &> /dev/null

etapa 1:

emerge --update --deep --newuse world -av

etapa 2:

emerge --depclean && revdep-rebuild && eclean-pkg && rm /usr/portage/distfiles/*
    
por 30.06.2009 / 04:01

Tags