免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2601 | 回复: 0
打印 上一主题 下一主题

Fedora Core 升级记(FC4->FC5) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-05 23:29 |只看该作者 |倒序浏览
==================================================
Keywords: Fedora Core, Upgrade, yum
Author:       whyglinux (whyglinux AT hotmail DOT com)
Date:           2006-04-05
==================================================

目录
  1. 1. 前言
  2. 2. 准备工作
  3.    2.1. 升级 yum
  4.    2.2. 升级 FC4 kernel
  5.         2.2.1. 确认当前 kernel 的版本号
  6.         2.2.2. 升级 kernel
  7.         2.2.3. 重启系统
  8.         2.2.4. 删除旧 kernel
  9.    2.3. 重建 RPM 数据库
  10. 3. 用 yum 升级系统
  11.    3.1. 升级 fedora-release
  12.    3.2. 升级到 FC5
  13.    3.3. 检查文件安全属性
  14.    3.4. 启动 FC5
  15. 4. 事后工作
  16.    4.1. 删除 FC4 kernel
  17.    4.2. 删除 iiimf
  18. 5. 后记
复制代码

1. 前言

使用 Fedora Core 4 (FC4) 有一段时间了,觉得 FC4 用起来也越来越顺手:无论是收发 E-mail、网页浏览、文档书写等一些日常行为,还是进行程序开发,在 FC4 中都能流畅、顺利地进行。另外,感觉到 Gnome 界面的易用性在一些方面已经超过了 Windows。Fedora 项目的开发充满了活力,版本更新较快,而且每一次更新都有较大的进步,这说明了社区开发模式的成功,也使我们对 Fedora 项目充满了希望和期待。

不过,在使用 FC4 的过程中也感觉到了一些不完善的地方,比如在输入法方面(FC4提供的默认 iiimf 输入法对 emacs、dia 等软件的多语言输入支持还不完善)、在对新版 GTK+ 的支持方面(新版 GTK+ 需要的 Cairo 2D 图形库还不被包含在 FC4 中)、其它软件包方面(很多版本已经有些落后,有的存在着兼容性问题,如 wxGTK)等。我期待着在 FC5 中能够解决这些问题(至少能够部分解决)。因此,在 FC5 正式发布(2006-03-20)不久,就把我的系统从 FC4 升级到了 FC5,看看是否能改正我上面提到的一些缺陷,也想看看这次又给我们带来什么惊喜。

之所以是升级而不是重装是因为我的系统上已经装有很多的其它的应用程序,而升级一般可以避免再次安装这些程序。另外,系统升级主要是用 yum 进行的。yum 是 Redhat/Fedora 的在线升级和软件包管理工具,在 FC 下一般可用它替代原来 Redhat 的 up2date 工具。

使用 yum 进行系统升级的好处是可以避免从网上下载 FC5 的 5 个很大的光盘镜像文件并刻录 CD 的麻烦(虽然从硬盘安装可以不要刻录光盘,但还是麻烦);yum 可以自动检查需要升级的软件包、下载并安装。缺点是比起光盘安装或更新方式一般要花费更长的时间。

需要说明的是用 yum 升级系统的过程中可能会出现一些错误或警告。有些警告或错误无关紧要,不会影响升级过程;有些错误会中断升级过程,需要安装者处理完这些错误之后才能继续进行安装。因此,用 yum 升级系统需要一定的 Linux 系统的使用经验,对 Linux 新手来说推荐用这种方式--对于新手,还是从光盘安装或者升级比较方便。还有,在线升级对网络速度和空余的硬盘空间也有一定的要求。我的系统在升级过程中最大用了 2.3 GB,升级完成后比升级前多占用了 1.5 GB 的硬盘空间。

按照下面的步骤做好准备工作之后再进行升级可以最大限度地避免升级过程中出现的一些错误,使升级能够顺利地进行。

升级系统需要 root 权限,在下面出现的命令前 # 表示这些命令是以 root 身份执行的。

