OpenBSD : Atualizações
1. OpenBSD e Atualizações
Assim como qualquer outro sistema operacional, acompanhar as atualizações é um antes de tudo uma cultura. Não adianta você usar o sistema mais seguro do mundo e ser negligente quanto a isso.
Nota
Antes de tudo, quero deixar claro que o intuito desse documento não é substituir o documentação oficial. Encare as notas abaixo mais como minhas notas e observações sobre o processo de atualização.
1.1 Informações
Antes de tudo é importante acompanhar as mudanças. Estar a par das decisões dos mantenedores de sua plataforma e dos pacotes que você usa é importantíssimo para seu planejamento e respectivos projetos.
1.1.1 Listas de discussão
O primeiro lugar para companhar são as listas de discussão de email. Em especial a announce@openbsd.org . Nela é possível acompanhar as últimas notícias pertinentes às atualizações do OpenBSD. No MARC ( Mailing list ARChives ) é possível acompanhar também as mensagens da lista.
1.1.2 Errata
Em "Errata and Patches" é possível acompanhar uma lista, por release, de mudanças e atualizações de segurança e confiabilidade. Tudo muito simples e bem explicado.
2. Atualizações
Ciente que há atualizações de segurança a serem aplicadas, não espere muitas horas para aplicá-las. O tempo de espera pode ser o suficiente para lhe garantir algum problema. Já atualizações de performance podem ser aplicadas com mais calma.
2.1 Atualizando o Base System
Hoje em dia atualizar o sistema base do OpenBSD é relativamente simples, uma vez que os processos de instação e atualizações são focadas em pacotes binários.
Apesar de ser possível atualizar o sistema a partir dos fontes, eu não vou cobrir isso aqui. Pelo menos não hoje.
2.1.1 Syspatch
Em um sistema suportado ( stable ) é possível aplicar facilmente os patches binários com o syspatch(8). Introduzido no OpenBSD 6.1 ( não deve funcionar em versões anteriores ), o syspatch
basicamente é capaz de checar os patchs binários disponíveis para a sua release, baixar e os aplicá-los. Há pelo menos uns cinco modos de operação do syspatch, portanto consulte o manual .
O uso do comando sem argumentos consulta os patches disponíveis e os aplica. Lembrando que as opções -r e _R podem ser usadas para reverter os patches aplicados.
2.1.2 Snapshots
Caso esteja usando um sistema baseado em snapshots ( current ), o syspatch
não é para você. O recomendado é que baixe um novo snapshot, similar ao processo de upgrade. Neste caso o passo 3.1 deste guia pode ser utilizado.
2.2 Pacotes de Software
Os pacotes instalados fora do base system também obedecem ao mesmo conceito de simplicidade. Inclusive o recomendado sempre após atualizar o sistema base é também atualizar os pacotes extras. Entretanto, dependendo do seu setup isso pode variar, uma vez que é possível instalar pacotes pelo repositório do OpenBSD e pelo sistema de ports.
2.2.1 Atualizando os pacotes pelo repositório
O utilitário pkg_add
usado para instalar pacotes também. Com os argumentos -u e -U os pacotes instalados são atualizados :
pkg_add -uUv
Se porventura estiver usando snapshots, passe o argumento -D snap
.
2.2.2 Atualizando os pacotes pelo ports
Ok. Como falei, não vou abordar isso agora.
3. Upgrades
Similares às atualizações, os upgrades de relase envolvem drásticas mudanças. Portanto ACOMPANHE AS ERRATAS !.
3.1 Clássico Processo Manual
Até o OpenBSD 6.5 o upgrade do sistema era realizado de forma manual. Em Mudando para -current, utilizamos esse processo para acompanharmos o branch -current quando o current release era o 6.4. E em mudanças de releases não muda quase nada. O processo consistia em :
1 - Acessar um mirror, baixar o bsd.rd salvar na raiz do sistema ( / ) :
ftp -o /bsd.rd http://ftp.openbsd.org/pub/OpenBSD/6.5/amd64/bsd.rd
2 - Rebootar o sistema e durante o boot digitar bsd.rd
;
3 - Seguir o script de upgrade (U) ;
4 - Rebootar novamente depois de concluído o processo ;
Parabéns. É isso.
3.2 upobsd
Há um shell script ( ksh ) que pode tornar a tarefa acima ainda mais simples. Ele verifica se há updates na imagem bsd.rd e, em caso positivo, aplica o patch.
Com isso basta seguir o processo manual no reboot para atualizar o base system pelo snapshot.
3.3 sysupgrade
Essa belezinha apareceu no current após o release 6.5. Então podemos dizer que é um candidato forte a ser adotado na versão 6.6
sysupgrade
Ele não só irá buscar um novo bsd.rd como também irá baixar todo um novo base ( pode ser útil pra consertar algo ). POR PADRÃO, O SYSUPGRADE REBOOTA O SISTEMA, portanto não se desespere. Para evitar o reboot, use o switch -n
.
Uma das coisas que mais me chamou atenção no sysupgrade foi a opção -s
, que atualiza o stable para um snapshot.