概述:本文讨论在RedHat中使用RedHat提供的内核rpm包手工进行内核升级的方法。将以在RedHat7.1中从2.4.2升级到2.4.3为例进行说明。

一、准备工作

1.确定是否要进行内核升级

通常需要进行内核升级是为了:

a.支持新安装的硬件设备:比如您刚买了一块新的声卡,但是当前的内核没有提供其驱动,而新版本内核可以驱动该声卡。

b.当前的系统内核被发现有安全漏洞,需要升级到新的版本进行修复。

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

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,所以就只下载了这个包。

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不完整,请重新下载一次,最好使用支持断点续传的下载工具进行下载。

5.制作应急启动盘

使用以下命令制作一张系统启动盘,以便在系统升级失败后可以启动及恢复老系统:

# mkbootdisk --device /dev/fd0 2.4.2-2

Insert a disk in /dev/fd0. Any information on the disk will be lost.

Press to continue or ^C to abort:

2.4.2-2是当前的系统内核版本,可以使用以下命令进行确定:

# uname -r

2.4.2-2

二、升级内核

1.升级非内核rpm包:

#rpm –Uvh SysVinit-2.78-17.i386.rpm

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%]

3.升级内核rpm包:

# rpm -Uvh kernel-2.4.3-12.i386.rpm

Preparing... ########################################### [100%]

1:kernel ########################################### [100%]

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

5.更新lilo信息

更新您的lilo.conf文件如下所示:

image=/boot/vmlinuz-

label=linux

root=

initrd=/boot/initrd-

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使其生效。然后就可以重新启动了。

linux如何rpm更新内核,使用RPM包对RedHat进行内核升级相关推荐

  1. Linux学习-22-源码包安装、卸载和升级

    7.11 Linux源码包安装和卸载 由于 Linux 操作系统开放源代码,因此在其上安装的软件大部分也都是开源软件,例如 Apache.Tomcat 和PHP等.开源软件基本都提供源码下载,可采用源 ...

  2. C 语言网络编程 — 内核协议栈收包/发包流程

    目录 文章目录 目录 关键技术 DMA sk_buff 结构体 Net driver Rx/Tx Ring Buffer Buffer Descriptor Table NAPI 收包机制 网卡多队列 ...

  3. 基于suse linux系统的cacti系统部署——rpm包方式

    豆丁 http://www.docin.com/p-191889788.html rpm包方式:啊扬--沙迳:2010-12-1:更改:2011/5/16:一.Cacti的简介(来源:网络):Cact ...

  4. Linux RPM、YUM、APT包管理工具

    ⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...

  5. Redhat linux 安装 gcc编译器,Gcc源码包,rpm包安装方法!

    点评:分两种情况: 先看这篇转过来的文章,俺老孙懒得写了. Linux软件安装通用思路 在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种: 1)一种是软件的源代码,您需要自己动手编译它 ...

  6. Linux包管理工具apt,Linux RPM、YUM、APT包管理工具

    ⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...

  7. Linux安装和管理程序(包括rpm包安装、卸载、升级以及源码包的手工编译安装)

    点击蓝色目录查找相应内容 Linux应用程序简介 应用程序与系统命令的关系 典型应用程序的目录结构 常见的软件包封装类型 RPM包管理工具 查询RPM软件包信息 查询已安装的RPM软件信息 查询未安装 ...

  8. redhat升级linux内核,用rpm方式升级RHEL6.1内核

    背景:因服务器宕机涉及红帽内核的bug,需升级Linux内核至2.6.32-279或更高版本. 操作步骤: 1.下载对应版本的内核升级包: 包括kernel和kernel-fireware https ...

  9. 内核源码包打包成rpm方式

    内核源码包打包成rpm方式 文章目录 内核源码包打包成rpm方式 第一部分,rpm包简单定制 一.rpm 制作前的环境准备 二.准备内核的源代码组件 1.下载地址 https://www.kernel ...

最新文章

  1. python邮件发送哪个好_最全总结!聊聊 Python 发送邮件的几种方式
  2. UNL(Ubiquitous Navigation Lab)
  3. 只因路由器密码太弱,IP被黑客利用发虐童图片,无辜夫妇:我们甚至想自杀...
  4. php如何实现区分编辑,php实现编辑和保存文件的方法
  5. java 日期 减法_JAVA日期加减运算
  6. 《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一3.3.3 供应实验室...
  7. android 修改包名
  8. 2017 JMP Discovery Summit China圆满落幕
  9. uniapp h5 页面 解决 ios 长按无法保存图片问题(安卓支持此功能)--实现移动端长按保存图片
  10. beta冲刺(1/7)
  11. mysql技术简介_MySQL数据类型介绍
  12. [Struts]使用tiles管理界面遇到困难
  13. 【OpenFOAM】——OpenFOAM入门算例学习
  14. ensp 防火墙 pat 映射
  15. 2020牛客NOIP赛前集训营-普及组第三场C牛半仙的妹子树
  16. tf.nn,tf.layers, tf.contrib模块介绍
  17. 如何从61850中获益
  18. ArchSummit讲师专访:微酷首席架构师赵志猛
  19. 2021-2027全球与中国李子提取物市场现状及未来发展趋势
  20. 计算机软考有哪些科目??

热门文章

  1. Floppy Zip Disk Rescue注册码分析
  2. Bailian2796 Bailian3681 数字求和【序列处理】
  3. CCF201903-5 317号子任务(100分题解链接)
  4. UVA154 Recycling【水题】
  5. HDU5701 中位数计数【中位数+水题】
  6. 【数论】—— 多边形数的计算(三角形数,五边形数)
  7. CPU 架构 —— ARM 架构
  8. hard-negative mining 及伪代码实现
  9. Python 第三方库的安装
  10. shell 操作(四)