如果你发现了本文中的错误,或者对本文有什么感想或建议,可通过 whyglinux AT hotmail DOT com 邮箱和作者联系。

2. 准备工作

2.1. 升级 yum

上阵之前,先把自己使用的兵器擦亮:

# yum upgrade yum

2.2. 升级 FC4 kernel

是的,没错,在升级到 FC5 之前,首先要升级的是 FC4 的 kernel。这是因为低于 2.6.14 版的 kernel 的存在在升级的过程中会出现类似下面的依赖关系错误,而这些错误会中断升级过程:
  1.   Error: Package initscripts needs kernel < 2.6.12, this is not available.
  2.   Error: Package kudzu needs kernel < 2.6.13, this is not available.
复制代码

因此,如果 FC4 kernel 的版本号低于 2.6.14,应该进行 kernel 升级。升级为新的 FC4 的内核之后,再把这些影响升级的旧内核删除,以保持升级的顺利进行。

2.2.1. 确认当前 kernel 的版本号

下面的命令可以查看当前使用的内核的版本号:

# uname -r

如果 FC4 kernel 的版本号不低于 2.6.14,那么可以略过下面升级 FC4 kernel 的过程,直接进行“2.2.4. 删除旧 kernel”的工作。

2.2.2. 升级 kernel

# yum upgrade kernel

2.2.3. 重启系统

# reboot

ALERT! 重要:在内核升级完成后应该立即重新启动系统,让系统使用新的内核。只有这样做了之后,才能进行下面的删除旧内核的工作。

重启后应该再检查内核的版本号,确认其应该在 2.6.14 以上。

2.2.4. 删除旧 kernel

首先列出当前系统中安装的所有 kernel (包括当前正在使用的内核):

# rpm -q kernel kernel-smp kernel-devel kernel-smp-devel | sort

根据上面列出的内容,一一删除除当前使用的 kernel 之外的所有旧的 kernel。例如,删除名为 kernel-2.6.12-1.1381_FC3 的 kernel 可以这么做:

# yum remove kernel-2.6.12-1.1381_FC3

其它的旧内核软件包的删除依次类推。注意不要把当前正在使用的内核也删除了。

2.3. 重建 RPM 数据库

# rpm --rebuilddb

虽然这一步不是必须的,但是这样做可以防止 RPM 数据库中可能存在的一些潜在错误影响升级的进行。

至此,准备工作就做好了。下面正式进入向 FC5 的升级阶段。

3. 用 yum 升级系统

3.1. 升级 fedora-release

可直接从 Fedora Core 的镜像网点中进行升级安装。比如:

# rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/fedora-release-5-5.noarch.rpm

在我的更新过程中出现了下面的依赖关系错误导致升级 fedora-release 失败:
  1.   error: Failed dependencies:
  2.   fedora-release = 4 is needed by (installed) yum-fedorafaq-4-2006.02.03.noarch
复制代码

解决方法就是把依赖软件包(yum-fedorafaq-4-2006.02.03.noarch)删除:

# yum remove yum-fedorafaq-4-2006.02.03

然后再重新执行上面升级 fedora-release 的 rpm 命令。在你的升级过程中也可能遇不到这个问题。

注:在以后的升级过程中出现类似依赖关系错误的时候可按照上面的方式处理。

3.2. 升级到 FC5

# yum -y upgrade

如果想把上面升级过程中出现的信息记录下来(比如记录到 FC4_to_FC5_upgrade.txt 文件中)以便日后查看,同时仍然能在屏幕上显示这些信息,可以这样做:

# yum -y upgrade 2>&1 | tee FC4_to_FC5_upgrade.txt

之后,yum 会检查系统上现存的软件包,根据它们的依赖关系确定要更新或安装的软件列表,然后下载相应的软件包并更新或安装。升级过程会自动进行,除非出现依赖关系等错误中断这个过程。被中断之后,应该删除有依赖关系的软件包之后再重新进行升级。

