CentOS Linux 升级内核步骤、方法

当前系统为CentOS Linux release 6.0 (Final),内核版本为2.6.32-71.el6.i686.由于最近内核出现最新的漏洞(linux kernel 又爆内存提权漏洞,2.6.39 内核无一幸免,所以将内核升级至3.2.2最新版本。

1. 查看当前系统内核

# uname -r
2 2.6.32-71.el6.i686

2. 下载linux-3.2.2内核包

# cd ~
# wget -c http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.2.tar.bz2
# tar jxvf  linux-3.2.2.tar.bz2
# cd linux-3.2.2

3. 配置内核并安装

# make mrproper  #清除环境变量,即清除配置文件
# make menuconfig  #在菜单模式下选择需要编译的内核模块

找到以下选中选项并选中networking support → networking options → network packet filtering framework(netfilter)

(1).Core netfilter configuration

  • 勾中”Netfilter connection tracking support” -m state相关模块是依赖它的,不选则没有。
  • 将netbios name service protocal support(new) 编译成模块,不然后面升级iptables后启动时会出错
  • 勾中“Netfilter Xtables support (required for ip_tables)”

(2).IP: Netfilter Configuration

  • 将 “IPv4 connection tracking support (require for NAT)” 编译成模块。
  • 勾中IP tables support (required for filtering/masq/NAT) 。
  • 将 “Full NAT” 下的 “MASQUERADE target support” 和 “REDIRECT target support” 编译成模块

(3).其它模块可以根据自己的需要进行选择,若不懂可以参考内核配置手册.

# make clean #确保所有东西均保持最新状态.
# make bzImage #生成内核文件
# make modules #编译模块
# make modules_install #安装模块
# make install #安装

4. 编辑 /etc/grub.conf 文件,将 default=1 改为 default=0

# cat /etc/grub.conf

 

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS Linux (3.2.2)
root (hd0,0)
kernel /vmlinuz-3.2.2 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-3.2.2.img
title centos (2.6.32-71.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-71.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-71.el6.i686.img

5. 重启系统,并查看内核

# reboot
# uname -r
3.2.2

 

原文发布时间为:2012-02-07


本文来自合作伙伴“Linux中国”

时间: 2024-10-26 21:44:52

CentOS Linux 升级内核步骤、方法的相关文章

CentOS 7 升级内核到 Kernel 4.0.2 的步骤

Linus Torvalds 已经将 Linux 内核升级到 Kernel 4.0.2,新的内核补丁和更新蓝牙.USB.SCSI.ACPI 驱动程序,提高NFS和EXT4,改进 ARM64 和 PowerPC 架构. 除了更新的驱动程序,增强支持新的设备和文件系统,也带来了期待已久的 Life Patching 功能,允许用户更新内核无需重启系统.而对于普通用户来说这并不重要,这个功能对于 Linux 服务器却是很实用. 安装命令,依次输入以下命令安装: su rootrpm --import

CentOS/Linux安装 XS-Tools (XenServer)方法

1.在Xencenter里光驱换成xs-tools.iso 2.登陆SSH:  [root@ns0 ~]# cd /mnt [root@ns0 mnt]# ls [root@ns0 mnt]# mkdir xs-tools [root@ns0 mnt]# mount /dev/xvdd /mnt/xs-tools/ mount: block device /dev/xvdd is write-protected, mounting read-only [root@ns0 mnt]# cd /mn

详解对Linux内核进行升级的步骤

  Linux的内核是系统的核心,所以升级内核是Linux系统管理员的一项基本技能,所以我就分享了系统运维实务上的一篇文章,当然我对源文件稍做了一些内容的增加,就是把遇到的问题及解决方案也加上了,希望对各位Linux系统管理员有所帮助! 1.下载内核 代码如下: cd /usr/src wget linux/kernel/v2.6/linux-2.6.38.tar.gz">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.ta

云服务器 ECS 配置:Linux升级时不升级内核的配置说明

Linux升级时不升级内核的配置说明 RedHat/CentOS使用 yum update 更新时,默认会升级内核.但有些服务器硬件在升级内核后,新的内核可能会认不出某些硬件,要重新安装驱动,很麻烦.所以在生产环境中不要轻易的升级内核,除非您确定升级内核后不会出现麻烦的问题. 如果使用yum update更新时不升级内核,有两种方法: 方法一 直接在yum的命令后面加参数,这个命令只生效一次: # yum update --exclude=kernel* 方法二 修改yum命令的配置文件,永久生

Linux升级时不升级内核的配置说明

RedHat/CentOS使用 yum update 更新时,默认会升级内核.但有些服务器硬件在升级内核后,新的内核可能会认不出某些硬件,要重新安装驱动,很麻烦.所以在生产环境中不要轻易的升级内核,除非您确定升级内核后不会出现麻烦的问题. 如果使用yum update更新时不升级内核,有两种方法: 方法一 直接在yum的命令后面加参数,这个命令只生效一次: # yum update --exclude=kernel* 方法二 修改yum命令的配置文件,永久生效. 这里以 CentOS 6.6 为

Linux编译内核时提示“ Too many open files”的解决方法

Linux编译内核时提示" Too many open files"的解决方法如下: 这是因为file-max默认值(8096)太小.要解决这个问题,可以root身份执行下列命令(或将它们加入/etc/rcS.d/*下的init脚本): # echo "65536" > /proc/sys/ 最后进入解压后的目录,运行安装命令. # cd vmware-linux-tools# ./install.pl

linux下卸载apache方法小结

  方法一 代码如下: root@server ~]# rpm -qa|grep httpd httpd-2.2.3-11.el5_2.centos.4 httpd-manual-2.2.3-11.el5_2.centos.4 说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,我上面的例子是Linux默认安装apache的rpm软件包列表,如果是别的Linux版本列出来的列表有可能会不一样,不过不用担心,不管是什么,卸载都从最下面的一个包开始,直到卸载掉第一

如何在 CentOS Linux 中配置 MariaDB 复制

如何在 CentOS Linux 中配置 MariaDB 复制 这是一个创建数据库重复版本的过程.复制过程不仅仅是复制一个数据库,同时也包括从主节点到一个从节点的更改同步.但这并不意味着从数据库就是和主数据库完全相同的副本,因为复制可以配置为只复制表结构.行或者列,这叫做局部复制.复制保证了特定的配置对象在不同的数据库之间保持一致. Mariadb 复制概念 备份 :复制可以用来进行数据库备份.例如,当你做了主->从复制.如果主节点数据丢失(比如硬盘损坏),你可以从从节点中恢复你的数据库. 扩展

CentOS Linux系统搭建Android开发环境详细介绍_Linux

CentOS Linux系统搭建Android开发环境详细介绍        很多人都是在Windows下进行Android开发,但是对于Linux,Android开发环境方面的资料比较少,今天在网上找到了一位网友分享的在CentOS Linux系统中搭建Android开发环境的过程.下面就是其介绍的配置的详细步骤原文:        由于我最近每天使用的是CentOS 5.5,所以选择CentOS5.5作为我的开发环境.        主要包括以下步骤: 1.JDK安装 2.Eclipse安装