FreeBSD – CURRENT, RELEASE ou STABLE?
Posted by gondim | Posted in FreeBSD, Software Livre | Posted on 14-10-2012
Tags:current, release, stable
10
Algumas pessoas ficam na dúvida sobre esse assunto, principalmente quando associam stable com estável e não é bem assim. O objetivo deste post é esclarecer alguns pontos importantes sobre essas versões:
Quando falamos em CURRENT, estamos falando da árvore de desenvolvimento da versão mais recente do FreeBSD que é a versão 10.0 atualmente. Essa versão possui os drivers mais recentes que ainda estão sendo testados, novas tecnologias e qualquer outra grande mudança que venha acontecer.
Quando a CURRENT está bem testada e quando o core team do FreeBSD acha que está pronta, uma nova major release da versão é lançada. Normalmente isso leva um pouco mais de 2 anos em média. Os major releases são por exemplo: 1.0, 2.0, 3.0, 4.0… atualmente 9.0. Dentro dos major releases temos os minor releases que são lançados em bem menos tempo para fins de correções de bugs e melhorias daquela RELEASE. Um exemplo seria o RELEASE 9.0 e que em breve teremos o RELEASE 9.1. A versão 9.1 seria uma minor release com o objetivo de trazer mais estabilidade e melhorias ao sistema que foi lançado na versão 9.0.
As versões RELEASE são realmente as consideradas estáveis e prontas para uso. Nessa etapa são geradas ISOs das plataformas suportadas que são: amd64, i386, ia64, powerpc, powerpc64, sparc64 e pc98. Releases atualmente em uso: FreeBSD 7.4-RELEASE, 8.3-RELEASE e 9.0-RELEASE.
Após o lançamento de uma RELEASE o trabalho não pára e é criado um novo ramo na árvore chamado STABLE. Nesse ramo são colocados correções de bugs, atualizações de segurança e novidades testadas e aprovadas para serem incluídas na STABLE. Reparem que o nome STABLE não quer dizer que seja 100% estável devido à essas implementações. Na maioria das vezes é uma excelente opção quando, por exemplo, um determinado driver lançado na RELEASE apresenta algum funcionamento ruim ou não esperado em certos ambientes. Provavelmente em uma atualização para STABLE esse problema poderá ser resolvido.
Eu particularmente gosto de utilizar o STABLE em meus servidores e só atualizo o STABLE se houver realmente a necessidade. O STABLE não é uma ISO que se possa baixar e instalar o sistema, pelo menos não oficialmente. Para se ter um sistema em STABLE é necessário instalar uma RELEASE e à partir dela, baixar os fontes certos via cvs ou svn, recompilar todo o sistema (world e kernel) e instalá-los.
Ficar somente no RELEASE também não é seguro porque não são feitas as atualizações de segurança diretamente nele. Pra isso existe um nível maior ainda na árvore. Vamos supor que eu tenha instalado no meu servidor um FreeBSD 9.0-RELEASE e queira apenas manter ele atualizado em questões de segurança, nesse caso também precisarei baixar os fontes via cvs ou svn. Usando o csup e configurando a tag de um supfile para RELENG_9_0, por exemplo, estaremos baixando os novos fontes com apenas os patches de segurança, sem qualquer novidade que possa trazer alguma instabilidade. Depois que compilar e instalar esse RELENG_9_0 ficarei com um sistema assim: 9.0-RELEASE-p4 que quer dizer que estarei usando o RELEASE 9.0 mas com a quarta atualização de patches de segurança. Veja bem, não é a STABLE que estarei usando.
Ultimamente estamos tendo também ISOs de release candidate como é o caso do 9.1-RC1 e 9.1-RC2. Estas ISOs ajudam nos testes finais pois permitem que possamos não só testar o sistema instalado mas também testar a instalação destes em diversos ambientes e poder postar os problemas encontrados nas listas. Desta maneira ajudamos a equipe de desenvolvimento à lançar um produto final muito mais estável e confiável.
Mais sobre o andamento da release 9.1 que está para sair pode ser lida aqui.
O objetivo deste post era tentar explicar as diferenças entre CURRENT, RELEASE e STABLE e não como implementá-los em ambiente de produção e/ou de testes.
Espero que tenham gostado. Se esqueci de algo ou me enganei em algum ponto deixe-me saber.