2026年06月23日

【Linux】Raspberry Pi 4BのOSをまたまたアップグレードした話

こんにちは。

Raspberry pi 4BのOSをBookworm → Trixieにアップグレードしました。

以前、Buster →(Bullseye)→ Bookwormというアップグレードをしたときは、
パッケージリストのソースリポジトリを直接書き換え、aptコマンドでfull-upgardeという力技で押し切りました。

巷ではディスプレイサーバがX11 → Waylandに移行されたことで大騒ぎだったそうですね。
SSH接続のヘッドレス運用だった私には影響無く、わりとあっさりとアップグレードできました。

今回も軽い気持ちで同様の手順でアップグレードしたところ大失敗。
ChatGPT先生に相談しながらリカバリを試みましたが、いろいろいじくり倒したせいか遂にはログインすら出来なくなってしまいました。
先生も「認証系のライブラリに不整合があってどうにもならん。クリーンインストールせい!」と突き放してくる始末。
幸いストレージデバイスは複数持っていたので、先生の助言に従いまっさらなSSDにクリーンインストール → 壊れたSSDから諸々ファイルをサルベージという手段を取りました。


■簡単に復旧できたもの

以下はインストールしてから旧SSDのサルベージファイル上書きで概ね復旧できました。
細かい再調整は必要でしたが、そもそも複雑な設定で運用していなかったので簡単でした。
  • SSH
  • Node-RED
  • Nginx
  • Samba
  • crontab

■つまづいたもの

Let's Encryptクライアント「Lego」

SSL証明書を発行・更新するためのLegoの最新バージョンをインストールしてみると、コマンド体系や証明書フォーマットが大刷新されていました。
このため従来の証明書更新スクリプトが機能せず、エラーを吐きまくります。
これもChatGPT先生に助言をもらいながら、新体系のコマンドに置き換え、さらには新フォーマットで強制更新することで無事に更新成功しました。


■次回からはクリーンインストール

今回のようにSSD(やSDカード)の2枚運用は理に叶っているかもしれません。
片やクリーンインストール用、片やまるごとバックアップメディアとしてローテーションすれば、けっこうすんなりアップグレード作業は終わります。
full-upgradeでコケて復旧に時間を費やすより、こっちのほうが精神的にも楽です。
今回で知見も得たことですし、次回以降のOSアップグレードはこの方法でやろうっと。


■余談

Raspberry pi の公式情報はあんまり積極的に追ってなかったんですが、Raspberry pi Connectなる仕組みが出来たんですね。
ユーザ登録して対象端末と接続させれば、ブラウザ上で対象端末のデスクトップ(またはターミナル)を表示・操作できるというもの。

私はヘッドレス運用がメインなのであまり使う機会はないですが、Waylandはリモートデスクトップ関連が厄介だそうですので、その代替としては良いのではないでしょうか。
個人利用なら無料で使えます。 Imagerでイメージを作る段階で組み込めるのもお手軽です。
ラズパイ財団のサーバ経由となるのでレスポンスは悪いですね。

またOTAアップデートなどの機能もあり、自動更新をスケジュールできたり、アップデートに失敗するとロールバックも自動で行ってくれるのだとか。
ラズパイは今や産業用組み込みコンピュータとしての需要も高いそうですから、複数台を一元管理する現場では役立ちそうですね。

スクリーンショット 2026-06-23 220516.png




.
posted by Huwy at 09:15 | Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2025年05月24日

【Linux】Raspberry Pi 4BのOSをいいかげんアップグレードした話

後記:

後日、BookwarmからさらにTrixieへのアップグレードも行いました。
ただし事前にネット情報を収集したところ、full-upgradeではトラブル続出とのことでした。
私の環境でもエラーを解消できず、結局今回は公式が推奨するとおり、Trixieのクリーンインストールで対応しました。
後述のとおりSSDが2枚ある状態でしたので、SSD�Aにクリーンインストールし、諸々ソフトウェアをインストールしてSSD�@の旧設定をちまちまとリストア、という手順です。
概ねすんなりと事が運んだのですが、1点だけ大きく躓きました。
そのへんの顛末についてはまた別記事にします。→ しました。



こんにちは。

5年前に購入したRaspberry Pi 4B。
当時インストールしたRaspberry Pi OSのバージョンはBusterでした。
2025/05/24現在、バージョンは2世代進みBookwormが最新です。
  • 自宅で私だけが使うので古いバージョンのままでもいいか
  • メジャーアップデートはなんかトラブルが付き物らしいし
