さくら VPS に Fedora 40 をインストールする
Fedora 40 をインストールしました。大きな変更はないので書くことはあまりありません。今回から、インストール方式を変更しました。kickstart を使用するのは変わりませんが、クリーンインストールからアップグレードインストールに変更しました。
Fedora 39 からの非互換あれこれ
いくつか非互換がありました。いずれも小さな問題です。
firewalld
に submission サービスができた
デフォルトで submission
(587/TCP
)が入っています。これまでは smtp-submission
でしたが、こちらは非推奨となっています。
/etc/systemd/*.conf
がなくなった
デフォルトではインストールされないようです。なきゃないで別にいいです。
mailx
パッケージは廃止され s-nail
に移行
s-nail
は mailx
の上位互換で、簡単に言うと SMTP
が話せる mail
コマンドです。Fedora 40 以降は、dnf
で mailx
パッケージをインストールしようとすると、自動的に s-nail
パッケージがインストールされます。
kickstart でアップグレードインストールする
Fedora 40 とは直接関係ありませんが、今回からアップグレードインストールにしたので、触れたいと思います。今まで /home
以下をバックアップ/リストアするのに 2時間程度要していたため、/home
以下をそのまま引き継ぐことにしました。これによって、作業時間が大幅に削減されました。
やり方は kickstart を書ける人であればそれほど難しくありません。 kickstart の設定ファイルで、既存のパーティションをそのまま使う設定にしておけば、アップグレードインストールになります。
クリーンインストール時は、以下のような感じで作っておきます。
clearpart --all --initlabel --drives vda part biosboot --fstype="biosboot" --ondisk=vda1 --size=1 part /boot/efi --fstype="efi" --ondisk=vda2 --size=600 part / --fstype="xfs" --ondisk=vda3 --size=16384 part /home --fstype="xfs" --ondisk=vda4 --size=65536 --grow
biosboot
と efi
パーティションを両方作っているのは、将来的に EFI ブートになるのではないか、と考えているためです。さくら VPS では、biosboot
だけあれば OK です。
アップグレードインストール時は、以下のようになります。
part biosboot --fstype="biosboot" --onpart=vda1 part /boot/efi --fstype="efi" --onpart=vda2 part / --fstype="xfs" --onpart=vda3 part /home --fstype="xfs" --onpart=vda4 --noformat
既存のパーティションを再利用するので、サイズの指定は行いません。当たり前ですが、各パーティションのデバイスは一致させる必要があります。/home
以下はデータを引き継ぎたいので、--noformat
を指定しておきます。
実際に動かしてみる
さくら VPS で動かしてみると、初期化されますという警告が散々出ますが、正しく kickstart が設定されていれば /home
以下は初期化されません。もしかして、必ず初期化してからインストーラが動くのか? と一瞬不安になりましたが、大丈夫でした。
注意点
/home
をそのまま残すので、アップグレード後も /home
以下で使用するユーザとグループが必要です。どのタイミングまでに作ればよいか(初回起動時まで?)、uid と gid が一致している必要があるか、あるいはユーザ名・グループ名が一致すればよいかなど、細かいところまでは、よくわかっていません。
私は気付かずに実行してしまい、一部のディレクトリで owner がおかしくなりました(管理者ユーザに割り振られるっぽい?)。kickstart 内で作成している(管理者と %post
内で uid
と gid
を指定して作っている)ユーザとグループが所有するディレクトリでは問題ありませんでした。chown -R
で修正できるレベルだったので大事には至っていませんが、この辺りを十分考慮の上でお試しください。