Logo

dev-resources.site

for different kinds of informations.

OpenBSD 7.5 を 7.6 へ アップグレード

Published at
1/3/2025
Categories
openbsd
os
upgrade
migration
Author
nabbisen
Categories
4 categories in total
openbsd
open
os
open
upgrade
open
migration
open
Author
8 person written this
nabbisen
open
OpenBSD 7.5 を 7.6 へ アップグレード

はじめに

OpenBSD プロジェクトから 2024 年 10 月 8 日に OS の 7.6 がリリースされました 🌷 57 回目のリリースに当たります。

openbsd release

What's New (英語) | Changelog (英語)

本記事で OpenBSD 7.5 を 7.6 にアップグレードする手順を説明します。
各手順は 公式のすばらしいガイド (英語) に基づいています。

チュートリアル

実行するコマンド一式を示しながら、ステップ・バイ・ステップ形式で書いた、アップグレード用のガイドです。

🌊 🐡 🌊

1. アップグレード前準備: 検証とカスタイマイズ

公式のチュートリアルには Before using any upgrade method (私訳: アップグレード方法に関わらずその前に行うこと) セクションが設けられています。

アップグレード方法としては sysupgrade を使うのが、たいていの場合、良い選択になるでしょう。

ディスク空き容量の確認

/usr に 1.1GB 以上の空きがあることが必要です。

$ df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
(...)
/dev/sd1e      7.6G    3.2G    4.0G    45%    /usr
Enter fullscreen mode Exit fullscreen mode

OK のようです :)

現在の利用内容がアップグレード結果に適合することの確認

設定と構文の変更 (英語)特別なパッケージ (英語) を確認しましょう。
今回後者には PHP 8.1 の削除があります:

PHP 8.2 is the new default version.
(私訳: PHP 8.2 がデフォルトのバージョンになりました。)


バックアップ (必要な場合)

適宜、事前にバックアップを取得しておきましょう。

アップグレード内容のカスタマイズ (必要な場合)

ここは参照用であり、標準のアップグレードではスキップできます。

/auto_upgrade.conf をレスポンス・ファイルとして利用できます。
OpenBSD の autoinstall のドキュメントに、次のように書かれています:

If either /auto_install.conf or /auto_upgrade.conf is found on bsd.rd's built-in RAM disk, autoinstall behaves as if the machine is netbooted, but uses the local response file. In case both files exist, /auto_install.conf takes precedence.

(私訳: /auto_install.conf または /auto_upgrade.confbsd.rd 内蔵の RAM ディスクに存在する場合、autoinstall は、ネットブートモードで起動されたマシンのように振る舞いますが、ローカルにあるレスポンス・ファイルを使用します。両方のファイルが存在する場合、/auto_install.conf が優先されます。)

/auto_upgrade.conf の完全な内容の一例は次のようなものです:

Location of sets = disk
Pathname to the sets = /home/_sysupgrade/
Set name(s) = -x*
Set name(s) = +xbase*
Set name(s) = -game*
Set name(s) = done
Directory does not contain SHA256.sig. Continue without verification = yes
Enter fullscreen mode Exit fullscreen mode

この場合、xbase を除く x 一式と game が、インストール対象外になります。

それから /upgrade.site を用いた指定も可能です。


2. sysupgrade によるアップグレード

準備は良いですか。

* 注意: 以下のコマンド sysupgrade は、ひとたび実行すると中断はできません。

準備ができたら、以下のコマンドを実行しましょう。実行するのはこれだけです:

$ doas sysupgrade
Enter fullscreen mode Exit fullscreen mode

以下のように出力されるでしょう:

