[FUG-BR] Atualização 7.4 -> 8.X

Renato Botelho rbgarga em gmail.com
Quinta Janeiro 24 10:01:29 BRST 2013


2013/1/24 Renato Botelho <rbgarga at gmail.com>:
> 2013/1/24 Tiago Ribeiro <shasty at gmail.com>:
>> Bom dia, sempre atualizo meus servidores, mais mantenho na mesma familia
>> (6.X, 7.X, 8.X ou 9.X), estou pensando em atualizar um 7.4-STABLE para um
>> 8.X.
>>
>> Motivo: Muitos problemas com ZFS, e acho que atualizando para 8.X vou ter
>> boas melhoras.
>>
>> Problema: Preciso fazer remotamente.
>>
>> Duvida: Vou direto para o 8.3 ou primeiro para o 8.0 depois vou atualizando
>> de um em um 8.1, 8.2, 8.3 ?
>>
>> OBS: Vou fazer via svn .
>>
>> O que acham? Vai ser um tiro na testa? ou vai ser uma boa?
>
> Oi Tiago,
>
> É mesmo legal você sair da 7.x, pois ela vai deixar de ser suportada
> no próximo mês.
>
> Já fiz atualizações remotas muitas vezes, e existem meios de você
> se precaver pra evitar problemas maiores.
>
> A primeira medida é ler cautelosamente o anúncio no 8.0-RELEASE [1],
> nele você vai encontrar as principais diferenças entre os major version.
> Esse é um passo bem importante, eu me lembro quando foi do 6 pro 7
> se não me engano, e um parâmetro que eu usava no fstab deixou de
> ser suportado (nodev eu acho) e eu acabei deixando isso passar e quando
> bootei de volta não montava mais as partições.
>
> Eu atualizei vários servers de 7 pra 8 e não me lembro de nada tão
> dramático. Mesmo assim, recomendo a leitura.
>
> Um mecanismo que pode te salvar a vida é o nextboot(8), basicamente
> o que ele faz é setar um kernel alternativo para ser usado apenas no
> próximo boot. Então você instala o kernel do 8.x em /boot/kernel8 e
> manda o próximo boot ser feito por ele, se der pau e o servidor não
> voltar, basta pedir pra alguém reiniciar a máquina e ele vai bootar
> novamente no kernel do 7.x.
>
> Aconselho você a já partir pro svn sim, e pode ir direto do 7-stable
> pro 8-stable sem erro. Eu faria essa atualização da seguinte maneira:
>
> # cd /usr/ports/devel/subversion
> # make install clean
> # cd /usr
> # chflags -R noschg obj/*
> # rm -rf src/* src/.* obj/*
> # svn co http://svn.freebsd.org/base/stable/8 src
> # cd src
> # make -s -j4 buildworld buildkernel
> # mergemaster -Pp
> # make KODIR=/boot/newkernel installkernel
> # reboot
>
> Se a máquina não voltar, peça pra alguém local fazer um reboot
> pra você e rm -rf /boot/newkernel. Se ela voltar, que é o mais
> provável, prosiga:
>
> # cd /usr/src
> # make installworld
> # mergemaster -FPi
> # cd /boot
> # rm -rf kernel.old
> # mv kernel kernel.old
> # mv newkernel kernel
> # reboot

Esqueci de algo importante aqui. :)

Quando se muda de uma major version pra outra, algumas libs
mudam de versão, então você precisa recompilar os ports para
que eles sejam linkados com as novas versões. Depois disso
você pode eliminar as libs velhas do sistema. Os passos seriam:

# portmaster -afD

Se por acaso o processo parar no meio devido a algum problema
e você quiser continuar de onde parou basta rodar o mesmo
comando novamente acrescentando o -R:

# portmaster -afDR

Depois que tiver recompilado tudo, basta rodar os seguintes
comandos para remover as libs e binarios antigos:

# cd /usr/src
# make -DBATCH_DELETE_OLD_FILES delete-old delete-old-libs

Agora acho que terminou.

[]s
--
Renato Botelho


Mais detalhes sobre a lista de discussão freebsd