centos核心升級的兩種方法
對於一些特殊的軟體,如docker 需要linux核心3.1 之上才能很好支援,這時就需要升級核心了,而centos7預設的核心好像是 3.10.x,有些低。
方法一:
檢視當前系統核心版本 uname -r
1. 匯入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. 安裝 elrepo 的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3. 安裝核心
在yum的elrepo源中,有最新版本核心。直接yum安裝即可。
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 設定系統啟動順序
檢視系統啟動項:
cat /boot/grub2/grub.cfg |grep menuentry
可以發現有最新版本的核心,此時可以設定最新版本核心為預設啟動:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此時,檢視預設啟動的系統版本grub2-editenv list:
顯示為'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot,重啟之後再次檢視 uname -r
方法二:1 下載核心原始碼
下載網址為 https://www.kernel.org/
wget xxx
2 解壓並進入原始碼目錄
3 更新系統並安裝依賴軟體
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 將當前核心配置檔案拷貝到當前目錄
本來是應該執行make menuconfig來自定義核心配置的,生成配置檔案.config; 但是可以直接使用原來系統的核心配置,也就是拷貝/boot目錄下的配置檔案到當前目錄。
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用當前核心的配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 編譯安裝
#make bzImage
#make modules
#make modules_install
#make install
7 設定系統啟動順序
檢視系統啟動項:
cat /boot/grub2/grub.cfg |grep menuentry
可以發現有最新版本的核心,此時可以設定最新版本核心為預設啟動:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此時,檢視預設啟動的系統版本grub2-editenv list:
顯示為'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot,重啟之後再次檢視 uname -r
注:筆者只試過第一種,第二種看官有興趣可以試試,理論上可以success。