Para aqueles que gostam de estabilidade + correção de bugs + correção de segurança + algumas features novas então esse é o caso de se usar o STABLE. Mas também é algo como a bebida, use com moderação. Um choppinho de vez em quando e nesse calor vai bem mas todos os dias vai acabar te matando. 🙂
Desculpem a imagem mal feita mas editoração gráfica não é minha praia HAAhAhAhaH
Eu costumo atualizar meu STABLE quando:
- Muda a release, que nesse caso mudou de 9.0 para 9.1.
- Tem alguma atualização de segurança.
- Algo deveria funcionar de um jeito mas está apresentando problemas.
- Preciso usar algum dispositivo cujo driver só saiu no STABLE e na RELEASE ainda não.
Se tudo está funcionando certinho no seu servidor então vale a frase: “Time que tá ganhando não se mexe”
Outra coisa: leia sempre o /usr/src/UPDATING após fazer o svn e checar as mudanças. Isso é uma boa prática. 😀
Bem, vamos por a mão na massa. Para quem ainda não está usando o subversion e ainda usa o cvs só digo o seguinte: esqueça o CVS, um dia ele foi bom, já deu o que tinha que dar. No momento ele encontra-se tetraplégico e sem função cerebral. Então haja visto que não existe mais futuro para o cvs, vamos então usar o svn (subversion). É muito mais simples e com muito mais recursos que o seu antecessor.
Para quem já tem instalado e usando uma versão STABLE como o 9.1-PRERELEASE e ainda não usou o svn, então pode dar uma olhada neste post para ver como instalar o svn. Não esqueça de salvar o seu kernel e qualquer outro arquivo importante para você que esteja embaixo de /usr/src, porque iremos apagá-lo. A única diferença do post para o que vamos fazer aqui é usar o STABLE fazendo:
# cd /usr/src
# svn co svn://svn.freebsd.org/base/stable/9 /usr/src
No post que citei estaríamos usando o 9.1-RELEASE e não é o nosso objetivo aqui.
Se você está usando o svn e o releng/9.1 que hoje é o 9.1-RELEASE e deseja mudar para 9.1-STABLE, isso é muito simples fazendo o seguinte:
# svn switch svn://svn.freebsd.org/base/stable/9
Para saber qual árvore está usando também é simples:
# svn info
Path: .
Working Copy Root Path: /usr/src
URL: svn://svn.freebsd.org/base/releng/9.1
Repository Root: svn://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 244268
Node Kind: directory
Schedule: normal
Last Changed Author: kensmith
Last Changed Rev: 243710
Last Changed Date: 2012-11-30 17:36:20 -0200 (Fri, 30 Nov 2012)
Repare que segundo a info acima eu ainda estou usando o releng/9.1 que não é o stable. Fazendo tudo certinho sua info deverá ser algo assim:
Path: .
Working Copy Root Path: /usr/src
URL: svn://svn.freebsd.org/base/stable/9
Repository Root: svn://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 244917
Node Kind: directory
Schedule: normal
Last Changed Author: kensmith
Last Changed Rev: 244911
Last Changed Date: 2012-12-31 14:52:52 -0200 (Mon, 31 Dec 2012)
Agora que em /usr/src estamos com os fontes que queremos podemos prosseguir:
# make buildworld && make buildkernel KERNCONF=SEU_KERNEL
Após a compilação acima e se em atualizações anteriores você ainda não criou ou não foi exigido a criação do user auditdistd, esse será o momento fazendo o comando abaixo:
# mergemaster -p
Depois desse processo o restante será o mesmo de sempre:
# make installkernel KERNCONF=SEU_KERNEL
# make installworld
# mergemaster -i -F
# make delete-old
# make delete-old-libs
É sempre bom checar se após apagarmos alguma lib antiga se algum pacote ficou quebrado e podemos fazer isso usando o pkg_libchk. Você pode ver mais sobre ele neste post.
Depois disso é o reboot e checar se já está usando o 9.1-STABLE.
# uname -a
FreeBSD www.bsdinfo.com.br 9.1-STABLE FreeBSD 9.1-STABLE #39 r244917: Tue Jan 1 00:06:24 BRST 2013 root@www.bsdinfo.com.br:/usr/obj/usr/src/sys/GONDIM amd64
É isso aí pessoal.
Um grande abraço e um ótimo 2013 para todos.