OpenBSD、NetBSD、およびFreeBSDにアップデートを適用する方法は?


25

私は今かなり長い間OpenBSDを使用しています。しかし、私がすることは、あるリリースから次のリリースに行くことであり、常に更新を行うだけです。ルーターおよびファイアウォールとして機能するようにシステムを構成しましたが、そのように機能します。しかし、パッケージを更新することはありません。次のリリースに進むだけです。

Linuxの世界から来て、私は週に数回アップデートを適用することに慣れています。しかし、どうすれば* BSDでそれを行うことができますか?-または、これは* BSD哲学の一部ではありませんか?



でOpenBSDを更新するのpkg_addpkg_add -uvi正しいですか?
ポレモン


このリンクは質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供する方が良いでしょう。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- レビューから
Archemar

回答:


22

OpenBSDはバイナリ中心です。pkg_addを実行して、バイナリを更新できます(更新/変更がある場合)。

pkg_add -Uu

OpenBSDチームは、portsからビルドするよりもパッケージを使用することを推奨しています-OpenBSDパッケージおよびportsシステム

FreeBSDは、パッケージまたはポート経由で更新できます


1
pkg_add -uOpenBSDでは十分です。-U単一のパッケージ(またはパッケージのセット)をインストールするときに、これが依存するパッケージを更新する場合に使用します。
クサラナナンダ

9

一般に、OpenBSDを使用するときは、システムを更新するときにのみパッケージを更新します。そのため、最終ステップとして、最新リリースにアップグレードした後、次を実行する必要があります。

 # pkg_add -ui

これは、インストールされたパッケージを(u)アップグレードして、質問をします(i)必要なときに対話的にします。

一般に、特定のリリースのパッケージは、次のリリースまで更新されません(OpenBSDには、「最新」以外のバージョンのパッケージの更新を提供する開発者リソースがありません)。パッケージをより定期的にアップグレードする場合は、ポートを使用するか、新しいスナップショットにアップグレードしてからpkg_add -ui再実行する必要があります。

さらに読むには、http//www.openbsd.org/faq/faq15.htmlを確認して ください。


3
OpenBSD lacks the developer resources for providing updates to packages on versions other than 'current'これはセキュリティ更新プログラムにも適用されますか?使用しているバイナリパッケージに重大なセキュリティホールが見つかった場合、安定したポートから再インストールする必要がありますか?
imgx64

@ imgx64ポートのセキュリティ修正はで行われ-currentます。OpenBSDはのパッケージを再構築しません-stable
クサラナナンダ

4

OpenBSD:M:Tier 、amd64およびi386アーキテクチャ用の安定したパッケージ提供します。これにより、-stableportsブランチからの最新のセキュリティ修正でシステムを最新の状態に保つことができます。

OpenBSD Journal記事で詳細を説明しています。

実際には、これはセキュリティの修正/更新がOPENBSD_5_3ツリーにコミットされるとすぐにパッケージがCVSツリーからビルドされることを意味します。その後、このパッケージはテストされ、Stable.MTier.orgのファンアウトサーバーにプッシュされます。


3

さまざまなBSDシステムは、「ベースシステム」と「サードパーティソフトウェア(ポート/パッケージ)」に非常に明確に分かれています。2つを個別にアップグレードします。

これは、OpenBSD 6.5以降がインストールされていることを前提としています(古い回答については下を参照)。

基本システムは次の方法でアップグレードされsysupgrade(8)ます。

doas sysupgrade

これにより、安定版またはリリース版のブランチを使用している場合は、ベースシステムがOpenBSDの次の「安定した」バージョンに、アップグレードされます。スナップショットを使用している場合は、最新の「スナップショット」になります。sysupgradeすべての基本システムセットなしでカスタマイズされたインストールを行う場合は、使用しないでください。

ベースシステムをアップグレードした後、実行したい場合がありますsyspatch(8)(システムを「リリース」から「安定」にするためだけに、スナップショットシステムは使用しませんsyspatch)。

ポートは次のように更新されpkg_add(1)ます。

doas pkg_add -u

スナップショットシステムでは、それに追加-D snapすることができます(マニュアルを参照)。

また、アップグレードする前に、OpenBSD FAQの関連セクション、たとえば「-currentを使用してスナップショットを使用する」セクションや、最新の安定版リリースにアップグレードするセクションを確認してください。

sysclean(in sysutils/sysclean)と呼ばれるポート/パッケージもあります。これは、デフォルトのインストールに含まれなくなったベースシステムライブラリやその他のファイルを指摘するのに役立ちます。また、どのポートが古いライブラリを使用しているかを示します。


6.5 より前の OpenBSDリリース関連する古い回答:

OpenBSDの場合、ある安定版リリースから次の安定版リリースに移動することを前提としています(新規インストールを行わない限り、リリースのジャンプはサポートされていません)。まず、実行しているアップグレードに関する特定のFAQを読んでください。5.9から6.0にアップグレードする場合は、「アップグレードガイド:5.9から6.0」をお読みください。

一般に、その要点は、アップグレードするリリースのインストールメディアを起動し、メニューから「(U)pgrade」を選択することです。基本システムがアップグレードされたら、それをブートし、rootとして、インストール済みのパッケージをでアップグレードしますpkg_add -u

安定したOpenBSDリリースに属するパッケージが頻繁に更新されることはまれです。通常、これは重大なバグが修正されたときにのみ発生します。そのpkg_add -uため、週に数回実行することはおそらくあまり効果がありません(ただし、重大な修正が行われる可能性があるため、実行し続けます)。

「現在」に従っている場合、状況は大きく異なります。次に、CVSでチェックアウトされたポートツリーからパッケージを構築します。/usr/portsおそらく、ベースシステムも手動で再構築することになります(「ソースからのシステムの構築」を参照)。インストールされたポートは、正しいオプションと手動でインストールされたパッケージのリストが与えられた場合、dpb(in /usr/ports/infrastructure/bin)で更新されます。

私は使っています

#!/bin/sh -x

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

に続く

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

これは、新しいユーザーにはお勧めできません。


2

bashをインストールし、Shellshockの脆弱性に悩まされたくないため、更新プログラムを入手する必要があったので、Holuの提案/unix//a/103661/93476で修正を行いました。




1

申し訳ありませんが、NetBSD pkgsrcは不注意な解決策をサポートしていません。代わりに、nihまたはのようなパッケージマネージャーを使用する必要がありますpkgin。下にpkgsrc、あなたは、多くの場合、ファイルの依存関係をリンク無視アップグレードを強制する必要があります。また、古いバージョンの上に新しいバージョンをコピーするとpkgsrcpkgsrcツリーが不安定な状態になる可能性があります。


0

私にとってNetBSDパッケージの更新は/ usr / pkgsrcのコマンドです:

# cvs update -dP && csup /some-path-to-wip-supfile/netbsd-pkgsrc-wip && pkg_rolling-replace -u
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.