2008.11.26 作成。(2006.11.12, 2007.6.2 の日記に加筆)
半年に一度やってくる Fedora Linux のバージョンアップ手順と、関連するコマンドなど。
DBMSのデータベースなどは、事前に適宜バックアップしておきます。PostgreSQL は PostgreSQL の管理 を参照。
まず、次のパッケージをrpmコマンドでインストールします。(rpm -Uvh)
Fedoraのリポジトリに含まれないパッケージを使っているときは、加えて、追加リポジトリのリリースパッケージもインストールします。
例えば、freshrpms だと、
![]() | Note.
freshrpms (とDribble, Livna) は RPM Fusion に移行、統合された。
freshrpms-releaseは、Fedora 10 にアップグレードする過程で、自動的にRPM Fusionのものに切り替わる。 |
*-release パッケージは、/etc/yum.repos.d ディレクトリにyumリポジトリの情報ファイルを作ります。freshrpmsの設定はfreshrpms.repoファイルです。
repoファイル内で enabled=1 となっていると、yumコマンドで自動的に使用されます。そうでないときは、yumコマンドの--enablerepoオプションで、都度、指定します。
あとは、yum コマンドでアップグレード開始です。
# yum clean all # yum upgrade
新しいFedoraではパッケージが提供されなくなっている場合や、依存関係が変わっていて、アップグレードに失敗することがあります。
rpmコマンドでエラーになるパッケージをアンインストールして、もう一度試します。
まれに、yum upgrade の最中に rpmデータベースが壊れることがあります。
rpm データベースを復元するには、rootになって、次のようにします。
# /usr/lib/rpm/rpmdb_verify /var/lib/rpm/Packages # rpm --rebuilddb
--rebuilddb オプションは、インストールされているパッケージのヘッダからデータベースのインデックスを再作成します。
yumコマンドの途中でエラーになったりした場合は、yum-complete-transaction コマンドで継続できます。
パッケージによっては、古いほうのアンインストールスクリプトにエラーがあり、rpmパッケージが重複してしまうことがあります。
そのときは次のようにします。
# rpm -e --noscripts 古いほうのパッケージ名
アップグレード後は、package-cleanup コマンドで問題がないか調べておいたほうがいいでしょう。
package-cleanup は yum-utils パッケージに含まれます。主なオプションは、
Netsphere Laboratories http://www.nslabs.jp/
[PR]