[FUG-BR] Relato de experiência atualizando FreeBSD 8.x para 9.x

Cleyton Agapito cragapito em gmail.com
Sábado Dezembro 3 15:54:58 BRST 2011


Em 3 de dezembro de 2011 14:20, Paulo Henrique BSD Brasil
<paulo.rddck em bsd.com.br> escreveu:
> Em 03/12/2011 12:32, Cleyton Agapito escreveu:
>> Em 3 de dezembro de 2011 10:08, Marcelo Gondim<gondim em bsdinfo.com.br>  escreveu:
>>> Olá Pessoal,
>>>
>>> Como sou relativamente novo no mundo do FreeBSD comparado à muitos aqui,
>>> resolvi fazer a atualização de um servidor meu (particular) que rodava
>>> FreeBSD 8.2 Stable para a versão 9.0-PREREALEASE e relatar como foi um
>>> sucesso. Creio que será interessante para aqueles que são novos assim
>>> como eu, pois estou nessa jornada um pouco mais de 1 ano apenas.
>>>
>>> Ambiente convertido:
>>>
>>> - FreeBSD 8.2 Stable.
>>> - Servidor Web Apache 2.2.21
>>> - PHP5 versão 5.3.8
>>> - MySQL Server 5.0.92
>>> - Servidor de Correio configurado pelo projeto IredMail com outras
>>> melhorias.
>>>      - Postfix 2.7.7
>>>      - Clamav 0.97.3
>>>      - Amavisd-new 2.7.0
>>>      - Dovecot 1.2.17
>>>      - Dovecot-managesieve 0.11.13
>>>      - Dovecot-sieve 1.2+0.1.18
>>>      - Roundcube 0.6_1
>>> - FTP com pure-ftpd 1.0.34 com suporte à mysql.
>>> - Ambiente de virtualização usando Virtualbox-ose 4.0.14
>>> - Sistema usando ZFS RAIDZ com 4 discos de 500Gb SATA II.
>>> - Partições do Sistema usando LABELs feito com o glabel para evitar
>>> mudanças de nomes dos dispositivos que poderia acontecer na migração da
>>> versão 8 para a 9.
>>>
>>> Um ambiente bem legal, meio heterogêneo propício à dar algum problema no
>>> processo e realmente deu mas foi bem simples de resolver.
>>>
>>> - Primeiramente fiz aquele cara que sempre nos salva dos problemas no
>>> dia-a-dia o chamado Backup. Fiz um backup geral do sistema usando TAR
>>> para o caso de eu precisar voltar tudo como estava. Na pior das
>>> hipóteses instalaria a versão 8 do zero e jogaria o TAR por cima e
>>> pronto. Resolvido.
>>>
>>> - Fui para o /usr/src e fiz o csup -g -L2 no meu arquivo sup já alterado
>>> a tag para o RELENG_9. Nessa hora um lanche caiu muito bem. :)
>>> - Dei uma olhada no arquivo /usr/src/UPDATING para ver as mudanças recentes.
>>> - Próximo passo foi fazer o: make buildworld  demorado mas foi
>>> tranquilo, não deu nenhum erro na compilação, foi perfeito!
>>> - Quando acabou fui compilar meu kernel: make buildkernel KERNCONF=GONDIM
>>> - Até aqui imaginei que não fosse dar algum problema, porque nunca tive
>>> problemas nesses processos, então fiquei tranquilo.
>>> - Fiz o make installkernel KERNCONF=GONDIM e o make installworld.
>>>
>>> - Nesse momento veio a parte que me exigiu mais atenção e de forma
>>> trabalhosa. Muitos aqui devem ter técnicas para se fazer isso mais
>>> facilmente mas eu realmente quis ver tudo que estava sendo alterado nas
>>> confs e scripts e por isso mandei o: mergemaster -i   alguns apelidam
>>> ele também de merdamaster mas ele não é o vilão fazedor de caca, quem
>>> faz é quem escolhe o D ou o I HAhAHahA
>>>
>> Tá certo que é agora é meio tarde pra dizer isso, mas o mergemaster
>> tem uma chave F que substitui o arquivo se a diferença for só na
>> versão (VCS), é uma mão na roda, acelera pra caramba...
>>
>>> - Olhei todas as confs que foi mostrado, algumas não atualizei porque
>>> não havia necessidade, outras eu aceitei as alterações e incluí as
>>> minhas modificações. Enfim, foi um processo demorado, bem demorado mas
>>> que valeu apena.
>>>
>>> - Terminei fazendo o make delete-old e o make delete-old-libs esses
>>> caras removeram um monte de coisas "obsoletas". Obsoletas para o sistema
>>> base mas para os pacotes instalados nem tanto. Mas isso era o que eu já
>>> esperava mesmo. Estamos atualizando para um sistema novo e isso requer
>>> mudanças em bibliotecas, compiladores, uma série de outros programas.
>>>
>> Esse eu nunca tive coragem de fazer, bom saber que dá certo...
>>
>>> - Após o reboot o sistema entrou normalmente e logicamente todos os
>>> programas e serviços que eu tinha no servidor não funcionavam mais pois
>>> haviam sido compilados com libs que não faziam mais parte do sistema.
>>> Nesse ponto sou muito grato ao Douglas Barton por ter criado o
>>> portmaster. :D
>>>
>>> - Eu precisava recompilar todos os pacotes do sistema. Num passado não
>>> tão distante tive problemas com o portupgrade e quando conheci e comecei
>>> à usar o portmaster meus problemas acabaram. Na cara e na coragem mandei
>>> o comando:
>>>
>>> # portmaster -a -f
>>>
>>> - Com o comando acima o portmaster identificou todos os pacotes
>>> instalados no sistema, me mostrou as opções de compilação de cada pacote
>>> para eu confirmar se queria mudar algo, no final me perguntou se poderia
>>> atualizar todos os pacotes que me mostrou na relação.
>>>
>>> - No meio da atualização tive 1 problema que resultou numa mensagem que
>>> envolvia o mysql e que precisava de uma lib que não existia mais, que
>>> poderia resolver o problema e voltar de onde parei. Tudo que fiz para
>>> resolver o problema foi: portmaster mysql  nesse ponto ele recompilou o
>>> mysql-client e o mysql-server com as libs novas. Voltei e fiz o comando:
>>>
>>> # portmaster -a -f -R   com o -R ele não refez o que já havia feito e
>>> continuou de onde paramos.
>>>
>>> Fiz um ajuste no apache habilitando o mod_auth_mysql e no roundcube
>>> mudei o dono de 2 confs para www mas isso é normal na atualização do
>>> roundcube.  :)
>>>
>>> Após tudo isso re-iniciei o servidor novamente e todos os serviços
>>> voltaram à funcionar normalmente. Fiquei impressionado com a qualidade
>>> de como tudo foi feito e porque normalmente em outros ambientes os
>>> problemas poderiam ser catastróficos.
>>>
>>> O resultado foi esse:
>>>
>>> FreeBSD zeus.xxx.com.br 9.0-PRERELEASE FreeBSD 9.0-PRERELEASE #10: Fri
>>> Dec  2 20:20:23 BRST 2011
>>> root em zeus.xxx.com.br:/usr/obj/usr/src/sys/GONDIM  amd64
>>>
>> Parabéns! Muito bom trabalho. Não conheço nenhum outro SO no mundo que
>> consiga fazer isso, por isso eu amo o BSD!!!
>>
>> []'s
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> Cleyton, não generalize, Microsoft Windows por exemplo faz coisa muito
> mais complicada e com quase 100% de acerto em estações de usuário final
> que são bem mais complexas.

