Fedora 21 をFedora 22 にUpgrade する
自宅サーバのFedora 21 をFedora 22 にUpgrade した時の手順を残しておきます。
事前準備
Upgrade する前にシステムのバックアップを撮っておいてください。
仮想環境上にFedora 21 がある場合は、スナップショットでも良いと思います(自分の環境の場合はこちらで対応しました)。
また、wiki には特に書いてありませんが、念の為事前にFedora 21 を最新の状態にUpdate しておきます。
# yum update
fedup のUpdate
fedup コマンドを最新の状態にします。
インストールされていない場合は、インストールをしてください。
# yum update fedup fedora-release
or
# yum install fedup fedora-release
fedup コマンドの実行
root ユーザでfedup コマンドを実行します。
本コマンドを実行すると、/var/cache/system-upgrade
にファイルがダウンロードされます。
# fedup --network 22
なお、本コマンドを実行すると現在インストールされているパッケージの検証が行われます。
自分の環境の場合、検証の結果、次のような警告が出ました。
.....
NOTE: Some repos could not be contacted: mattdm-finalterm
If you start the upgrade now, packages from these repos will not be installed.
WARNING: problems were encountered during transaction test:
broken dependencies
perl-PlRPC-0.2020-15.fc20.noarch requires perl-4:5.18.4-308.fc21.x86_64
These packages may have problems after the upgrade.
Finished. Reboot to start the upgrade, or 'fedup --resetbootloader' to abort.
mattdm-finalterm は、現在Fedora はサーバ用途で使用しているので、特に気にしないことにしました。
perl-PlRPC は PlRPC (Perl RPC) に関するパッケージのようですが、自分は特に使っていません。ただ、インストールされているパッケージが使用している可能性もあるので、経過観察することにしました。
Upgrade
fedup コマンドが完了すると、下記メッセージが表示されていると思います。
Finished. Reboot to start the upgrade, or 'fedup --resetbootloader' to abort.
もしUpgrade をキャンセルしたい場合は、fedup --resetbootloader
を実行することでキャンセルできます。
今回はUpgrade を続行するので、OS を再起動します。
# shutdown -r now
再起動すると、起動途中のGRUB メニューでSystem Upgrade
の項目が出されると思うので、それを選択してください。
通常通り再起動すると、一番上に項目が来ているので、放置しておけば勝手にそれが選択されるようになっています。
Upgrade が開始されると、Fedora のアイコンが出現してプログレスバーが進んでいきます。
おそらく数十分ほどかかるので、しばらく放置しておきます。(´・ω・`)_且~~
プログレスバーが100% になっても再起動しない
自分の環境だけかもしれませんが、Upgrade プログレスが100 % に達しても再起動されませんでした。
コンソール上でESC キーを押して、CUI モードに移動したところ、既にシャットダウン状態に移行していたようです。
とりあえず、電源スイッチを押してOS を再起動させることにします。
Upgrade 後の作業
RPM DB をリビルドして、RPMDB チェックサムエラーを回避します。
rpm --rebuilddb
コマンドを実行して、RPMDB を再構築します。
# rpm --rebuilddb
ディストリビューション上のパッケージを、現在のFedora のバージョンのものと合わせるため、yum distro-sync
コマンドを実行します。
結果、不要なファイルや一部パッケージのダウングレード等が行われたりします。
# yum distro-sync --setopt#deltarpm0
......
Dependencies resolved.
#####################=============================================================================
Package アーキテクチャ バージョン リポジトリー 容量
#####################=============================================================================
削除:
kernel x86_64 3.17.8-300.fc21 @System 0
kernel-core x86_64 3.17.8-300.fc21 @System 40 M
kernel-modules x86_64 3.17.8-300.fc21 @System 17 M
kernel-modules-extra x86_64 3.17.8-300.fc21 @System 2.1 M
ダウングレード中:
libmwaw x86_64 0.3.4-3.fc22 fedora 2.0 M
libodfgen x86_64 0.1.3-2.fc22 fedora 226 k
libssh x86_64 0.6.4-1.fc22 fedora 151 k
libtiff x86_64 4.0.3-18.fc22 fedora 172 k
unbound-libs x86_64 1.5.3-2.fc22 fedora 355 k
トランザクションの要約
#####################=============================================================================
Remove 4 Packages
ダウングレード 5 Packages
総ダウンロード容量: 2.9 M
これでいいですか? [y/N]
rpmconf ツールを実行し、.rpmnew, .rpmsave, .rpmorig ファイルを検索し、新しいバージョンのものに取り替えるか、現在の状態をキープするか、差分を表示するかといった作業を行ないます。
環境によって、判断は様々なので、操作内容については割愛します。
# yum install rpmconf
# rpmconf -a
(自分の環境では実施していませんが)もし、google-chrome をGoogle リポジトリからインストールして使用している場合は、下記コマンドを実行して、再インストールしてください。
# yum remove google-chrome-\* && sudo yum install google-chrome-[beta,stable,unstable]