Linux 内核 2.2.0 于 1999 年 1 月 25 日发布,带来了许多新功能、性能增强和硬件支持。任何现有的 Linux 系统都可以使用这些新内核进行升级,方式与 第 10.4 节 中描述的方式大致相同(但有一些注意事项)。
本节将介绍如何将您的 Red Hat 系统升级到新内核。由于 Red Hat 6.0(及更高版本)默认已附带新内核和支持软件包,因此本节仅对仍在使用早期版本(如 5.2)的用户有用。一旦我相信大多数用户已迁移到 6.0 及更高版本,我可能会从未来版本的文档中删除本节。
警告 |
警告!如果您决定升级旧系统以支持新内核,请注意,由于该过程涉及许多软件包升级,因此可能会出现严重错误。与往常一样,请准备好最新的备份,以防万一出现问题。如果您不熟悉使用 RPM 升级文件以及编译内核,那么您可能希望升级到 Red Hat 6.1。 |
您可以选择升级到 Red Hat 提供的 stock kernel,或者通过编译自定义内核进行升级。我建议首先使用 stock kernel 启动,然后在以后像往常一样构建自定义内核(有关详细信息,请参阅第 10.5 节)。
为了使用最新的内核,首先必须升级到最新的实用程序和库。Red Hat 已经确定了哪些软件包需要升级以支持最新内核,并将相应的 RPM 文件放在其 FTP 站点上,地址为 ftp://ftp.redhat.com/redhat/updates/5.2/kernel-2.2/i386/(适用于 i386 平台上的 Red Hat 5.2 用户)。
一个非常好的网页,详细介绍了迁移到 2.2.x 所需的适当系统工具,网址为 http://www-stu.calvin.edu/~clug/users/jnieho38/goto22.html;我将尝试在下面总结信息(标有 ``**'' 开头的项目表示您很可能需要为 Red Hat 5.2 升级该项目;未标示的项目可能没问题,但也值得检查)。
** initscripts-3.78-2.4 或更高版本(输入 ``rpm -q initscripts'' 来检查您的版本)
** modutils-2.1.121 或更高版本(输入 ``rpm -q modutils'' 来检查您的版本)
** mount-2.9-0 或更高版本(输入 ``rpm -q mount'' 来检查您的版本)
gcc-2.7.2.3 或更高版本 (``rpm -q gcc'')
binutils-2.8.1.0.23 或更高版本 (``rpm -q binutils'')
libc-5.4.46 或更高版本(Red Hat 使用更新的 ``glibc''。不需要。)
glibc-2.0.7-6 或更高版本 (``rpm -q glibc'')
ld.so 1.9.9 或更高版本 (``ls -l /lib/ld.so.*'')
libg++-2.7.2.8 或更高版本 (``rpm -q libg++'')
procps-1.2.9 或更高版本 (``rpm -q procps'')
** procinfo-15 或更高版本 (``rpm -q procinfo'')
psmisc-17 或更高版本 (``rpm -q psmisc'')
** net-tools-1.50 或更高版本 (``rpm -q net-tools'')
loadlin-1.6 或更高版本(仅当您使用 Loadlin 从 DOS 启动 Linux 时才需要。不确定如何计算版本号;下载最新版本以确保。)
sh-utils-1.16 或更高版本 (``rpm -q sh-utils'')
autofs-3.1.1 或更高版本 (``rpm -q autofs'')
nfs-server2.2beta37 或更高版本 (``rpm -q nfs-server''; 仅当您提供 NFS 文件共享时才需要。)
bash-1.14.7 或更高版本 (``rpm -q bash'')
ncpfs-2.2.0 或更高版本 (``rpm -q ncpfs''; 仅当您挂载 Novell 文件系统时才需要。)
kernel-pcmcia-cs-3.0.6 或更高版本 (``rpm -q kernel-pcmcia-cs''; 仅当笔记本电脑需要 PCMCIA 卡支持时才需要。)
ppp-2.3.5 或更高版本 (``rpm -q ppp''; 仅当您使用调制解调器和 PPP 连接到互联网时才需要。)
dhcpcd-1.3.16-0 或更高版本 (``rpm -q dhcpcd''; 仅当您需要 DHCP 客户端连接到互联网时才需要,例如使用有线调制解调器)。
** util-linux-2.9.0 (``rpm -q util-linux'')
setserial-2.1 或更高版本 (``rpm -q setserial'')
ipfwadmin/ipchains(仅当您进行 IP 防火墙设置时才需要;请参阅 ``IPCHAINS-HOWTO'' 指南,网址为 http://isunix.it.iltu.edu/resources/ldp/HOWTO/IPCHAINS-HOWTO.html。)
您应该根据需要下载并使用 RPM 升级任何软件包(有关如何使用 RPM 的详细信息,请参阅第 10.1 节)。
注意 |
注意:升级到新的 ``modutils'' 软件包将导致模块不再为旧的 2.0.x 内核工作!因此,在您将新内核安装到 ``/usr/src/linux''. |
之后,请勿升级此软件包。
rpm -Uvh kernel-source*.rpm kernel-headers*.rpm |
现在新的内核源代码已经安装完成,升级您的 modutils 软件包应该是安全的。但是,新内核不再使用 ``kerneld'' 模块来按需加载内核模块。因此,您应该在更新 modutils 之前禁用此模块。要禁用 kerneld 并升级 modutils 软件包,请以 "root" 身份键入以下命令
/sbin/chkconfig kerneld off /etc/rc.d/init.d/kerneld stop rpm -Uvh modutils*.rpm |
现在您应该能够像往常一样配置、编译和安装您的 2.2 内核(有关详细信息,请参阅第 10.6 节)。您可能会惊讶地发现有大量新的配置设置可用。请花时间阅读您不熟悉的任何选项的帮助文本!
如果一切顺利,下次启动系统时,您将运行最新和最强大的 Linux 内核版本!
有关这些程序的更详细信息,请访问 Red Hat 网站 https://#/corp/support/docs/kernel-2.2/kernel2.2-upgrade.html。