Summary
OpenBSD の 51 回目のリリースが 2021 年 10 月 14 日に行われました。このリリースで、バージョン番号が 7.0 に到達しました✨
本記事では OpenBSD 6.9 を 7.0 へアップグレードする手順を説明します。
Tutorial
本記事ではステップ・バイ・ステップ形式で、アップグレード手順を示します。各ステップには実際に実行するコマンドも記述しています。
- アップグレードの前に
- Upgrade
- アップグレードの後に
- Reboot
-
syspatch
の適用とパッケージの更新 - 不要になったファイルの削除
- 特定のパッケージへの対応
- Reboot
なお全体の流れは アップグレードのための公式チュートリアル (英語) をもとにしています。
1. アップグレードの前に
(参考) 公式チュートリアル内の該当セクション
ディスク空き容量の確認
/usr
に 1.1GB 以上の空きが必要です。
$ df -h
Filesystem Size Used Avail Capacity Mounted on
(...)
/dev/sd1x 2.9G 1.4G 1.4G 50% /usr
現在の利用内容を継承できることの確認
事前に 設定内容と記法の変更点 (英語) と 注意すべきパッケージ (英語) を確認しましょう。
2. Upgrade
アップグレードする上で問題は無さそうですか?必要なバックアップの取得は済んでいるでしょうか?
準備ができたら、次のコマンドを実行しましょう! (注意: 途中で中断はできません。)
$ doas sysupgrade
以下のような内容が出力されます:
Fetching from https://cdn.openbsd.org/pub/OpenBSD/7.0/amd64/
SHA256.sig 100% |**************************************************| 2144 00:00
Signature Verified
INSTALL.amd64 100% |*************************************************| 43523 00:00
base70.tgz 100% |**************************************************| 302 MB 00:27
bsd 100% |**************************************************| 21090 KB 00:06
bsd.mp 100% |**************************************************| 21181 KB 00:09
bsd.rd 100% |**************************************************| 4109 KB 00:01
comp70.tgz 100% |**************************************************| 73002 KB 00:18
game70.tgz 100% |**************************************************| 2743 KB 00:01
man70.tgz 100% |**************************************************| 7580 KB 00:02
xbase70.tgz 100% |**************************************************| 54408 KB 00:09
xfont70.tgz 100% |**************************************************| 22965 KB 00:07
xserv70.tgz 100% |**************************************************| 19659 KB 00:04
xshare70.tgz 100% |**************************************************| 4494 KB 00:02
Verifying sets.
Fetching updated firmware.
intel-firmware-20210216v0->20210608v0: ok
vmm-firmware-1.11.0p3->1.14.0: ok
Read shared items: ok
Upgrading.
システムが自動的に再起動され、さらにその後も sysupgrade
のプロセスが続きます。
この過程で sysmerge
も自動的に実行されます。出力結果は次のようなものでした:
--- /etc/login.conf unhandled, re-run sysmerge to merge the new version
--- /etc/ssh/sshd_config unhandled, re-run sysmerge to merge the new version
すべてが終わってから、ログインすると、ウェルカムメッセージに "OpenBSD 7.0 (GENERIC)" と表示されるのを確認できるでしょう。
3. アップグレードの後に
3-1. sysmerge
$ doas sysmerge
既述の通り rc.sysmerge
は、すでに自動で実行されています。しかしながら、ここで同じコマンドを実行することが必要な場合があります。
なぜなら手動によるマージが要求される場合があるためです。今回私の場合は以下のファイルが該当しました:
/etc/ssh/sshd_config
/etc/login.conf
マージを行う場合、次の (あるいはさらにその他の) いずれかの入力を行いながら進めます:
-
d
: 既存のファイルを保持します。 -
i
: 新しいファイルで上書きします。 -
m
: 上記のファイル群を手動でマージします。
m
を選択すると、個々の差分が順番に表示されます。l
を入力すると、現在表示されている差分において、左側を正式版として採用します。かたや r
を入力すると、右側の差分を採用します。この他に eb
を入力することもできます。この場合は "左右の差分を結合した内容を編集" できます。さて編集がすべて完了すると "===> How should I deal with the merged file? [Leave it for later] e
editing merged file..." という確認メッセージが表示されます。ここで i
を入力することで "マージしたファイルをシステムに取込み" ます。
4. Reboot
システムの再起動は、後続の一度で十分かもしれません。しかしここで一度再起動しておきます。なぜかというと、OS のアップグレードが完了したタイミングだからです。
$ doas reboot
5. syspatch
の適用とパッケージの更新
以下の 2 つのタスクは、システムを更新する時にも実施する汎用的なものたちです。
5-1. syspatch
の適用
syspatch
は OpenBSD から逐次提供される公式のバイナリパッチを取込む重要なコマンドです。
とはいえ sysupgrade
が実行されている中で syspatch
もすでに実行されています。そのためここで手動でを実行する必要は無いでしょう:
$ # スキップ可能:
$ # doas syspatch
5-2. パッケージの更新
システムにインストールされているパッケージの更新を行います。
$ doas pkg_add -u
出力内容は注意して読みましょう。重要な変更点もしくは要対応事項が表示されているかもしれません。
6. 不要になったファイルの削除
公式のチュートリアルに 削除すべきファイル群 が記載されています:
$ doas rm -f /usr/X11R6/lib/libdmx.* \
/usr/X11R6/include/X11/extensions/dmxext.h \
/usr/X11R6/lib/pkgconfig/dmx.pc \
/usr/X11R6/man/man3/DMX*.3
7. 特定のパッケージへの対応
公式のチュートリアルを読んで 注意すべきパッケージ への対応を必要に応じて行いましょう。今回は以下のものを使用している場合に注意が必要です:
- net/freeradius
8. Reboot
あとはこれだけです。おつかれさまでした。
$ doas reboot
アップグレードされたシステムが快適に動きますように :)
OpenBSD プロジェクトとコミュニティに深い感謝を込めて。