はじめに
2020年も最終日となりましたが、自宅とさくらのVPSに点在する総勢4台のFedora 32のサーバ等を順番にFedora 33にアップグレードしました。
例によってインストールに失敗してもダメージの少ない方から順番にアップグレード作業を行い、大きな問題なくアップグレード作業が終了しましたが、毎度のことではありますが小さい問題はちょこちょこと発生するので、この記事ではそれらの小問題と対応策について書きます。
アップグレード前の作業
Fedora 32までのアップグレードではFedora Magazineの記事をもとにして作業をしていましたが、この記事を最初に書いた時点(2020年12月)では記事がないようなので、Fedora Projectのページ[2]に記載の手順に従って作業を進めていきます。
なお、作業の内容自体については概ね上記の記事に沿った手順で進めることができます。
作業してみた結果
Fedora 32のアップデート
Fedora 33へのアップグレードを行う前にFedora 32を最新の状態にアップデートする必要があります。
アップデートの際には必要なパッケージがダウンロードされるので、今までのアップグレード作業の経験上、ダウンロードしたパッケージの格納用のスペースとしてrootパーティション上に3GBくらいの空き容量が必要です。
そこで、dfコマンドでストレージ上での空き容量を確認します(以下の例は確認例です)。
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/fedora-root 29G 19G 9.2G 68% /
ストレージ上の空き容量が十分に確保できていることが確認できたら以下のコマンドを実行し、Fedora 32を最新の状態にアップデートします。
アップデートが終わったら、以下のコマンドを実行して再起動します。
kernelのバージョンの確認(アップグレード前)
以下のコマンドを実行し、kernelのバージョンを確認します。
Linux yukemuri 5.9.16-100.fc32.x86_64 #1 SMP Mon Dec 21 14:10:00 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
スポンサーリンク
5.9.16のようです。
Fedora 33へのアップグレード
アップグレードのためのダウンロード(1回目)
Fedora 32を最新の状態に更新後、以下のコマンドを実行します。
$ sudo dnf system-upgrade download --refresh --releasever=33
エラーが発生したので、対応します。
4台中1台のサーバで以下のエラーが発生しました。
グループパッケージ “powerpc-utils” に一致するものはありません
グループパッケージ “coolkey” に一致するものはありません
グループパッケージ “timedatex” に一致するものはありません
グループパッケージ “authconfig” に一致するものはありません
グループパッケージ “fedora-release-notes” に一致するものはありません
グループパッケージ “dnf-yum” に一致するものはありません
グループパッケージ “rolekit” に一致するものはありません
エラー:
問題: package bind-lite-devel-32:9.11.25-2.fc32.x86_64 requires bind-libs-lite(x86-64) = 32:9.11.25-2.fc32, but none of the providers can be installed
– bind-libs-lite-32:9.11.25-2.fc32.x86_64 does not belong to a distupgrade repository
– problem with installed package bind-lite-devel-32:9.11.25-2.fc32.x86_64
(インストール不可のパッケージをスキップするには、’--skip-broken’ を追加してみてください)
そこで、以下のコマンドを実行し、bind-libs-liteパッケージを削除しました。
アップグレード後に必要になった場合にはインストールをやり直す方向性です。
アップグレードのためのダウンロード(2回目)
対応作業が終了したところで、気を取り直してもう一回以下のコマンドを実行します。
すると…
================================================================================
インストール 132 パッケージ
アップグレード 2781 パッケージ
削除 6 パッケージ
ダウングレード 278 パッケージ
ダウンロードサイズの合計: 5.0 G
DNF はパッケージのダウンロード、gpgキーのインストール、トランザクションのチェックのみ行います。
これでよろしいですか? [y/N]:
(中略)
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
完了しました!
ダウンロード完了! アップグレード開始には ‘dnf system-upgrade reboot’ を使ってください。
キャッシュされた metadata と transaction の削除には ‘dnf system-upgrade clean’ を使ってください
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
‘dnf clean packages’ を実行することでキャッシュパッケージを削除できます。
のように表示されました。
途中グループパッケージのエラーが表示されていましたが、無視して実行です。
reboot & アップグレード
以下のコマンドを実行し、reboot及びアップグレードを実行します。
アップグレードに要する時間はサーバによってかなり異なるので、横浜駅に行って(かなり出遅れてますが、)来年(2021年)のカレンダーを買いに行きます。
来年のカレンダーは #そうにゃん です。📅#lifeinyokohama pic.twitter.com/oLmS43tmXN
スポンサーリンク— pandanote.info (@Pandanote_info) December 30, 2020
来年(2021年)のカレンダーはそうにゃんのカレンダーです。
kernelのバージョンの確認(アップグレード後)
アップグレードが終了したら、以下のコマンドを実行してkernelのバージョンを確認します。
Linux yukemuri 5.9.16-200.fc33.x86_64 #1 SMP Mon Dec 21 14:08:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
kernelのバージョンは5.9.16で変化ありませんが、Fedora 33用にビルドされたもののようです。
動作確認
NetworkManager
使用しないネットワークインターフェースの無効化
さくらのVPSのサーバではネットワークのインタフェースとしてens5が設定されますが、この記事の方法で使用しないように設定します。
デフォルトゲートウェイの設定
無線LAN及び有線LANがともに有効化されている場合にはデフォルトゲートウェイが設定されないことがあったので、デフォルトゲートウェイとしない方の/etc/sysconfig/network-scripts/ifcfg-
MediaWiki
Math extensionが削除されてしまったようなので、再インストールしました。
一部の数式のレンダリングの際にエラーが発生するようですが、非公開のエリアということもあり優先度が低いため、別途なんとかすることにしました(後述)。
WordPress
設定ファイル用のディレクトリのownerの設定
Fedora 32の最新版へのアップデート時及びFedora 33へのアップグレード時に、/etc/wordpressディレクトリのownerがrootになってしまって、nginxから読めなくなりました。
nginxから読めなくなると、以下の画面が表示されます(ボタンを押しても何も起こりません)。
そこで、以下のコマンドを実行し、ownerをnginxに変更しました。
上記の件に加えて、この記事の「ディレクトリ等のownerの変更」に記載のディレクトリについてもownerをnginxに変更しました。
データベースの更新
WordPressで記事の編集を行おうとしたところ、データベースの更新を促す画面が表示されます(この記事参照。)ので、画面中のボタンを押してデータベースを更新します。
Wake-On-LAN
Wake-On-LAN設定が削除されてしまっていたようなので、root権限で以下のコマンドをWake-On-LANにより起動される側で実行しました。
Python3のモジュール
Python3のバージョンが3.9.1になったからかどうかわかりませんが、モジュールを参照しなくなったため、pipコマンドを使ってインストールをやり直しました。
インストールをやり直したモジュールは以下の通りです。
- httplib2
- pytz
- apiclient
- google-api-python-client
- oauth2client
- requests_oauthlib
- mysql
- mysql.connector
また、mysql.connectorを使用するためにmariadb-devel及びpython3-develパッケージが必要だったので、dnfコマンドでインストールしました。
nuc_ledモジュール
実はFedora 32へのアップグレードの際にnuc_ledモジュールをインストールしていなかったために久々の(Fedora 31への更新時以来の)インストールとなりましたが、少々手直しが必要でした。
手直しの顛末についてはこちらに書きましたので、必要に応じてご覧いただけると幸いです。
まとめ
4台続けてアップグレードしましたが、大きな問題なく作業が完了できました。
MediaWikiのMathプラグインはとりあえずインストール及び必要最低限の設定を行いましたが、エラーが解消しなかった数式を含む記事については、記事全体を本Webサイト(公開できるもの)またはGROWI(公開できないもの)に移転して、メンテナンスの手間の削減を図るつもりです。
この記事は以上です。