Fedora 29 からFedora 30 へコマンドラインでアップグレードする方法
dnf upgrade
プラグインを使うことでアップグレードすることができます。
今回はこのdnf upgrade
を使ってFedora 29 からFedora 30
にアップグレードする手順を紹介します。
現行のパッケージのアップデートとバックアップ
Fedora 30 へのアップグレードを実施する前に現行のFedora29
のパッケージを最新にしします。
$ sudo dnf upgrade --refresh
その他必要なデータにつては適宜バックアップを取得しておくようにしてください。
DNF プラグインのインストール
DNF プラグインを下記コマンドでインストールします。
$ sudo dnf install dnf-plugin-system-upgrade
DNF によるアップデート開始
パッケージのアップデートとDNF
プラグインのインストールが環境したら以下のコマンドでFedora 30
へのアップグレードを開始することができます。
$ sudo dnf system-upgrade download --releasever=30
Before you continue ensure that your system is fully upgraded by running "dnf --refresh upgrade". Do you want to continue [y/N]: <- y で回答する
......
上記コマンドを実行するとアップグレードに必要なファイルをローカルにダウンロードします。
もしパッケージに問題(依存関係の破損や既にメンテナンスされていないパッケージ等)がある場合、--allowerasing
フラグを付けることでDNF
にアップグレードの妨げになっているパッケージの削除を許可するようになります。
今回自分の環境でも--allowerasing
フラグをつけてアップグレードすることになりました。
再起動とアップグレード
system-upgrade コマンドの実行が完了したら、アップグレードboot
プロセスに入るために以下のコマンドを実行します。
$ sudo dnf system-upgrade reboot
上記コマンドを実行するとシステムがシャットダウンしてアップグレードが走ります。この間数十分はかかるので気長に待ちましょう。。。
アップグレードが完了すれば自動的にreboot
してシステムが起動するようになります。
以上でアップグレードは完了です。大抵のユーザの場合はこれでFedora 30
を楽しめるようになっています。
残りの手順は、細かい警告などを取り除くために必要に応じて実施するようにしてください。
rpm/dnf ツールを実行するたびに警告が出る
rpm/dnf
ツールを実行するたびに警告が出るようになってしまう場合は何かしらの理由でdatabase
が競合を起こしてしまっている可能性があります。そのときは/var/lib/rpm/
ディレクトリを念の為バックアップした上で以下のコマンドを実行します。
$ sudo rpm --rebuilddb
distro-sync をつかって依存関係問題を解決する
システムアップグレードツールとしてdistro-sync
メソッドが標準で使用されます。あなたのシステムが部分的にアップグレードから取り残されてしまったり依存関係の問題を見つけた場合は、他のdistro-sync
コマンドを手動で実行することで解決するかもしれません。
このコマンドはインストール済みのパッケージを、ダウングレードすることになったとしても、リポジトリの利用可能なバージョンと厳密に同じにできるかどうかを試行します。
$ sudo dnf distro-sync
より強い指定として--allowerasing
オプションを指定することもできます。これを指定することによりDNF
によりパッケージの削除を許可するようになります。
本当に削除して大丈夫なパッケージかどうかは責任を持って実施するようにしてください。
$ sudo dnf distro-sync --allowerasing
最新のSELinux ポリシーで再ラベル化する
現在のSELinux
ポリシによりいくつかの操作が許可されない場合は、いくつかのSELinux
のパーミッションが誤っている可能性があります。
これは何かのバグ起因で発生したか、過去にSELinux
を停止していた期間があることによる可能性があります。 すべてSELinux
の権限を再ラベルする場合は以下のコマンドを実行することで可能です。
$ sudo fixfiles onboot
参考
Upgrading Fedora 29 to Fedora 30
https://fedoramagazine.org/upgrading-fedora-29-to-fedora-30/
Taking smart backups with Duplicity
https://fedoramagazine.org/taking-smart-backups-duplicity/
Resolving post-upgrade issues
https://fedoraproject.org/wiki/DNF_system_upgrade#Resolving_post-upgrade_issues