CentOS Linux 升级内核步骤和方法

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

1、查看当前系统内核

1
uname -r2 2.6.32-71.el6.i686

2、下载linux-3.2.2内核包

1
2
3
4
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、配置内核并安装

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

找到以下选中选项并选中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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、修改grub

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

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

1
2
reboot
uname -r3.2.32