そんな思いからOSアップグレードに二の足を踏んでいたのですが、WEBサーバを立てて外部公開するようにしたこともあり、少しでもセキュアであるに越したことはないのでアップグレードに踏み切りました。


 ■バックアップ

M.2 SSDブートで運用していたので、まずは念のためバックアップを作成します。
バックアップ先となるSSDを新調し、DDコマンドで現行SSD(�@)の完全クローン(�A)を作成。
そのうえで�@のRaspberry Pi OSをアップグレードしていきます。
万が一�@がぶっ壊れても、�Aに差し替えて復旧できます。
IMG_0388.PNG

余談ですが、Raspberry Pi 5はNVMeのSSD使えるんですよね。
4BではSATA接続(さらにUSB3.0でブリッジ)となっているのでちょっと羨ましい。
とはいえ、もはや4Bですら私の用途にはオーバスペック。速度に不満もありません。
本来は学習用途として始まったRaspberry Piプロジェクトも今ではデスクトップ用途・産業用途として広く普及してしまいました。
お値段もどんどん高くなり、個人の趣味範囲の軽量サーバ向けとしてはなかなか手を出しにくくなっています。
4Bが私には手の施しようがない物理故障に至ったら、その時点の最新Raspberry Piを購入・・・いややっぱ4Bでいいや。


■アップグレード

ネット情報の多くは、まずはBookwormをクリーンインストールしてバックアップした諸々設定ファイルをひとつひとつ適用していくべきと書かれていました。
しかしお勉強がてらいろんなスクリプトを書いていろんなサービスに仕込んできたので、ぶっちゃけ全部覚えていません。
クリーンインストール環境に1つ1つ戻そうにも、たぶん漏れが発生していまします。
そこで今回は現行環境を維持しつつ、aptコマンドでアップグレードしていきます。

やることは簡単で、パッケージリストのソースリポジトリの指定を新OSバージョン用に書き換えて、以下を実行するだけ。
  1. apt update
  2. apt upgrade
  3. apt full-upgrade
  4. apt autoremove
  5. reboot
とはいうものの、いきなり2世代先まで飛び級でバージョンアップを行うとパッケージやライブラリの依存関係が崩壊する可能性があるということで、1世代ずつ段階的にアップグレードしていきました。

IMG_0385.PNG



■引っ掛かったこと

特に問題らしい問題は発生せず、2段階の作業を経てBookwormにアップグレードできました。
ただし、公開鍵認証方式のSSH接続が出来なくなってしまいました(これはけっこう問題らしい問題か・・・)。

ChatGPT先生に相談。
まずはログを確認しろいうので見てみると、/etc/ssh/sshd_confのPubkeyAcceptedAlgorithmsなる項目に「ssh-rsa」が登録されいないという警告メッセージが。
どうやらBookwormから採用されたOpenSSH 8.8では従来から使用してきた暗号化アルゴリズム(ssh-rsa)がデフォルトでは拒否されるもよう。
より強力なアルゴリズムの鍵じゃないとダメなんだそうです。
PubkeyAcceptedAlgorithmsに設定することでssh-rsaアルゴリズムの鍵も引き続き使えるものの非推奨とのこと。
「ed25519」アルゴリズムで鍵ペアを作り替えるべしと教えてもらったので、再作成しときました。

アップグレードが無事に完了したあとは、リブート前に/etc/ssh/sshd_confを良く確認したほうがいいですね。
一時的にパスワード認証も有効にしてSSH接続を担保しておき、公開鍵認証の接続不可に備えるのが吉です。


■まとめ

もっといろいろ問題が多発して頭を悩ませる覚悟でいましたが、意外にもすんなりとアップグレード出来てしまいました。
拍子抜け。
Raspberry Pi 4Bで運用していたNode-REDやNginx、Sambaなども問題なく動いています。
バックアップ用にSSDを新調しましたが必要なかったな・・・。

2025/06/03追記:
ネットを見るとBookwormではX→Wayland変更に起因する問題が発生しているようですね。
私はSSH接続のヘッドレス運用なので気が付きませんでした。
ラズパイをデスクトップ運用って私はあんまり想定に無いんですよね。





.


posted by Huwy at 10:28 | Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は90日以上新しい記事の投稿がないブログに表示されております。