Fetching from https://cdn.openbsd.org/pub/OpenBSD/7.6/amd64/
SHA256.sig   100% |***********************************************************|  2324       00:00    
Signature Verified
INSTALL.amd64 100% |**********************************************************| 44889       00:00    
base76.tgz   100% |***********************************************************|   414 MB    00:32    
bsd          100% |***********************************************************| 28007 KB    00:02    
bsd.mp       100% |***********************************************************| 28139 KB    00:02    
bsd.rd       100% |***********************************************************|  4600 KB    00:00    
comp76.tgz   100% |***********************************************************| 81512 KB    00:06    
game76.tgz   100% |***********************************************************|  2746 KB    00:00    
man76.tgz    100% |***********************************************************|  8039 KB    00:00    
xbase76.tgz  100% |***********************************************************| 60681 KB    00:05    
xfont76.tgz  100% |***********************************************************| 23020 KB    00:01    
xserv76.tgz  100% |***********************************************************| 20070 KB    00:01    
xshare76.tgz 100% |***********************************************************|  4538 KB    00:00    
Verifying sets.
Fetching updated firmware.
fw_update: add none; update intel|
Upgrading.
Enter fullscreen mode Exit fullscreen mode

マシンの再起動とシステムのアップグレードが行われます。ふたたび再起動が行われて、sysmerge が自動で実行されます。それから sshd 等のデーモンが、従来のように起動されます。"Checking for available binary patches..." と出力されて、もし対象が存在すれば "Run syspatch(8) to install:" と表示されるでしょう。

最終的に以下が表示されます:

starting local daemons: cron.
Fri Jan  3 18:29:37 JST 2025

OpenBSD/amd64 ... (ttyC0)

login:
Enter fullscreen mode Exit fullscreen mode

ログインメッセージが表示されています。"OpenBSD 7.6 (GENERIC.MP)" とあります。

3. アップグレード後の操作: sysmerge (必要に応じて)

公式ドキュメントに アップグレード後に行うこと (英語) が書かれています。大いに参考になるでしょう。

In some cases, configuration files cannot be modified automatically. Run

# sysmerge

to check and perform these configuration changes.

ここで言われているのは、手動で sysmerge を実行することが必要な場合もある、ということです。
以下のような conf ファイルを、手動でマージすることが必要な場合もあります。気を付けてください:

  • /etc/login.conf

コマンドを実行してみましょう:

$ doas sysmerge
Enter fullscreen mode Exit fullscreen mode

まず差分が出力されるでしょう。それから以下のようにたずねられます:

  Use 'd' to delete the temporary ./etc/login.conf
  Use 'i' to install the temporary ./etc/login.conf
  Use 'm' to merge the temporary and installed versions
  Use 'v' to view the diff results again

  Default is to leave the temporary file to deal with by hand

How should I deal with this? [Leave it for later]
Enter fullscreen mode Exit fullscreen mode

最初の 3 つは、以下のような挙動になります:

  • d: 現在の (ローカルの) ファイルを保持する。
  • i: sysupgrade が取得した新しいファイルでローカルを上書きする。
  • m: 対話型形式で手動でマージする。

m を入力するとマージモードが立ち上がります。一つ一つの差分について、いずれを採用するのかを確認されるでしょう:

  • l を入力すると左側が採用されます。
  • r は右側です。

その後に、マージ結果ファイルに対して、どの操作を行うのかをたずねられます:

  Use 'e' to edit the merged file
  Use 'i' to install the merged file
  Use 'n' to view a diff between the merged and new files
  Use 'o' to view a diff between the old and merged files
  Use 'r' to re-do the merge
  Use 'v' to view the merged file
  Use 'x' to delete the merged file and go back to previous menu
  Default is to leave the temporary file to deal with by hand

===> How should I deal with the merged file? [Leave it for later]
Enter fullscreen mode Exit fullscreen mode

e を入力すると、エディタが起動されてマージ結果ファイルを編集できるようになります。

i を入力すると、マージ結果ファイルをマシンにインストールします:

===> Merging /etc/login.conf (running cap_mkdb(1), needs a relog)
Enter fullscreen mode Exit fullscreen mode

4. syspatch の適用 (スキップ可能)

