予定通りubuntu26.04LTSのfix版26.04.1が8月下旬にリリースされました。
これに伴い一つ前のLTS版である24.04LTSから26.04.1への直接のアップグレードパスも開放されています。しかしいきなりサーバーに適用するのは流石に危険が過ぎる、ということで、まず実験台として普段は使っていない予備PCにアップグレードを適用してみました。
サーバーに適用する時は当然ながらコマンドラインからするので、それに合わせて当該PCでもターミナルから実行。
いつものようにまずパッケージを最新にして、
$ sudo apt update
$ sudo apt upgrade
必要に応じて再起動もしてから、下記コマンド。
$ sudo do-release-upgrade -d
なお、本来なら開発版へのアップグレードを許容する-dオプションは不要な筈なんですが、なぜかこれなしだとアップグレードが始まらないので付けています。ずっと以前から大体このオプションを付けているような気がするんですが、何故なんでしょうね?
それはともかく、時々設定ファイルの上書き許可等に応答しつつ、待つ事数十分。無事完了・・・とはいかず、不具合が発生して止まってしまいました。ぐえー。
今回問題になっていたのはpostfixパッケージでした。その更新が出来ない旨エラーが出て、直後自動でpostfixパッケージを元に戻そうとしていたようですがこれにも失敗。そのままupgrade処理が終了してしまったのです。
不幸中の幸いというか、主要パッケージのアップグレードは終わっていたようで、ディストリビューションのバージョンは26.04.1になっていました。ので、apt周りの修復と後始末(不要になったパッケージの削除等)をすることに。
前にもこんな事があったなあ・・・その時ひっかかったのはpostgresqlだったっけ、等と遠い目をしつつ、その当時を思い出して、まず元凶らしきpostfixを完全削除。というのもこれを削除しないと、aptの処理がことごとく止まってしまい、修復もままならないのです。
$ sudo apt remove --purge postfix
しかる後に、aptの修復を試みます。
$ sudo apt update --fix-missing
$ sudo apt install -f
$ sudo apt update
そしてパッケージ類のアップグレード漏れがあればそれをやって、
$ sudo apt upgrade
不要になったパッケージ類を削除。
$ sudo apt autoremove
この時点で見た感じ問題はなくなったように見えましたが、さらに一応パッケージの修復も試しておきます。
$ sudo dpkg --configure -a
以上で後始末完了。
あと、必要ならpostfixを入れ直します。当該PCにも一応入れ直しましたが、前述の通りそのPCは普段使っていない予備PCなので入れる必要はないんですけれども。
しかし困ったものです。postfixは当然ながらサーバーでは最も重要なプログラムの一つで、不具合など許されないパッケージです。上記と同様の対応をするとして、一旦完全削除していますから、また一から設定する事になるわけですけれども、それを考えるだけで気が遠くなるくらい手を入れてますし。
なお、軽く調べてみたところでは、本件と同様に24.04から26.04.1へのアップグレード時にpostfixが動かなくなった、という報告をしているユーザーもいました。
これは怖い。迂闊にサーバーには適用出来ません。というわけで、サーバーへの適用は一旦見送ります。色々調べて、回避の目処が立ったてからにしようと思います。どうしてもやってみなければわからない、という事であれば、問題が発生した場合に対処するための時間も確保しないと。。。しかしテストしておいてよかった。
なので今回は一旦これでおしまい。やれやれです。