Humm, tipo upgrade do Vista pro 7? XP pro Vista? 98 pro XP? Acho que
não. Até as atualizações de rotina são uma dor de cabeça, talvez não
estejamos mesmo falando da mesma coisa. Mas também não vem ao caso.

Venho atualizando o meu desde a versão 5.0, sempre dá um friozinho da
barriga mesmo, fico feliz em ver os colegas compartilhando suas
experiências, o que deu certo e o que deu errado, e principalmente
feliz pela escalabilidade do sistema ser realmente muito boa. Observei
que o colega compilou o que precisava (como eu costumo fazer), não
estou tão seguro quanto às atualizações binárias, tem quem goste, pra
mim não serve.

> Realmente BSDs não foram desenvolvidos para interfaces bonitas, mais sim
> para funcionalidades efetivas.

Não vou nem comentar.

> Tive um problema no passado com o portupgrade, apos uma mensagem na
> lista deu para ver que o postmaster realmente é bem superior ao portupgrade.

Agora a parte em que eu queria chegar. Com todo o respeito ao Botelho,
não é porque ele disse que prefere que é regra geral (lei) pra todo
mundo, eu tenho 1875 ports instalados aqui e o portmaster simplesmente
não serve aqui, não me atende.

Uso ele feliz da vida em outra máquina com 192 ports, quando a gente
só tem martelo acaba achando que tudo é prego.

[]'s


Mais detalhes sobre a lista de discussão freebsd