Em 3 de dezembro de 2011 10:08, Marcelo Gondim <gon...@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 > r...@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