web-dev-qa-db-ja.com

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

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

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

25
polemon

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

pkg_add -Uu

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

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

22
gregnotcraig

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

 # pkg_add -ui

インストールされているパッケージを(u)アップグレードして、必要に応じて(i)対話型で質問します。

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

詳細については、以下を確認してください。 http://www.openbsd.org/faq/faq15.html

9
gabe.

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

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

実際には、これはセキュリティ修正/更新がOPENBSD_5_3ツリーにコミットされるとすぐに、パッケージがCVSツリーから構築されることを意味します。次に、このパッケージがテストされ、Stable.MTier.orgのファンアウトサーバーにプッシュされ、誰もが使用できるようになります。

4
Holu

さまざまな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およびusing snapshots "に関するセクション、または最新の安定版リリースへのアップグレードに関するセクション。

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


OpenBSDリリースに関連する古い回答before6.5:

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

一般に、その要点は、アップグレードするリリースのインストールメディアを起動し、メニューから[(U)pgrade]を選択することです。ベースシステムがアップグレードされたら、それを起動し、ルートとして、インストールされているパッケージを_pkg_add -u_でアップグレードします。

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

「現在」をフォローすると、状況は大きく異なります。次に、CVSでチェックアウトしたポートツリーから_/usr/ports_の下でパッケージをビルドします。おそらく、ベースシステムも手動で再ビルドします(「 ソースからのシステムのビルド 」を参照)。 )。正しいオプションと手動でインストールされたパッケージのリストを指定すると、インストールされたポートは dpb (_/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
_

これは新規ユーザーにはお勧めしません。

3
Kusalananda

Bashをインストールし、Shellshockの脆弱性に悩まされたくなかったため、更新を取得する必要があり、Holuの提案 https://unix.stackexchange.com/a/103661/93476 およびパッチを当てた。

2
RedScourge

NetBSDでは、通常pkgsrcを最新バージョン(tar -xvzf pkgsrc-version.tar.gzに過ぎない)にアップグレードし、インストールされたソフトウェアを個別に更新します。

NetBSD/pkgsrc Webサイトに関する詳細情報:

2
Master_Shuffler

必ずお読みくださいFAQ/manual: http://www.openbsd.org/faq/upgrade58.html

リリースからリリースへと進むたびに、最後のステップとしてパッケージの更新を行う必要があります。

1
bsdguru
1
usermane

NetBSD pkgsrcは不注意なソリューションをサポートしていません。代わりに、nihpkginなどのパッケージマネージャーを使用する必要があります。 pkgsrcでは、頻繁にリンクされるファイルの依存関係を無視するアップグレードを強制する必要があります。また、古いバージョンのpkgsrcに新しいバージョンをコピーすると、pkgsrcツリーが不安定な状態になる可能性があります。

1
darktrym

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

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