É assim que eu atualizo o Gentoo há muito tempo. Esse é o método recomendado ? Alguma dica ou método melhor 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
Respostas:
Parece que você tem tudo coberto. A única outra dica é talvez levar um pouco mais devagar do que uma atualização por atacado cega. Você sempre pode atualizar os pacotes ou cadeias de dependência individualmente com, em
emerge -DNuav <atom>
vez deworld
(use --oneshot para itens que não deseja adicionar ao arquivo mundial, como bibliotecas do sistema, por exemplo).Observe que é sempre mais fácil fazer isso se você se mantém atualizado regularmente, em vez de procurar atualizações em lote monolíticas a cada dois meses. Além disso, para evitar muitas surpresas, talvez seja útil se inscrever em uma das listas de discussão como
gentoo-user
(AVISO: ~ 100 e-mails por dia nesta lista), pois praticamente todos os principais problemas de atualização aparecerão na lista com muita discussão explicando como resolvê-los.Eu acho que a próxima grande atualização do "problema" será a migração para o openrc assim que estiver estável (foi realizada no meio do ano passado com apenas alguns problemas, principalmente com alterações na rede).
fonte
Eu tenho usado quase as mesmas etapas que você faz, exceto:
eix-sync
em vez deemerge --sync
gostar de ver as alterações na árvore do portage. Isso é especialmente bom para perceber os pacotes que talvez eu queira instalar que são novos na árvore.layman -S
(ocasionalmente) antes do surgimento do principal para sincronizar as alterações nas sobreposições.eclean-dist -d
depoisrevdep-rebuild
de limpar tarballs obsoletos. Eu faço isso após cada emergência, porque os downgrade de pacotes não são tão comuns.eix-test-obsolete
como a última etapa para ajudar a manter meus arquivos / etc / portage organizados e atualizados. Isso também me informa quando instalo os pacotes que foram completamente removidos do portage, portanto, preciso obter o ebuild no repositório. Um exemplo recente, eu tenho que mascarar todas as versões do iproute2> 2.6.22.20070710 devido ao kernel mais antigo sendo executado no meu Xen VPS, mas ele foi removido recentemente do portage.eix-sync
eeix-test-obsolete
estão em app-portage / eix.eclean-dist
está no app-portage / gentoolkit.fonte
emerge --sync
oueix-sync
ouemerge-delta-webrsync
eeix-update
emerge -av portage
eclean-dist
Verifique se um dos cabeçalhos do linux, glibc, binutils, libtool ou gcc possui atualização magor (por exemplo, atualizações do gcc de 4.6 para 4.8). Se não estiver, vá para a etapa 11.
Reconstrução completa:
rm -rf PKGDIR/*
Substitua PKGDIR pelo seu caminho para empacotar dir!emerge -av linux-headers glibc binutils gcc-config libtool gcc
gcc-config <number of new gcc>
Mudar para o novo gccsource /etc/profile
emerge -avb glibc binutils gcc libtool
emerge -avbke system
emerge -avbke world
Se você tiver algum problema na etapa 10 ou 11, corrija-o e tente novamente
Atualizar mundo:
/var/lib/portage/world
de pacotes desnecessários e verifique/etc/portage
entidadesfixpackages
emerge -avuDN world
eselect python update
python-updater -- -av
perl-cleaner --all -- -av
emerge -a --depclean
revdep-rebuild -i -- -av
Se você tiver algum problema nas etapas 14-18, corrija-o e repita todas as etapas da etapa 13
etc-update
oudispatch-conf
glsa-check -vp affected
Você pode ter pacotes afetados nos slots após a atualizaçãoemaint --check all
fonte
Se seu objetivo é ter o mais recente absoluto de todos os pacotes, sim, isso parece cobrir todas as bases. Estou surpreso que isso funcionou para você por um longo tempo, no entanto, porque eu imaginaria que você seria mordido com frequência por blocos, deps quebrados etc. Nos últimos dois anos, tomei muito mais cuidado com a atualização por atacado, optando por fazê-lo gradualmente após visualizar a árvore de atualização. O desenvolvimento do Gentoo parece ter passado o auge. Talvez seja por causa da ascensão do Ubuntu.
De qualquer forma, outra coisa que você pode tentar, apenas para ser realmente exigente com todo o processo, é limpar seus distfiles. Existem scripts por aí, se você pesquisar.
fonte
É isso que você deve executar primeiro. Não é necessário se você atualizar todos os pacotes.
Ah, e eu prefiro cfg-update;)
fonte
Isto é o que eu faço:
Se você não entender completamente os comentários, leia isso porque é a autoridade sobre como atualizar seus pacotes do gentoo.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
fonte
Seu processo está correto, embora a execução de todos os comandos provavelmente não seja necessária, geralmente eu apenas faço um mundo de sincronização e atualização. O Emerge informa normalmente se você precisa executar um script para reconstruir o arquivo, como durante uma grande atualização do Python, e também informa quando mesclar as alterações na configuração. Como o Gentoo não possui um caminho de atualização de versão para versão. No momento em que você surge, você tem a versão mais recente.
fonte
Por um longo tempo, eu sempre usei este procedimento:
Eu, para os meus, prefiro atualizar durante a noite. Mas, às vezes, acontece que algo falha e você precisa fazer o download de todos (ou alguns) programas novamente.
Talvez a opção --newuse não seja necessária, mas muitas vezes estou editando meu make.conf para que faça sentido para mim.
fonte
Parece bom, embora eu não fosse tão rápido em executar depclean.
A menos que você tenha um requisito, como pouco espaço em disco rígido, poderá voltar e limpar com intevais menos regulares. Não há mal em tê-los por perto por um curto período. Se você teve a sorte de notar alguns pacotes quebrados após a atualização, certifique-se de que eles não resultem da remoção de dependências frouxas.
fonte
É assim que faço no meu VPS:
etapa 0 (de / etc / crontab)
passo 1:
passo 2:
fonte