環境:linux
系統硬件:vmware vsphere (CPU:2*4核,內存2G)c++
系統版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-minimal.iso )vim
升級內核版本:longterm:3.12.17centos
升級步驟:工具
1.虛擬系統安裝內存
要求mininal方式安裝(205個包),具體步驟省略。rem
2.查看原有系統內核版本,升級更新包get
2.1更新包源碼
[root@centos ~]# yum updateqt
[root@centos ~]# yum upgrade
2.2查看系統內核版本
[root@centos ~]# uname -a
Linux centos 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@centos ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
3.下載、安裝需編譯環境所須要的工具包
[root@centos ~]# yum install vim wget
[root@centos ~]# yum install gcc gcc-c++ xz
[root@centos ~]# yum install bc
[root@centos ~]# yum install ncurses-devel
[root@centos ~]# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
[root@centos ~]# yum install qt-devel #若是有X環境時安裝(目前不安裝)
4.下載內核包
4.1進行目錄
[root@centos ~]# cd /usr/local/src/
4.2下載內核包,目前是3.12.17版本。
[root@centos ~]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.17.tar.xz
5.編譯內核
5.1解包,進行內核源碼目錄
[root@centos ~]# tar -vxf linux-3.12.17.tar.xz
[root@centos ~]# cd linux-3.12.17
***/usr/local/src/linux-3.12.17此目錄當編譯目錄,編譯過程,操做都必須在此目錄
5.2以菜單的方式,選擇編譯內核須要的模塊
[root@centos ~]# make menuconfig
打開菜單後,以默認方式保存<Save>,並退出<Exit>
保存後,當前目錄會自動生成.config文件
5.3查看當前版本,而且以原編譯配置來進行編譯
[root@centos ~]# uname -r
2.6.32-431.el6.x86_64
5.4 複製原配置文件到編譯目錄(視須要,把舊的配合文件作爲新的配合模板)
[root@centos ~]# cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
提示是否覆蓋,輸入Y
[root@centos ~]# sudo sh -c 'yes "" | make oldconfig'
以原配置文件產生新的配置文件,默認回答爲YES方式
5.5 編譯內核 (需時約30-40分鐘)
[root@centos ~]# make
5.6安裝內核
[root@centos ~]# make modules_install install
完成時,會提示 could not find module vmware_balloon,這個和虛擬機有關(不理它)
6. 更改系統啓動時,使用的內核
[root@centos ~]# vim /boot/grub/menu.lst
修改default=0,開機後,默認以第一項啓動(3.12.17內核)
保存退出
7.重啓系統
[root@centos ~]# shutdown -r now
8.確認當前內核版本
[root@centos ~]# uname -r
Linux centos 3.12.17 #1 SMP Fri Apr 11 03:32:42 CST 2014 x86_64 x86_64 x86_64 GNU/Linux
顯示內核爲3.12.17,表示升級內核成功
9.若是編譯失敗,能夠先清除,再從新編譯
[root@centos ~]# cd /usr/local/src/linux-3.12.17
[root@centos ~]# make mrproper #完成或者安裝過程出錯,能夠清理上次編譯的現場
[root@centos ~]# make clean
10.若是升級成功後,能夠刪除源碼目錄
[root@centos ~]# rm -rf /usr/local/src/linux-3.12.17
11.刪除原來的內核
11.1查看當前有什麼內核版本
[root@centos ~]# rpm -q kernel
顯示如下版本
kernel-2.6.32-431.el6.x86_64
kernel-2.6.32-431.11.2.el6.x86_64
11.2刪除原內核
[root@centos ~]# yum remove kernel-2.6.32-431.el6.x86_64 #移除此版本的內核,同時啓動菜單也再也不會出現此內核
[root@centos ~]# yum remove kernel-2.6.32-431.11.2.el6.x86_64
刪除後,查看啓動菜單會發現已經少了此內核
[root@centos ~]# cat /boot/grub/menu.lst