当前位置:Linux教程 - Linux资讯 - 使用RPM包对RedHat进行内核升级

使用RPM包对RedHat进行内核升级

  1.准备工作  1.1.确定是否要进行内核升级    通常需要进行内核升级是为了:    a.支持新安装的硬件设备:比如您刚买了一块新的声卡,但是当前的内核没有提供其驱动,而新版本内核可以驱动该声卡。    b.当前的系统内核被发现有安全漏洞,需要升级到新的版本进行修复。    1.2.确定所需下载的rpm包    首先通过以下命令确定系统当前所安装的内核包:    # rpm -qa grep kernel  kernel-source-2.4.2-2  kernel-headers-2.4.2-2  kernel-2.4.2-2    我们需要下载这三个包的新版本,以及以下三个非内核包的新版本:    [root@test update]# rpm -qa grep init  initscripts-5.83-1  mkinitrd-3.0.10-1  SysVinit-2.78-17    1.3.获取新版本内核rpm包    从FTP://updates.redhat.com/7.1/en/os/i386/获取以上六个个包的新版本的rpm包,也就是:    kernel-source-2.4.3-12.i386.rpm  kernel-headers-2.4.3-12.i386.rpm  kernel-2.4.3-12.i386.rpm  SysVinit-2.78-17.i386.rpm    因为当前RedHat只发布了SysVinit-2.78-17.i386.rpm,所以就只下载了这个包。    1.4.检验新版本内核rpm包    为了保证下载过程不出错,使用以下命令对下载的包进行校验:    # rpm -K --nogpg *rpm  kernel-2.4.3-12.i386.rpm: md5 OK  kernel-headers-2.4.3-12.i386.rpm: md5 OK  kernel-source-2.4.3-12.i386.rpm: md5 OK  SysVinit-2.78-17.i386.rpm: md5 OK    如果校验结果为OK,说明传输过程没问题,所下载的rpm包是完整的。就可以接着做下一步,如果rpm不完整,请重新下载一次,最好使用支持断点续传的下载工具进行下载。    1.5.制作应急启动盘    使用以下命令制作一张系统启动盘,以便在系统升级失败后可以启动及恢复老系统:    # mkbootdisk --device /dev/fd0 2.4.2-2  Insert a disk in /dev/fd0. Any information on the disk will be lost.  Press <Enter> to continue or ^C to abort:    2.4.2-2是当前的系统内核版本,可以使用以下命令进行确定:    # uname -r  2.4.2-2    2.升级内核  2.1.升级非内核rpm包:    #rpm –Uvh SysVinit-2.78-17.i386.rpm    2.2.升级内核源码rpm包:    # rpm -Uvh kernel-source-2.4.3-12.i386.rpm kernel-headers-2.4.3-12.i386.rpm  Preparing... ########################################### [100%]  1:kernel-source ###########################################  [ 50%]  2:kernel-headers ###########################################  [100%]    2.3.升级内核rpm包:    # rpm -Uvh kernel-2.4.3-12.i386.rpm  Preparing... ########################################### [100%]  1:kernel ########################################### [100%]    2.4.重新配置初始化RAM盘    如果系统中有SCSI设备,并且正在使用SCSI设备驱动模块,则必须重新配置初始化RAM盘,如果没有SCSI设备,可以直接跳到第5个步骤。    判断系统中是否有SCSI设备驱动模块的方法:    # more /etc/modules.conf grep scsi  alias scsi_hostadapter megaraid  alias scsi_hostadapter1 sym53c8xx  alias scsi_hostadapter2 sym53c8xx    也即,如果这个命令有输出时,表明您的系统正在使用SCSI设备驱动模块,这时我们就必须重新配置初始化RAM盘。    所谓的RAM盘通常是用来驻留模块的,这些模块必须在内核访问相关设备(通常是SISC设备)前载入RAM盘中。    首先,查看/boot下的文件,以获取刚才安装的内核版本:    # ls -l /boot/  total 3408  …  -rwxr-xr-x 1 root root 2174722 Jun 9 01:57 vmLinux-2.4.3-12  lrwxrwxrwx 1 root root 16 Jul 26 22:56 vmlinuz -> vmlinuz-2.4.3-12  …    可见,我们新的内核版本是2.4.3-12,我们使用以下命令来创建新的RAM盘:    #mkinitrd initrd-2.4.3.img 2.4.3-12  2.5.更新lilo信息    更新您的lilo.conf文件如下所示:    image=/boot/vmlinuz-<新安装的内核版本号>  label=linux  root=<您的/分区>  initrd=/boot/initrd-<RAM盘的版本号>  read-only    我的机器上的lilo.conf更新文件如下:    # more /etc/lilo.conf  boot=/dev/hda  map=/boot/map  install=/boot/boot.b  prompt  timeout=50  message=/boot/message  linear  default=linux    image=/boot/vmlinuz-2.4.3-12  label=linux  read-only  root=/dev/hda1    更新完成后,别忘了执行lilo使其生效。然后就可以重新启动了。
[1] [2] 下一页 

(出处:http://www.sheup.com)


上一页 [1] [2]