2008年8月9日 星期六

升級成新版的 FEDORA

FEDORA 提供了一個簡單的 升級管理程式 yum
不只可以利用 yum 安裝, 管理, 升級各個程式
也可以用來升級 FEDORA 的安裝版本
像是
Fedora core 6 --> Fedora 7 啦!
Fedora 7 --> Fedora 8 啦!
Fedora 8 --> Fedora 9 (新增)
基本上的動作只有幾個
1 清掉 yum 的 cache
2 下載 新版的 資料
3 升級為新版本的程式

1 yum clean all

Fedora 8 --> Fedora 9 需要下的指令如下 (此處為舊的作法, 新的作法可用 preupgradey 進行 見後面附註2)
2 rpm -Uvh ftp://download.fedora.redhat.com/pub/fedora/linux/releases/9/Fedora/i386/os/Packages/fedora-release-9-2.noarch.rpm ftp://download.fedora.redhat.com/pub/fedora/linux/releases/9/Fedora/i386/os/Packages/fedora-release-notes-9.0.0-1.noarch.rpm
(需注意升級的目標的版本及相關位置)

Fedora 7 --> Fedora 8 需要下的指令如下
2 rpm -Uvh ftp://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/
i386/os/Packages/fedora-release-8-3.noarch.rpm
ftp://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/
i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm
(需注意升級的目標的版本及相關位置)

Fedora core 6 --> Fedora 7 執行如下
2 rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/
i386/os/Fedora/fedora-release-notes-7.0.0-1.noarch.rpm
http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/
i386/os/Fedora/fedora-release-7-3.noarch.rpm
)

3 yum upgrade
這裡要注意可能有些軟體在新舊版本中使用的套件並不相容, 可先移除後, 再在升級新版本完成後再安裝
同時要注意, 重要的檔案路徑其分割區需要的磁碟空間要夠大 (每個 版本間的 upgrade 大約要 1~1.2 G), 我在安裝過程中也曾經碰過 /usr 剩餘的空間不夠大, upgrade 不成功的情況

附註1
在Fedora 7 升級 Fedora 8完成1,2 後, 進行 3更新的時候, 出現了一個衝突的問題
avahi.i386 在list 中有兩個版本, 分別為 fc7 及 fc8
要繼續進行系統安全性升級等動作, 出現了下列錯誤訊息

Transaction Check Error:

file /etc/avahi/avahi-autoipd.action from install of avahi-autoipd-0.6.21-8.fc8.i386 conflicts with file from package
avahi-0.6.17-1.fc7.i386
file /usr/sbin/avahi-autoipd from install of avahi-autoipd-0.6.21-8.fc8.i386 conflicts with file from package
avahi-0.6.17-1.fc7.i386

若利用 yum 先移除 avahi.i386 再安裝也會出錯
發生原因是, avahi-daemon avahi-dnsconfid 在 fc7 及 fc8 中 安裝在不同的位置
升級過程 中執行移除 avahi.i386 的script 會依 fc7 的路徑刪除檔案後再依 fc8 的script 再作一次 (或是反過來), 就會出現找不到檔案或路徑的錯誤
若手動移除 avahi*.fc7.i386 及 avahi.fc8.i386 會影響很多package, 重裝費時

請執行下面的指令, 跳過rpm套件的script直接將 avahi*.fc7 移除掉

rpm -e --noscripts avahi-0.6.17-1.fc7

成功後即可繼續利用 yum 進行 update

附註2 改用 preupgrade 套件進行

1 更新 yum
yum update fedora-release
2 安裝 preupgrade 套件
yum install preupgrade
3 在 x window 中執行 preupgrade
preupgrade

沒有留言: