2010/07/21(Wed)Fedora12 -> Fedora13 へのアップグレード

2010/07/21 16:29 Software::Linux
ついついLinuxのOSアップグレードはサボりがちで、古くなったし新しく入れ直したらいいや、と今まで考えていたのだけど、実験環境とか頻繁に入れ直すのも面倒なので、アップグレードをやってみた。

昔ながらの方法?

昔からよく知られている?方法としては、rpmで新しいFedora13のパッケージリポジトリ(fedora-release-*.rpmという様な)を導入し、yum upgradeでアップグレードするという方法らしい。
Fedora 13 がリリース・アップグレード - 憩いの場から辿ったのだが、Fedora12からFedora13へのアップグレードをyumで行うのは危険 - tototoshiの日記によると、オフィシャルにはyumで行わない方が良いらしい。*1

*1 : Xを使ってない人なら大丈夫なのかな?

オフィシャルの方法?

「インストールに用いたDVDでアップグレードできるんだっけ、そういえば」と思いつつおもむろにFedora13のインストールDVDブートしてみたが、どうもアップグレードとして認識してくれないみたいで、普通にパーティションリセットしちゃうよ?という風なメッセージが出てきた…。
怖いのでパス。

preupgrade

いつからあるのか知らないのだが、preupgradeというコマンドを使うとアップグレードの支援をしてくれるらしい。
$ sudo preupgrade
とやって起動させれば、こんな感じでアップグレード支援を対話的にやってくれる。こいつは便利だ。

そうそう、一つ注意
自分の場合は/全部に50GB振っていたので問題無かったのだけど、このpreupgradeというコマンドは/bootを作業ディレクトリとして使おうとするらしいので、/bootが中途半端に空いていると失敗して、にっちもさっちも行かなくなるらしいです。
Fedora13 Preupgrade Failure - MTOS日記のTipsによると、ddで/bootの容量を一時的に埋めてやればよいらしいです…。


さて、本題へ。
# フォントがあくあフォントなのは突っ込まないでいただきたい…^^;

▼ようこそ。
この時点でネットワークにつなげるようにしておかなければいけない
fedora13upg01.png


▼移行可能なバージョンが表示される。今回はFedora12->13なのでこれでOK
fedora13upg02.png


▼予めFedora13の初期インストールパッケージをダウンロードします
fedora13upg03.png


▼再起動要求。
再起動ボタンを押した後は放置でOKです。気がついたらFedora13が起動しています
fedora13upg04.png


▼さっきダウンロードしたパッケージを自動でインストールして自動再起動
fedora13upg05.png



で、気がついたらFedora13が起動してログイン画面で止まっているはずです。
簡単ですね。


ちなみに、さっきダウンロードしたインストーラやメタデータ、パッケージはこの辺に保存されています。なるほど、/bootにでっかいファイルがありますね…。
$ ls -l /boot/upgrade/
合計 178216
-rw-r--r-- 1 root root  29146452 2010-05-13 09:57 initrd.img
-rw-r--r-- 1 root root 149716992 2010-05-13 10:00 install.img
-rw-r--r-- 1 root root       296 2010-07-21 15:42 ks.cfg
-rw-r--r-- 1 root root   3434592 2010-05-13 09:57 vmlinuz

$ ls -l /var/cache/yum/
合計 28
drwxr-xr-x. 3 root root 4096 2010-05-18 21:23 i386/
drwxr-xr-x  3 root root 4096 2010-07-21 15:41 preupgrade/
drwxr-xr-x  3 root root 4096 2010-07-21 15:47 preupgrade-fedora/
drwxr-xr-x  3 root root 4096 2010-07-21 15:39 preupgrade-main/
drwxr-xr-x  3 root root 4096 2010-07-21 15:47 preupgrade-rpmfusion-free/
drwxr-xr-x  3 root root 4096 2010-07-21 15:47 preupgrade-rpmfusion-free-updates/
drwxr-xr-x  3 root root 4096 2010-07-21 15:47 preupgrade-updates/

$ ls -l /var/cache/yum/preupgrade-fedora/packages/ | head
合計 48468
-rw-r--r-- 1 root root   82720 2010-02-24 14:53 ConsoleKit-0.4.1-5.fc13.i686.rpm
-rw-r--r-- 1 root root   17456 2010-02-24 14:47 ConsoleKit-libs-0.4.1-5.fc13.i686.rpm
-rw-r--r-- 1 root root   20760 2010-02-24 14:51 ConsoleKit-x11-0.4.1-5.fc13.i686.rpm
-rw-r--r-- 1 root root  998176 2010-03-31 08:36 GConf2-2.28.1-1.fc13.i686.rpm
-rw-r--r-- 1 root root   23312 2010-03-31 08:44 GConf2-gtk-2.28.1-1.fc13.i686.rpm
-rw-r--r-- 1 root root  499296 2010-02-27 13:18 GeoIP-1.4.7-0.1.20090931cvs.fc12.i686.rpm
-rw-r--r-- 1 root root 1762464 2010-02-06 03:08 ImageMagick-6.5.8.10-6.fc13.i686.rpm
-rw-r--r-- 1 root root 1018440 2010-05-12 08:57 NetworkManager-0.8.1-0.1.git20100510.fc13.i686.rpm
-rw-r--r-- 1 root root  198772 2010-05-12 08:57 NetworkManager-glib-0.8.1-0.1.git20100510.fc13.i686.rpm

後始末

特に使うにあたって問題は起こっていないが、強いて言うなら/var/log/boot.logに警告が出ているので設定ファイルをちと直しておくことくらいだろうか。pcscdを必要としている人は少なそうだけど…。
udevd[386]: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:3
udevd[386]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:3
udevd[386]: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:5
この対処法は、/etc/udev/rules.d/85-pcscd_egate.rulesを開いて、BUS → SUBSYSTEM、SYSFS → ATTRに置換するだけでよい。