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 demora um pouco...
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.