Eustáquio Rangel

Desenvolvedor, pai, metalhead, ciclista

Atualização do FreeBSD

Publicado em FLOSS


Ontem foi minha primeira atualização de versão do FreeBSD. Seguindo algumas mensagens do FUG-BR (Grupo de usuários brasileiros de FreeBSD) cheguei em uma receitinha que atualizou (até demais, como vocês vão ver) o sistema numa boa, em 4 horas, no PIII 1Ghz que eu tenho em casa.

Algumas coisas me deixaram de cabelo em pé por ser a primeira vez que eu estava atualizando o sistema. O mergemaster me perguntou um monte de coisas através de um diff exibido na tela, ainda bem que eu já tenho uma certa familiaridade com o diff e sabia mais ou menos o que estava ocorrendo ali, senão me daria mal. :-) A dica para o mergemaster é: preste atenção no que você tem no sistema e no que ele está tentando instalar. Ele vai dar opções de

  1. Ignorar (deletar) o arquivo novo, deixando o antigo intocado;
  2. Instalar o arquivo novo, sobreescrevendo o antigo;
  3. Efetuar uma combinação entre os dois arquivos;

Na maioria dos arquivos eu utilizei a opção de instalar o arquivo novo, pois não havia configurado muita coisa, mas uma atenção especial vai para o /etc/passwd. Se você não prestar atenção ali seus usuários vão para o saco rapidinho. E atenção para possíveis usuários que a versão nova pode precisar.

Outra coisa foi o tempo. Até que foi rápido, mas reservem de 4 a 5 horas para fazer isso, especialmente se for a primeira coisa que você faz isso. Eu comecei as 20:30 e terminei as 00:30. Os reflexos ficam meio bestas com o sono. Lembrei de um episódio dos Simpsons onde o Homer fica tão gordo que eles mandam ele trabalhar em casa, levando um computador para ele, e ele deixa um brinquedinho tipo pêndulo apertando a tecla "Y" (de "yes") para todas as perguntas do computador. :-) Aqui tem um resumo desse episódio, vou ver se tiro uma screenshot do DVD (sim, sou Simponsmaníaco!) e posto mais tarde.

Para atualizar usei um supfile mais ou menos assim:

*default host=cvsup4.us.freebsd.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_6
*default delete use-rel-suffix
*default compress
src-all
ports-all

Uma coisa MUITO importante ali é a tag. Para atualizar para a versão 6, usei RELENG_6. Uma lista das tags pode ser conferida aqui. Altere as opções (host,tag) que desejar e grave seu arquivo em um local adequado.

Logo após configurar o supfile (mais informações sobre isso aqui), fiz os seguintes procedimentos:

cvsup -g -L2 <supfile>
cd /usr/obj
chflags noschg *
rm -rf *
cd /usr/src
make buildworld
make buildkernel
make installkernel
mergemaster -p
*** rebootei em modo "single-user", usando a opção 4 no menu de boot ***
fsck -p
mount -u -o rw /
mount -a
cd /usr/src
make installworld
mergemaster
*** reze ***
reboot

Correu tudo bem! Depois que a máquina deu boot certinho, fui conferir a nova versão e ...

[taq@taq:~]uname -a
FreeBSD taq 7.0-CURRENT

Uia!!! 7.0??? Mas eu pedi 6.0! Fui conferir o que eu havia feito de errado e encontrei. Eu havia baseado meu supfile no apresentado nessa mensagem, que continha, no final do arquivo,

*default-tag=. 

Aí lascou tudo. :-) O "." no caso da tag, é o "HEAD branch" do CVS, ou seja, a versão CURRENT! Parece que a última sobreescreve a primeira, e putz, estou no "bleeding edge" agora! Meu consolo foi que isso não aconteceu somente comigo. :-)

Agora não sei se, como estou testando, deixo no 7.0 CURRENT ou instalo o 6.0 dos CDs. Mas como mantenho o meu Slackware no CURRENT também (usando o Slackcurrent, de minha autoria ;-) acho que vou acabar mantendo essa configuração.

Ah, baseei tudo isso nessa mensagem também.

P.S.: Tem o lance de compilar o kernel customizado também, mas ufa, vou usar o GENERIC por enquanto. Muita coisa nova e pouco tempo. ;-)




Comentários

Comentários fechados.

Sem nenhum comentário.

Artigos anteriores