Fedora 23 へのアップグレードでは、『fedup』が廃止され、『dnf』でアップグレードする事になった。

 

そこで今回は『dnf』を使ったアップグレードの方法について説明しようと思う。

 

※ ココでのアップグレードは Fedora 22 を使用している人を対象にしています。『dnf-plugin-system-upgrade』は Fedora21 から利用出来ますので、Fedora21 では『dnf』をインストールしている場合に限り、有効ではないかと思います。
※ アップグレードを行い場合は、事前に必ずバックアップを取りましょう。
※ Fedora23 のインストールメディアはココから入手出来ます。

 

 

dnf でのアップデート

アップグレードを行う前に、パッケージのアップデートを必ず実行しておきましょう。

 

例:

 

sudo dnf update --allowerasing -y

『–allowerasing』オプションには依存関係エラーを解決する機能があります。

 

 

dnf-plugin-system-upgrade のインストール

『dnf』を使ったアップグレードでは『dnf-plugin-system-upgrade』が必要だ。

 

しかし、元々『fedup』を利用していた場合は、自動でインストールされている。

 

インストールされていない場合は、『dnf install dnf-plugin-system-upgrade』コマンドをシステム権限で実行して下さい。

 

例:

 

sudo dnf install dnf-plugin-system-upgrade -y

 

※ 『-y』オプションは質問に対し『yes』で応えるオプションです。時間が掛かる処理ですので、放置する場合は、使用した方が良いでしょう。

 

Fedora22 がクリーンインストールである場合は、『–best』オプションを利用することが出来ます。 このプションは、パッケージの最適化いますが、依存エラーを起こす側面があります。

 

例:

 

sudo dnf system-upgrade download --releasever 23 --best -y

 

通常のパッケージのダウンロードでは、オプションを利用しないで行う方が良いかも知れません。

 

例:

 

sudo dnf system-upgrade download --releasever 23 -y

 

ダウンロードが完了した場合は、エラーが無い事を確認して下さい。 エラーメッセージは最終行付近に『error』の文字と共に報告されます。

エラーがある場合は、問題の解決を行わないと、アップグレードは実行できません。

なお、このダウンロード処理は、複数回実行しても問題ありません。

 

 

dnf でのリブート

『dnf』でリブートすることにより、Fedora23 にアップグレードが行われます。

 

例:

 

sudo dnf system-upgrade reboot

※ この処理は直ちに実行されます。 編集中のドキュメントなどがある場合は、速やかに保存・終了して下さい。

 

 

dnf-2 での問題

dnf-plugin-system-upgrade のインストールを行うと問題が発生し、アップグレードが行えなかったマシンがありました。

 

そこで、仕方がないので、Python3 版の DNF でアップグレードを行いました。

 

# # Python3 版のインストール
# dnf install --disableplugin=system_upgrade -y python3-dnf-langpacks.noarch python3-dnf-plugin-system-upgrade.noarch python3-dnf-plugins-core.noarch python3-dnfdaemon.noarch
#
# # Python2 版から Python3 版へ切り替え
# cd /usr/bin/
# rm dnf
# ln -s dnf-3 dnf
#
# # 以下は通常の作業