本WebサイトのFedora 30を31にアップグレードしてみた。

By | 2020年1月1日 , Last update: 2022年8月7日

はじめに

Fedoraはバージョンの更新のサイクルが早い(この記事を最初に書いた時点(2020年1月)においては6ヵ月に1回)ため、年に2回はアップグレードする必要があります。

その一方で本Webサイトを稼働させているサーバ(以下単に「サーバ」と書きます。)のストレージ容量の関係で、アップグレードのために必要なストレージの空き容量を確保することができなかったために、かつてはアップグレードに関係のないファイル(画像ファイル等)を退避させる等の方法で空き容量を確保していました。

今回のFedora 30から31へのアップグレードも上記と同様の方法でアップグレードに関係のないファイルを退避させることにより空き容量を確保しようとしていたのですが…

journalログが増えすぎたことが原因で空き容量がなくなるという現象が発生したために、sshのポート番号を変えてみて、ログがいい感じにローテートされて古いログファイルが消去されるまで待ってみたところ、サーバの空き容量が…

[panda@pandanote.info ~]$ df -h /
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/fedora-root 17G 14G 3.2G 81% /

 

ということで、空き容量が増えました。

そこで、アップグレードに関係のないファイルを退避させずにFedora 31へのアップグレードを決行することとしました。

スポンサーリンク

Fedora 30を最新の状態にする。

アップグレード作業自体は例によってFedora Magazineに記載の方法(本記事の「References/参考文献」のsection参照。)に沿って行います。

実行の手順。

Fedora 30を最新の状態にするための手順は以下の通りです。

  • 以下のコマンドを実行します。
    $ sudo dnf upgrade --refresh

     

  • パッケージがダウンロードされてインストールされます。なお、本サーバでは合計すると700Mバイトくらいのファイルサイズのパッケージがダウンロードされました。
  • サーバを再起動します。ログイン画面が表示されるとFedora 30を最新の状態にする作業は完了です。

Before/After

なお、前節の作業の実行前と実行後のLinux kernelのバージョンは以下の通りです。

[panda@pandanote.info ~]$ uname -a
Linux pandanote.info 5.1.9-300.fc30.x86_64 #1 SMP Tue Jun 11 16:17:54 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[panda@pandanote.info ~]$ uname -a
Linux pandanote.info 5.3.16-200.fc30.x86_64 #1 SMP Fri Dec 13 17:48:38 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

 
5.1.9から5.3.16に変わっていることがわかります。

Fedora 31へのアップグレード

Fedora 31へのアップグレードは以下の手順で行いました。

  • 以下のコマンドを実行し、DNF pluginを最新の状態にします(すでに最新の状態になっている場合には何も実行されません)。
    $ sudo dnf install dnf-plugin-system-upgrade
    [sudo] panda のパスワード:
    メタデータの期限切れの最終確認: 0:21:32 時間前の 2020年01月01日 14時26分40秒 に実施しました。
    パッケージ python3-dnf-plugin-system-upgrade-4.0.8-1.fc30.noarch は既にインストールされています。
    依存関係が解決しました。
    行うべきことはありません。
    完了しました!

    スポンサーリンク

     

  • 以下のコマンドを実行し、Fedora 31へのアップグレードに必要なパッケージをダウンロードするのですが…
    $ sudo dnf system-upgrade download --releasever=31
    Before you continue ensure that your system is fully upgraded by running “dnf --refresh upgrade”. Do you want to continue [y/N]: y

    (中略)

    エラー:
    問題 1: problem with installed package ocaml-xmlrpc-light-0.6.1-47.fc30.x86_64
    – ocaml-xmlrpc-light-0.6.1-47.fc30.x86_64 does not belong to a distupgrade repository
    – nothing provides ocaml(Stdlib__bigarray) = 56b39f6e9e6ff25dbcda6766a61888e0 needed by ocaml-xmlrpc-light-0.6.1-48.fc31.x86_64
    – nothing provides ocaml(Stdlib__list) = cdcc178ba2d8de0d62892e1a68bd0cfe needed by ocaml-xmlrpc-light-0.6.1-48.fc31.x86_64
    – nothing provides ocaml(runtime) = 4.08.0 needed by ocaml-xmlrpc-light-0.6.1-48.fc31.x86_64

    (以下省略。31個の問題が発生してます。)

     

  • …と表示されてしまったので、ocamlをいったん消去すべく、以下のコマンドを実行します。
    $ sudo dnf remove ocaml

     

  • 再度、以下のコマンドを実行します。
    $ sudo dnf system-upgrade download --releasever=31

     

  • 本サーバではアップグレードのために1.2Gのストレージスペースを使用する旨のメッセージが表示されたので、
    パーティションの空き容量よりも大幅に少ないのでヨシ!!(画像略)
    と心の中でつぶやきつつ、yとタイプしてから Enterキーを押す。
  • インストールが開始されてからしばらくすると、GPG鍵のダウンロードについての確認のメッセージが表示されるので、内容を確認後、yとタイプしてから Enterキーを押す。
    警告: /var/lib/dnf/system-upgrade/updates-modular-32ce7568b16592cf/packages/jansi-1.17.1-1.module_f29+6921+ca3ed728.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 3c3359c4: NOKEY
    Fedora Modular 31 – x86_64 – Updates 1.6 MB/s | 1.6 kB 00:00
    GPG 鍵 0x3C3359C4 をインポート中:
    Userid : “Fedora (31)
    Fingerprint: 7D22 D586 7F2A 4236 474B F7B8 50CB 390B 3C33 59C4
    From : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-31-x86_64

    スポンサーリンク

     

  • ダウンロードが完了したら、以下のコマンドを実行してサーバを再起動する。
    $ sudo dnf system-upgrade reboot

     

  • 再起動後にインストールが始まるので、しばらく待ちます。なお、本サーバにおける所要時間は10分程度でした。
  • ログイン画面が表示されたらログインして、以下のコマンドを実行しocamlに関連するパッケージのインストールをやり直す。
    $ sudo dnf install --skip-broken ocaml*

     

