Fedora 13 → Fedora 14 へ preupgrade-cli でアップグレード (前より簡単になってた)

皆さん、Fedora 14 が出ましたね。
ということで、自分の作業環境もアップグレードしてみることにしました。

Fedora 10 -> Fedora 12 にあげた手順についても前に書いたことがあったので、今回もそれに沿ってやってみます。

preupgradeは導入済み前提、早速試してみます。

preupgrade-cli 実行

sudo LANG=C preupgrade-cli "Fedora 14 (Laughlin)"
Loaded plugins: blacklist, whiteout
No plugin match for: rpm-warm-cache
No plugin match for: remove-with-leaves
No plugin match for: auto-update-debuginfo
No plugin match for: refresh-packagekit
No plugin match for: presto
preupgrade-main (mirrorlist)
  url: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-14&arch=$basearch
  now: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-14&arch=i386
preupgrade (mirrorlist)
  url: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/14/Fedora/$basearch/os
  now: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/14/Fedora/i386/os
preupgrade-fedora (mirrorlist)
  url: https://mirrors.fedoraproject.org/metalink?repo=fedora-14&arch=i386
  now: https://mirrors.fedoraproject.org/metalink?repo=fedora-14&arch=i386
preupgrade-updates (mirrorlist)
  url: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f14&arch=i386
  now: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f14&arch=i386
Fetched treeinfo from http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/14/Fedora/i386/os//.treeinfo
treeinfo timestamp: Fri Oct 22 03:14:10 2010
MEMORY                                                                                                                                                                                     | 1.2 kB     00:00
/boot/upgrade/vmlinuz checksum OK
/boot/upgrade/initrd.img checksum OK
Error: Not enough space in /boot/upgrade to download install.img.

The main installer image could not be saved to your hard drive. The installer can download this file once it starts, but this requires a wired network connection during installation.

If you do not have a wired network connection available, you should quit now.

実際はコンソールどんどん流れていきます。
以前はパーティションを分けてて且つ /boot がアップグレードに必要な容量を満たしてない場合(多分100〜200MBくらい?)メッセージも出ず、リブート時にエラーになって終わってたのですが、今回はその旨メッセージが表示されるようになっているようです。
/boot に容量が無い場合、”preupgradeは再起動時にダウンロードしなおすけど、ネットワークつないで無い時は無理なんでquitしておけ" と言っています。

処理はそのまま進みます。

--> Running transaction check
---> Package MAKEDEV.i686 0:3.24-6.fc14 set to be updated
---> Package ORBit2.i686 0:2.14.19-1.fc14 set to be updated
---> Package OpenEXR-libs.i686 0:1.7.0-1.fc14 set to be updated
---> Package acl.i686 0:2.2.49-8.fc14 set to be updated
---> Package alex.i686 0:2.3.3-1.fc14 set to be updated
---> Package atk.i686 0:1.30.0-5.fc14 set to be updated
---> Package attr.i686 0:2.4.44-5.fc14 set to be updated
---> Package audit-libs.i686 0:2.0.4-4.fc14 set to be updated
---> Package audit-libs-python.i686 0:2.0.4-4.fc14 set to be updated
---> Package authconfig.i686 0:6.1.11-1.fc14 set to be updated
--> Processing Dependency: libavahi-client.so.3 for package: 1:cups-libs-1.4.4-10.fc14.i686
--> Processing Dependency: libavahi-common.so.3 for package: 1:cups-libs-1.4.4-10.fc14.i686
--> Processing Dependency: libavahi-common.so.3 for package: avahi-0.6.27-2.fc14.i686
---> Package avahi.i686 0:0.6.27-2.fc14 set to be updated
--> Processing Dependency: systemd-units for package: avahi-0.6.27-2.fc14.i686
---> Package bash.i686 0:4.1.7-3.fc14 set to be updated
---> Package bind-libs.i686 32:9.7.2-2.P2.fc14 set to be updated


... (snip)

