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
- Ignorar (deletar) o arquivo novo, deixando o antigo intocado;
- Instalar o arquivo novo, sobreescrevendo o antigo;
- 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
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300