ここからの 2 つのタスクは、日常的なメンテナンスで、システムをアップデートする時にも実施するものです。

syspatch は重要なコマンドです。OpenBSD から、必要と判明し次第都度、継続的に提供される公式のバイナリ・パッチです。

$ doas syspatch
Enter fullscreen mode Exit fullscreen mode

5. パッケージのアップデート

What's new (英語) セクションがリリースページにありますが、そこの "Ports and packages" (Ports とパッケージ (英語)) に "Some highlights" (注目点 (英語)) が記載されています。例えば、VMM/VMD が今回も更新されています。

次のコマンドはマシンにインストールされているすべてのパッケージをアップデートします:

$ doas pkg_add -u
Enter fullscreen mode Exit fullscreen mode

大量の出力が現れるでしょう。これらは慎重に読む必要があります。終わりの部分は特に、です。そこに重要な変更点や実施すべきアクションが書かれているかもしれません。私の場合、fish をデフォルトのシェルとして使っているのですが、こちらが正常に起動することをいつも確認しています。というのも、かつて Python のアップグレードの影響でクラッシュするようになったことがあるからです 😅

6. 設定と構文の変更

必要に応じて conf を更新して、設定と構文の変更 (英語) に書かれている内容を適用しましょう。

今回の対象はありません。

7. 古くなったファイルの削除

ここはシンプルな手順です。公式チュートリアルの 削除すべきファイル (英語) に書かれていることを行うだけです。

今回の対象はありません。

8. 特別なパッケージ

公式チュートリアルの 特別なパッケージ (英語) を確認しましょう。使っているものがあるかもしれません:

  • VLC, mpv, FFmpeg supporting hardware video acceleration
  • PHP

9. 再起動

ゴールが見えて来ました ! 最後に必須では無いですが再起動しておくと良いしれません:

$ doas reboot
Enter fullscreen mode Exit fullscreen mode

おわりに

新しいシステムとあなたが長く楽しい時間を過ごせますように :)

OpenBSD プロジェクトとコミュニティへの深い感謝を込めつつ。

os Article's
30 articles in total
Favicon
Critical Section Problem: Process Synchronization
Favicon
Reader Writer Problem: Process Synchronization
Favicon
Protection and Security: Operating System
Favicon
Storage Management: Operating System
Favicon
Process Management: Operating System
Favicon
Introduction to Operating System
Favicon
Memory Management: Operating System
Favicon
Process Synchronization and Deadlock: Operating System
Favicon
OpenBSD 7.5 を 7.6 へ アップグレード
Favicon
Understanding Commodore Operating Systems
Favicon
NixOS - A Unique Linux Distribution
Favicon
Remove Windows software completely
Favicon
OpenBSD Upgrade 7.5 to 7.6
Favicon
Chrome OS Guide to go from Zero to DevOps Hero in a nutshell
Favicon
Understanding the Core Components of an Operating System and How They Work
Favicon
Contribuindo para o FreeBSD
Favicon
Unveiling the Magic Behind Your Computer: A Deep Dive into Operating Systems
Favicon
10 Useful but Rarely Used OS Functions in Python
Favicon
How to Fix Lenovo Thinkpad X1 Extreme Gen freezing without blue screen
Favicon
Unlock 1 Billion NYC Taxi Rides: A Step-by-Step Guide
Favicon
Overlooked Vulnerabilities in Modern Mobile Operating Systems: A Comprehensive Guide
Favicon
OS Development (The truth)
Favicon
Building a 32-Bit Operating System: A Beginner-Friendly Project
Favicon
Kernel vs Operating System
Favicon
Deadlock | Valorant
Favicon
chroot system call
Favicon
How the Operating System Manages Hardware Resources in a Complete System
Favicon
Total Madness #2: Async Locks
Favicon
10 Livros sobre Sistemas Operacionais que vale a pena você ler
Favicon
🖥️ Windows vs macOS: The AI Security Showdown 🛡️

Featured ones: