首頁 > 軟體

CentOS 7.0 升級Linux核心3.9及以上版本

2020-06-16 17:29:50

之前一直使用CentOS 7系統進行開發,CentOS 7.0 系統自帶的Linux核心版本為 linx 3.10,最近開發需要使用到socket的reuse port特性,該特性在Linux 3.9及以上才被支援,因此需要將系統升級到Linux的3.9及以上版本。

從網上查詢了升級核心的教學,發現主要有兩種:

一、使用 elrepo 的rpm包升級

檢視當前系統核心版本 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

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-11/136643.htm


IT145.com E-mail:sddin#qq.com