升级过程需要的时间很长,其长短与原来安装的内容和网速都有关。在我的个人用的 P4 1.8 256MB 机器上花费了将近 7 个小时才完成。

在升级的过程中,也可能还出现很多警告或者错误(其中关于 selinux 方面的居多)。只要它们不中断升级过程就没关系,可暂时不理会它们。

升级完成后现不要着急启动系统。如果在原来的 FC4 系统中开启了 selinux 的话,首先要进行下面“检查文件安全属性”的操作(如果不清楚 selinux 是怎么回事,或者不清楚是否开启了 selinux,那也请进行下面的操作)。

3.3. 检查文件安全属性

# /sbin/fixfiles relabel

这是因为升级之后 selinux 的许可策略可能不正确,会导致 FC 的窗口管理器 metacity 不能启动,所以这一步最好要在启动系统之前做一下(启动之后也可)。

你知道如果窗口管理器失去作用的会怎样吗?我就经历过:这时你可以执行程序,但是程序窗口不能被扩大缩小、不能被移动,就象一个现代人突然回到了石器时代、无力施展之感。失去了才知道它的重要性,这一经历使我对总是在背后默默工作的窗口管理器有了更直观更深刻的认识。

3.4. 启动 FC5

终于可以启动新系统了:

# reboot

启动、登陆之后映入眼帘的就是焕然一新、蓝色基调的 GNOME 桌面,鼠标风格也有了变化,Fedora 项目也第一次有了自己的徽标。想了解徽标的含义吗?看看 [url=http://www.redhat.com/magazine/014dec05/features/fedora/
]这里[/url] 吧。

4. 事后工作

4.1. 删除 FC4 kernel

新系统正常启动之后,原来的 FC4 kernel 已经没有用了,你可以把它们删除:

# yum remove kernel*FC4

4.2. 删除 iiimf

原来的 iiimf 输入法也已经没有存在的必要了,可以把它删除:

# yum remove iiimf*

5. 后记

我在升级完成后,还遇到了 Fontset 的错误,导致新的输入法无法在 emacs 等软件中输入汉字。最后发现是中文字体上存在问题,经过卸载、重新安装后问题得到解决。

可见,在升级的过程中确实存在着不少问题。因此建议尽量从光盘安装或者升级系统,最好是重新安装系统,这样会得到一个比较“干净”的系统,在安装过程中也较少会出问题。

最后谈一谈使用 FC5 的感想,它解决了我前面提到的问题了吗?回答是肯定的:
  • FC5 中提供了 GTK+ 2.8.15,版本非常新,解决了原来装了新版本的 GTK+ 后带来的兼容性问题(Cairo 2D 图形库已经被包含在 FC5 中了)。对我来说,这个版本的 GTK+ 能够稳定地使用一段时间了。
  • SCIM (Smart Common Input Method,智能通用输入法平台) 彻底解决了 Linux 系统上的多语言输入问题,而且其使用的方便性是以前的各种输入法无法比拟的。“SCIM 是 *nix 平台下最为出色的中文输入法”,此话信然。如果说还有什么不满意的话,那就是希望能够象 Windows 下的输入法一样为汉字增加手写识别功能。
  • 原来多使用 Mozilla 浏览网页,感觉很好。之所以不用 Firefox 是因为 Firefox 上的字体太难看了。但是在 FC5 上已经不存在这个问题了。而且在 FC5 的 Release Notes 已经明确提到:The Mozilla application suite is deprecated,所以把网页浏览器又切换到了 Firefox,结果惊异地发现:Firefox 有了长足的进步,使用舒适,感觉良好。只是在稳定性上似乎还存在着一些不足之处。

以上是我比较关心的几点。对我来说,FC5 已经能很好地满足我目前的需求(感谢 Fedora 项目)。在其它方面 FC5 也做了很多变动和改进,具体可参考 Fedora Core 5 Release Notes 的说明。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP