A partir da versão 2.7, o OpenBSD disponibiliza uma árvore de código fonte que contém correções e alterações importantes (ou seja, aquelas da errata e outras que são óbvias e simples, e não merecem uma entrada na errata) disponíveis via CVS, além do código fonte de desenvolvimento (-current). Os usuários podem optar por três opções:
Como princípio geral, todas as entradas da errata serão incorporadas no ramo das correções até 48 horas após sua publicação. Outras alterações pós-lançamento podem ser integradas também, sujeitas a algumas condições:
É importante notar que o nome -stable faz referência SOMENTE à API e às operações do OpenBSD que não mudam, e não à confiabilidade geral do sistema. De fato, se as coisas se passam como desejado, o sabor -current do OpenBSD, no seu caminho para se tornar a próxima -release, será uma melhoria em termos de confiabilidade, segurança e qualidade geral do sistema em relação às versões -release e -stable anteriores.
Para obter o ramo das correções de uma determinada versão do OpenBSD, você pode realizar a atualização a partir de uma árvore de código fonte já existente (obtida via FTP ou CD), ou você pode obter uma árvore nova usando um servidor AnonCVS. As instruções para obter o ramo das correções e manter-se atualizado estão descritas na seção Primeiros Passos ("Getting Started") da Documentação do AnonCVS. Esteja ciente de que o ramo das correções não ajuda a atualizar o seu sistema de uma versão do OpenBSD para outra; por exemplo, ir da 5.0 para a 5.1. Ela somente disponibiliza um meio de manter o seu sistema sincronizado com as correções de uma determinada versão.
Não tente atualizar seu sistema de uma versão para outra através do código fonte. Visite o guia de atualização de versão no lugar. Você também não pode fazer o caminho inverso, indo da versão -current para uma -stable, por problemas de versão de bibliotecas.
Uma vez obtida a árvore de código fonte via anoncvs, você deve reconstruir (recompilar) seu sistema. Os passos para realizar essa operação são:
Para recompilar o kernel a partir de uma versão stable:
# cd /usr/src/sys/arch/i386/conf # /usr/sbin/config GENERIC # cd /usr/src/sys/arch/i386/compile/GENERIC # make clean && make depend && make
Substitua i386 por sua arquitetura; por exemplo, sparc, alpha, etc.
Para reiniciar o sistema com o novo kernel:
# cd /usr/src/sys/arch/i386/compile/GENERIC # make install (Instala o novo kernel de forma segura) # reboot
Como descrito acima, substitua i386 por sua arquitetura. Se seu sistema tiver problemas para iniciar o novo kernel, você pode facilmente voltar e reiniciar com o kernel antigo, agora chamado de bsd.old.
Para recompilar os arquivos binários do sistema:
# rm -rf /usr/obj/* # cd /usr/src # make obj # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs # cd /usr/src # make build
Isso pode demorar algum tempo. Dependendo da velocidade de seu sistema, esse procedimento pode levar menos de uma hora, uma semana ou mais.
Se você possui várias máquinas para manter na versão -stable, talvez você queira criar uma release contendo os pacotes de arquivos padrão para a instalação, de forma que você possa instalar rapidamente e facilmente em qualquer máquina da mesma plataforma.