kernelのバージョンの確認。

Fedora 31へのアップグレードの完了後のLinux kernelのバージョンは以下の通りです。

[panda@pandanote.info ~]$ uname -a
Linux pandanote.info 5.3.16-300.fc31.x86_64 #1 SMP Fri Dec 13 17:59:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

 

動作の確認等

NetworkManagerの設定

スポンサーリンク

使っていないネットワークインターフェース(ens5)のconnectionを定期的に無理矢理設定しようとして失敗している旨のログが/var/log/messagesに表示されるようになってしまったので、root権限で以下のコマンドを実行し、使っていないネットワークインターフェースのconnectionの設定自体を削除しました。

# nmcli connection delete ens5
# nmcli device set ens5 autoconnect no

 

WordPress


スポンサーリンク

WordPressで記事の編集を行おうとしたところ、以下の画面が表示されました。

そこで、画面に表示されている「Wordpressデータベースを更新」ボタンを押すと…

に画面が瞬時に切り替わりました。

また、MathJaxによる数式の表示状況を確認しましたが、特に問題はありませんでした。

Let’s encrypt [2020/01/20追加]

Let’s encryptの証明書の自動更新用のshell script(こちらの記事参照。)が以下のようなエラーを出力していました。

Failed to retrieve unit state: Access denied
Failed to start httpd.service: Access denied

 
証明書の更新もできていないようです。

SELinuxが原因だろうと思いつつ、/var/log/audit/audit.logを確認してみると、”avc: denied { status }”や”avc: denied { start }”的なログが出力されていたので、audit2allowコマンドとsemoduleを使ってpolicy moduleを登録しました。

MediaWiki

update.phpによるデータベースの更新を実行後に、MediaWikiの表示状況についての確認を行いましたが、数式及び化学式の表示については問題ありませんでした。

しかし、Math extensionのバージョン及び設定がMediaWikiの最新版に追従できていないので、新たな数式を作成することができなくなっていました。texvcがobsoleteになってしまったようで、

「これからはMathoidを使ってね。」

というようなことがMediaWikiのページに書いてありましたが、準備が大掛かりになりそうですね…。

(WordPress or GitHub Pages)+MathJaxで数式が書けていることや、MediaWikiサーバはWordpressサーバとは完全に切り離された設定の下で運用されていて、かつMediaWikiサーバ自体が現在ほとんど使用されていないことから、MediaWiki上において数式を新規で書くか既存の数式を修正して$\LaTeX$で処理させるための処理系の構築は当面見合わせることにしました。

crowiの方がいいような気もしますが、リソースが足りません…

[2020/05/27 さらに追記] GROWIをインストールしてみました。詳細はこちらをご参照ください。

まとめ

MediaWikiの動作確認については歯切れの悪い結論になってしまいましたが、なんとかFedora 31へのアップグレード作業を完了しました。この状態で当面の間様子を見ます。

この記事は以上です。

References / 参考文献