Post em Destaque

Intel direciona desenvolvedor com anos de experiência para projeto FreeBSD

A Intel resolveu alocar o desenvolvedor Ben Widawsky, arquiteto de drivers gráficos para Linux, para focar no desenvolvimento do FreeBSD. Ele deixa o time Linux da Intel e ficará dedicado no time FreeBSD. A mudança não visa só melhorias na parte gráfica mas também em outras áreas do FreeBSD,...

Leia mais...

FreeBSD – CURRENT, RELEASE ou STABLE?

Postado por gondim | Categoria FreeBSD, Software Livre | Dia 14-10-2012

Tags:, ,

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.

Share Button

Comments (10)

Boa tarde Gomdim.

Obrigado pelo artigo.
Poderia tirar algumas dúvidas?

1) 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.

Essa STABLE seria mais tarde o RELEASE 10.0?

2) Eu particularmente gosto de utilizar o STABLE em meus servidores e só atualizo o STABLE se houver realmente a necessidade.

Entendi a necessidade de usar o STABLE (por conta de o mesmo trazer correções e tal…).
Mas você também fala assim:

“””só atualizo o STABLE se houver realmente a necessidade.”””

O correto não seria sempre atualizar o STABLE já que ele esta sempre em desenvolvimento (mantendo assim o seu STABLE sempre atualizado)?

3) 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.

Pelo que eu entendi, as versões RELEASES sempre serão 1.0, 2.0, 3.0…9.0, 10.0…11.0 e assim por diante.
Teremos intermediários como 9.1, 9.2 e 9.X em que o propósito é que seja testado ao máximo para preparar o terreno do próximo lancamento que é 10.0. Ou seja, 9.x não é recomendáda para uso em produção.

Estou certo da colocação feita no item 3?
E quanto ao item 1 e 2?

Obrigado novemente Gomdim

Opa Ricardo,

Vamos lá:

1) Não, nesse caso o CURRENT que se tornará o 10.0-RELEASE. O STABLE será sempre o aprimoramento daquela RELEASE em específico. Até que não seja mais suportado pelo desenvolvimento. O STABLE do 9.x será sempre o STABLE do 9.x. Vamos dizer que eu esteja usando o 9.0-STABLE, quando sair o 9.1-RELEASE e eu atualizar o meu STABLE ele virará 9.1-STABLE.

2) Boa pergunta. 🙂 Eu gosto de usar o STABLE mas não fico atualizando o tempo todo sem necessidade. Se eu ver que tem algum driver dando problema ou algum comportamento errado no sistema, aí nesse momento faço um novo resync dos fontes e atualizo meu STABLE para ver se foi corrigido o problema. Na maioria das vezes funciona. 🙂 Mas não fico atualizando o tempo todo, ainda mais um servidor em produção.

3) 9.1 será também um REALEASE assim como 9.2, 9.3 e os que virão por aí. Todos eles são prontos para uso em produção. O que ocorre é que quando sair o 9.1-RELEASE esse, teoricamente, estará melhor que o seu antecessor, o 9.0-RELEASE. O desenvolvimento do 10.0 está sendo feito em paralelo, em outra árvore, pois ainda está em testing e não é aconselhado usá-lo em produção. Muitas pessoas usam o CURRENT em seus desktops pois tem drivers novos para suas placas de vídeo e outros hardwares mais recentes.

Espero ter ajudado aí nas dúvidas. Qualquer coisa só perguntar mais. 😀

Grande Gondim,

Obrigado novamente pelo artigo e pela resposta as minhas dúvidas.

Agora eu já consigo entrar no site, olhar os lançamentos e entender melhor. 😀

Forte abraço meu amigo.

Att,

Ricardo Tweeg

Amigo valeu pelo site, enfim uma fonte de informação BSD, o Brlinux informa, mas o foco é Linux e o FUG serve mais para fórum, obrigado.

Júnior e Ricardo,

O site é justamente feito pra ajudar todos vocês e nos ajudar como comunidade que somos. Fico contente de estar dando certo. 🙂

[…] FreeBSD – CURRENT, RELEASE ou STABLE? FreeBSD Handbook -Tracking a Development Branch […]

Olá Godim, tudo tranquilo ? Só uma duvida, no post vc fala assim “O STABLE não é uma ISO que se possa baixar e instalar o sistema, pelo menos não oficialmente” mas no site oficial existe a ISO da versão Stable ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/i386/i386/ISO-IMAGES/10.3/
minha dúvida é a seguinte, como esse post é de 2012, nesse ano ainda não existia a iso ?

Opa sim. Naquela época não tinha mesmo. 🙂 Você só conseguia baixando os fontes e compilando. De um tempo pra cá eles começaram à disponibilizar.

“O STABLE não é uma ISO que se possa baixar e instalar o sistema, pelo menos não oficialmente.”

https://download.freebsd.org/ftp/snapshots/amd64/amd64/ISO-IMAGES/12.0/

Não entendi e acabou me deixando com mais dúvida. Nesse meio tempo, vou procurar outra fonte.

Boa tarde Luiz. Realmente na data do artigo, isso foi em 2012. Não haviam imagens oficiais do FreeBSD stable. Hoje você encontra normalmente, assim como você encontrou no link que passou.

Write a comment

*