はじめに
2023年11月7日にFedora 39が登場しました。
そこで、
- 自宅の1台の物理サーバ、
- VirtualBox上のゲストOSとして稼働している3個の仮想サーバ、及び
- さくらインターネットのVPSで稼働している2台のサーバ群
(以上ここまでのサーバ及びサーバ群を総称して「PC群」、PC群に属するサーバを「PC」と書くことにします。)のFedora 38をFedora 39にサクサクとアップグレードすることにしました。
アップグレードの手順としては参考文献[1]の手順におおむねしたがって実行します。
事前作業
Fedora 39へのアップグレードの前にFedora 38を最新の状態にアップデートすることが必要ですが、作業開始前にバックアップを取ります。バックアップ重要です。
バックアップが取得できたら、root partition の空き容量を確認します。
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/fedora-root 469G 304G 165G 65% /
インストールされているパッケージの数にもよりますが、10GBくらいの空き容量があればアップグレードできるのではないかと思います(※個人の感想です)。
Linuxのkernelのバージョンを確認します。
Linux fedora 6.2.13-300.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 27 01:33:30 UTC 2023 x86_64 GNU/Linux
アップグレード前のkernelのバージョンは6.2.13のようです。
Fedora 38の最新の状態への更新
アップデート
アップデートの事前準備ができたら以下のコマンドを実行し、Fedora 38の最新の状態にアップデートします。
(中略)
トランザクションの概要
================================================================================
インストール 31 パッケージ
アップグレード 1213 パッケージ
削除 4 パッケージ
スキップ 3 パッケージ
ダウンロードサイズの合計: 2.7 G
これでよろしいですか? [y/N]:
(中略)
完了しました!
スポンサーリンク
アップデート時に発生した問題の修正
アップデートの実行中に仮想サーバのうちの1個で brave-browser-1.60.118-1.x86_64 のGPG鍵の検証に失敗しました。
そこで、以下のコマンドを実行して当該パッケージをいったん削除し、上記コマンドを再度実行しました。
再起動
アップデートで発生した問題の修正後、以下のコマンドを実行して再起動します。
いつもの後始末
WordPressがインストールされていて、かつnginxとともに使用されている場合には、このページに記載の方法でWordPressがアクセスする可能性のあるファイルのownerをnginxに変更します。
kernelのバージョンの確認
Fedora 38を最新の状態に更新後、以下のコマンドを実行します。
Linux fedora 6.5.10-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Nov 2 19:59:55 UTC 2023 x86_64 GNU/Linux
Linux kernelのバージョンは6.5になりますね。
Fedora 39へのアップグレード
パッケージのダウンロード
Fedora 38を最新の状態にアップデートできたことが確認できたところで、以下のコマンドを実行します。
メタデータの期限切れの最終確認: 0:26:12 前の 2023年11月18日 14時18分26秒 に実施しました。
パッケージ dnf-plugins-core-4.4.3-1.fc38.noarch は既にインストールされています。
依存関係が解決しました。
行うべきことはありません。
完了しました!
以下のコマンドを実行し、Fedora 39へのアップグレードに必要なソフトウェアパッケージのダウンロードを開始します(※以下はダウンロードが成功したときの出力の抜粋です。初回実行時にはパッケージ間の依存性チェックに失敗したため、ダウンロードが開始されませんでした(後述)。また、NVIDIAのドライバは使っていないため、inttfリポジトリはenableにしていません)。
(中略)
トランザクションの概要
================================================================================
インストール 92 パッケージ
アップグレード 3725 パッケージ
削除 8 パッケージ
ダウングレード 17 パッケージ
ダウンロードサイズの合計: 5.4 G
DNF はパッケージのダウンロード、gpgキーのインストール、トランザクションのチェックのみ行います。
これでよろしいですか? [y/N]:
(中略)
完了しました!
/var/lib/dnf/system-upgrade/system-upgrade-transaction.json に保存されているトランザクション。
ダウンロードが完了しました! ‘dnf system-upgrade reboot’ を使用して、アップグレードを開始します。
キャッシュしたメタデータやトランザクションを削除するには、’dnf system-upgrade clean’ を使用します』
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
‘dnf clean packages’ を実行することでキャッシュパッケージを削除できます。
ダウンロード時に発生した問題の修正
上記コマンドの実行中にエラーとなったため、依存性が確認できなかったパッケージを削除。
再起動とアップグレード
アップグレードに必要なパッケージのダウンロードに成功したら以下のコマンドを実行し、再起動します。
再起動後にアップグレードが実施されます(時間がかかります。手元のPC群では最大で25分程度を要しました)。
kernelのバージョンの確認
アップグレードが完了したら、ログインしてアップグレード後の kernel のバージョンを確認します。
Linux fedora 6.5.11-300.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 8 22:37:57 UTC 2023 x86_64 GNU/Linux
最新版にアップグレードされたFedora 38のkernelのバージョンが6.5.10でしたが、Fedora 39のkernelのバージョンは6.5.11になっていますね。
再び後始末コーナー
WordPressがインストールされていて、かつnginxとともに使用されている場合には、このページに記載の方法でWordPressがアクセスする可能性のあるファイルのownerをnginxに変更します。
アップグレード後の後始末
nuc_led
nuc_ledモジュールはこちらに書いた手直しを行ったものをインストールしました。
この記事を最初に書いた時点(2023年11月)では特に問題はないようです。
Python3
パッケージのインストール
Python3のバージョンが3.12.0になったので、以下のコマンドを実行してWebサイトの運用等に必要なパッケージをインストールします。
$ pip install pytz
$ pip install google-api-python-client
なお、第三倉庫(仮)でPython3を使ってグラフを描画していた(TezosのAPIの変更に伴い、近日中に公開終了予定。)ので、以下のパッケージも忘れずにインストールします。
$ sudo pip install matplotlib
$ sudo pip install pandas
$ sudo pip install seaborn
SyntaxWarningへの対応
正規表現を引数に指定する際にraw stringを使用していないと、以下のSyntaxWarningが表示されます。
print(“* [{0}](https://sidestory.pandanote.info/{1})”.format(f[4],re.sub(‘\.md$’,’.html’,f[0])), end=”)
上記の例の場合は'\.md$'
をr'\.md$'
に書き換える(文字列の前に”r”を追加する)修正を実施しました。
Galleon及びsnap
snapdのバージョンは変わりませんでした。
そこで、以下のコマンドを実行したところ、Galleonについても最新版がインストールされていることが確認できました。更新作業は実施されませんでした。
Requests-oauthlib
google-api-python-clientが動かなくなっていたので、以下のコマンドを実行して、Requests-oauthlibをインストールしました。
WordPress
WordPressはこの記事を最初に書いた時点ではトラブルは発見されていませんが、データベースの更新が必要でした(下図)。
Subversion
なんで今時そんなものを稼働させているのだ、というツッコミは無しの方向でお願いすることにして…
バージョンが1.14.2-21のmod_dav_svnを組み込んだApache httpdを起動しようとすると以下のエラーが発生してApache httpdを起動させることができませんでした。
Fedora 39のリリースの直後のバージョンが1.14.2-20だったようなので、以下のコマンドを実行して1.14.2-20へのダウングレードを実施したところ、Apache httpdを起動させることに成功しました。
$ sudo dnf install mod_dav_svn-1.14.2-20.fc39.x86_64
これでいったん様子を見ることにします。
壁紙
壁紙がインストールされないPCがあるので、以下のコマンドを実行してインストールしました。
動作確認
動作確認を実施し、動作に問題がなさそうであることが確認できました。
Fedora 39の壁紙は↓のような感じになりました。
おしゃれな壁紙ですね。
まとめ
本Webサイトではおよそ半年に一度の恒例のイベントとなりましたFedoraのアップグレードでした。
Fedora 39へのアップグレードは大きな問題が発生することなく完了しました。
Fedoraも2023年でプロジェクトの開始から20周年になるんですねぇ。時間が経つのは早いものです。
とりあえずアップグレードには成功したようですので、しばらくこの状態で使ってみて様子を見ることにします。
実はアップグレード作業は当初の計画では11月下旬に実施予定でした。
しかし、Fedora39のリリース以降、Fedora37からFedora38へのアップグレードの記事へのアクセスが増えていることがわかったことと、アップグレードの作業を実施するための時間が取れそうだったので、予定を繰り上げてアップグレード作業を実施しました。
この記事は以上です。