---> Package cronie.i686 0:1.4.5-2.fc14 set to be installed
--> Processing Dependency: dailyjobs for package: cronie-1.4.5-2.fc14.i686
--> Running transaction check
---> Package cronie-anacron.i686 0:1.4.5-2.fc14 set to be installed
--> Finished Dependency Resolution
Packages we need to download
MAKEDEV.i686                             3.24-6.fc14            preupgrade-fedora
ORBit2.i686                              2.14.19-1.fc14         preupgrade-fedora
OpenEXR-libs.i686                        1.7.0-1.fc14           preupgrade-fedora
acl.i686                                 2.2.49-8.fc14          preupgrade-fedora
alex.i686                                2.3.3-1.fc14           preupgrade-fedora
atk.i686                                 1.30.0-5.fc14          preupgrade-fedora
attr.i686                                2.4.44-5.fc14          preupgrade-fedora
audit-libs.i686                          2.0.4-4.fc14           preupgrade-fedora
audit-libs-python.i686                   2.0.4-4.fc14           preupgrade-fedora
authconfig.i686                          6.1.11-1.fc14          preupgrade-updates
avahi.i686                               0.6.27-2.fc14          preupgrade-fedora
avahi-libs.i686                          0.6.27-2.fc14          preupgrade-fedora
bash.i686                                4.1.7-3.fc14           preupgrade-fedora

... (snip)


upstart.i686                             0.6.5-10.fc14          preupgrade-updates
upstart-sysvinit.i686                    0.6.5-10.fc14          preupgrade-updates
usermode.i686                            1.106.1-1.fc14         preupgrade-fedora
util-linux-ng.i686                       2.18-4.4.fc14          preupgrade-updates
vim-common.i686                          2:7.2.446-2.fc14       preupgrade-fedora
vim-enhanced.i686                        2:7.2.446-2.fc14       preupgrade-fedora
vim-minimal.i686                         2:7.2.446-2.fc14       preupgrade-fedora
xml-common.noarch                        0.6.3-33.fc14          preupgrade-fedora
xz.i686                                  4.999.9-0.2.beta.20100401git.fc14
                                                                preupgrade-fedora
xz-libs.i686                             4.999.9-0.2.beta.20100401git.fc14
                                                                preupgrade-fedora
xz-lzma-compat.i686                      4.999.9-0.2.beta.20100401git.fc14
                                                                preupgrade-fedora
yum.noarch                               3.2.28-5.fc14          preupgrade-fedora
yum-metadata-parser.i686                 1.1.4-2.fc14           preupgrade-fedora
zip.i686                                 3.0-2.fc14             preupgrade-fedora
zlib.i686                                1.2.5-2.fc14           preupgrade-fedora
zsh.i686                                 4.3.10-5.fc14          preupgrade-fedora
Total download size: 0.0bytes
Download packages?
Is this ok [y/N]: y
Generating metadata for preupgrade repo
325/325 - binutils-2.20.51.0.7-5.fc14.i686.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Preparing system to boot into installer
DEBUG /sbin/grubby --title="Upgrade to Fedora 14 (Laughlin)" --remove-kernel="/boot/upgrade/vmlinuz" --add-kernel="/boot/upgrade/vmlinuz" --initrd="/boot/upgrade/initrd.img" --args="preupgrade repo=hd::/var/cac
he/yum/preupgrade  ks=hd:UUID=e1de3e8f-91f6-456a-8b14-fae7ee076c0c:/upgrade/ks.cfg stage2=http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/14/Fedora/i386/os/images/install.img";
Probing devices to guess BIOS drives. This may take a long time.
All finished. The upgrade will begin when you reboot.

ダウンロードサイズが 0.0bytes なのに注目。再起動したら残りが始まりますよと書いてあります。

再起動

普通だったら言われるまま再起動でOK。VMとか10年前のハードで動かしてる場合は若干注意で、メモリが512MB以上じゃないと再起動後のタイミングで失敗します (256MBでNGでした) 。クリーンインストール時もメモリは512MB以上は必要そうです。これって最近のCentOSでも一緒ですね。

再起動後はNICのIPだけ固定を振るかかDHCPか聞かれますが、そのあとは自動的に残りのアップグレード処理を続けてくれます。

まとめ

以前は /boot/ 以下にダミーのファイルが必要でしたが、Fedora 14 はそこもちゃんと見てくれるように賢くなってくれていました。

RHELにpreupgradeって採用されないのかなーーー。超便利になってきてる。
CentOSでも使えたら、Debianの次くらいにアップグレード楽チンになりそうなもんですけどね。
Debianはメジャーバージョンアップグレード ( apt-get dist-upgrade ) 時もリブートも必要無いって、改めてよくできてるなあ。