Como aplicar atualizações no OpenBSD, NetBSD e FreeBSD?

25

Estou usando o OpenBSD por um bom tempo agora. Tudo o que faço, no entanto, é ir de um lançamento para o outro, sempre fazendo apenas uma atualização. Eu configurei o sistema para que funcione como meu roteador e firewall e funciona muito bem assim. Mas eu nunca atualizo pacotes. Tudo o que faço é apenas passar para o próximo lançamento.

Vindo do mundo Linux, estou acostumado a aplicar atualizações algumas vezes por semana; mas como faço isso no * BSD? - Ou isso não faz parte da filosofia * BSD?

polemon
fonte
portupgrade -arR
usermane 30/10/11
Atualizar com o OpenBSD com pkg_addis pkg_add -uvi, certo?
Polemon 30/10/11
sim
usermane 30/10
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada. - Da avaliação
Archemar 16/04

Respostas:

22

O OpenBSD é centrado no binário. Você pode atualizar os binários (se houver atualizações / alterações disponíveis) executando pkg_add :

pkg_add -Uu

A equipe do OpenBSD recomenda o uso de pacotes na construção de portas - O sistema de pacotes e portas do OpenBSD

O FreeBSD pode ser atualizado através de pacotes ou portas .

gregnotcraig
fonte
11
pkg_add -ué suficiente no OpenBSD. Use -Uao instalar um único pacote (ou conjunto de pacotes) se desejar atualizar os pacotes dos quais estes dependem.
Kusalananda
9

Em geral, ao usar o OpenBSD, você só atualiza seus pacotes quando atualiza seu sistema. Portanto, como etapa final, após a atualização para a versão mais recente, você deve executar:

 # pkg_add -ui

Qual (u) atualizará os pacotes instalados, fazendo perguntas (i) nteractive quando necessário.

Em geral, os pacotes para uma determinada versão não são atualizados até a próxima versão (o OpenBSD não possui os recursos do desenvolvedor para fornecer atualizações aos pacotes em versões diferentes de 'atual'). Se você deseja atualizar seus pacotes com mais regularidade, precisa usar portas ou atualizar para um novo instantâneo e, em seguida, executar pkg_add -uinovamente.

Para mais informações, consulte: http://www.openbsd.org/faq/faq15.html

Gabe.
fonte
3
OpenBSD lacks the developer resources for providing updates to packages on versions other than 'current'Isso também se aplica a atualizações de segurança? Portanto, se uma falha crítica de segurança for encontrada em um pacote binário que eu uso, tenho que reinstalá-lo a partir de portas estáveis?
Imgx64 #
@ imgx64 As correções de segurança nas portas são feitas -current. O OpenBSD não reconstruirá pacotes para -stable.
Kusalananda
4

O OpenBSD: M: Tier fornece pacotes estáveis para as arquiteturas amd64 e i386. Isso permite que você mantenha seu sistema atualizado com as correções de segurança mais recentes da -stableramificação de portas.

Um artigo no OpenBSD Journal explica os detalhes:

Na prática, isso significa que, assim que uma correção / atualização de segurança for confirmada na árvore OPENBSD_5_3, um pacote será construído a partir da árvore do CVS. Este pacote está sendo testado e enviado ao nosso servidor fan-out em Stable.MTier.org, para que todos possam usar!

Holu
fonte
3

Os vários sistemas BSD têm uma separação muito clara entre "sistema base" e "software de terceiros (portas / pacotes)". Você atualiza os dois separadamente.

Isso pressupõe que você tenha uma instalação do OpenBSD 6.5 ou posterior (veja mais abaixo para obter respostas antigas):

O sistema base é atualizado com sysupgrade(8):

doas sysupgrade

Isso fará o download e o upgrade do sistema básico para a próxima versão "estável" do OpenBSD se você estiver seguindo o ramo stable ou release, ou para o último "snapshot" se você estiver usando snapshots. Observe que você não deve usar sysupgradese você tiver uma instalação customizada sem todos os conjuntos de sistemas básicos.

Após a atualização do sistema base, convém executar syspatch(8)(apenas para obter o sistema de "release" para "stable", os sistemas de captura instantânea não são utilizados syspatch).

As portas são atualizadas com pkg_add(1):

doas pkg_add -u

Em um sistema de instantâneos, você pode querer adicionar -D snapisso (consulte o manual).

Você também deve verificar a seção relevante das perguntas frequentes do OpenBSD antes de atualizar, por exemplo, a seção " Seguindo a corrente e usando instantâneos " ou a seção relacionada à atualização para a versão estável mais recente.

Há também uma porta / pacote chamado sysclean(in sysutils/sysclean) que o ajudará a apontar as bibliotecas básicas do sistema e outros arquivos que não fazem mais parte da instalação padrão. Também informará quais portas estão usando bibliotecas desatualizadas.


Resposta antiga, relevante para os lançamentos do OpenBSD anteriores à 6.5:

No caso do OpenBSD, supondo que você queira passar de uma versão estável para a próxima versão estável (as versões saltadas não são suportadas, a menos que você faça uma nova instalação), você começa lendo as FAQs específicas para a atualização que está executando. No caso de atualizar de 5.9 para 6.0, você lê o " Guia de atualização: 5.9 para 6.0 ".

Em geral, o essencial envolve inicializar a mídia de instalação da versão para a qual você deseja atualizar e selecionar "(U) pgrade" no menu. Depois que o sistema básico é atualizado, você o inicializa e, como root, atualiza todos os pacotes instalados pkg_add -u.

É incomum que pacotes pertencentes a uma versão estável do OpenBSD atualizem com muita frequência. Normalmente, isso só acontece quando erros críticos são corrigidos. Portanto, executar pkg_add -uvárias vezes por semana provavelmente não fará muito (mas continue fazendo isso, pois isso pode causar correções críticas).

Se você segue "atual", as coisas são muito diferentes. Em seguida, você criaria seus pacotes a partir da árvore de portas com check-out no CVS /usr/portse provavelmente também reconstruiria o sistema base manualmente (consulte " Criando o sistema a partir da fonte "). As portas instaladas podem ser atualizadas com dpb(in /usr/ports/infrastructure/bin) se forem fornecidas as opções corretas e uma lista de pacotes instalados manualmente.

estou a usar

#!/bin/sh -x

pkg_info -P -q -m | sort -o "$HOME/packages"
/usr/ports/infrastructure/bin/dpb -scuR -P "$HOME/packages"

Seguido por

$ doas pkg_add -u -D unsigned
$ doas pkg_delete -a

Isso não é incentivado para novos usuários.

Kusalananda
fonte
2

Eu precisava receber atualizações porque instalei o bash e não queria sofrer a vulnerabilidade do Shellshock, então fui com a sugestão de Holu /unix//a/103661/93476 e me corrigiu.

RedScourge
fonte
1

Desculpe, o NetBSD pkgsrcnão suporta uma solução descuidada. Em vez disso, você deve usar um gerenciador de pacotes como nihou pkgin. Sob pkgsrcvocê tem que forçar atualizações que ignora frequentemente ligadas dependências do arquivo. Também copiar a nova versão sobre a antiga pkgsrcpode trazer sua pkgsrcárvore para um estado inconsitente.

darktrym
fonte
0

Para mim, atualizar os pacotes NetBSD é um comando em / usr / pkgsrc:

# cvs update -dP && csup /some-path-to-wip-supfile/netbsd-pkgsrc-wip && pkg_rolling-replace -u
sehr
fonte