1. 程式人生 > >linux CentOS6.5升級核心版本

linux CentOS6.5升級核心版本

方法一:機器已經聯網,直接利用包管理工具更新,需要注意的是現在3.0以上的核心引入了簽名機制,需要匯入簽名的key,參考步驟如下:

1.匯入key

        rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

        如果失敗

       更新網路安全服務  yum update nss

2.安裝elrepo的yum源

        rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3.安裝核心    

         在yum的ELRepo源中,有mainline頒佈的,可以這樣安裝:
         yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y

         當然也可以安裝long term的:

         yum --enablerepo=elrepo-kernel  install  kernel-lt -y

方法二:

實際工作當中經常碰到需要修改核心配置,編譯驅動,調節相關引數等,這就需要定製核心,為此需要手動生成新的核心。還是以3.10.0-123.el7為例子,一般步驟如下:

1.先下載核心:

wget http://vault.centos.org//7.0.1406/os/Source/SPackages/kernel-3.10.0-123.el7.src.rpm

接著解壓相關程式碼:

rpm2cpio kernel-3.10.0-123.el7.src.rpm |cpio -div

預設在/usr/src放有一份kernel的標頭檔案,這樣在不需要下載整個核心原始碼的情況下就可以編譯自己編寫的核心模組,如果有patch需要打的話,用patch -p1 *.patch命令給核心打上相應的patch。

2.更新配置檔案.config

可以獲取系統當前的config檔案,也可以用預設的配置檔案,比如x86_64_defconfig:

cp /boot/config-3.10.0-123.el7.x86_64  .config  和make oldconfig生產的config一致

然後用make menuconfig來配置。

3.編譯和安裝

預設的情況下, 核心和initrd會安裝到/boot下面,而驅動模組會安裝到/lib/modules/`uname -r`下,如果可以都安裝都預設的位置,直接執行下面的命令即可:

make -j8;make modules; make modules_install;make install;

如果需要安裝到指定的路徑,請設定下面的環境變數:

export INSTALL_PATH=….

export INSTALL_MOD_PATH=

4.建立initrd.img

initrd.img即為初始化的ramdisk檔案,它是一個記憶體映象檔案。它是把一些最基本的驅動程式和命令工具打包而成,作用就是在系統還沒有掛載根分割槽前,保證系統能夠執行基礎的初始化和載入一些基本的驅動,比如掛載scsi驅動等。製作initrd傳統的方法是用mkinitramfs這一個系統工具,現在mkinitrd會呼叫dracut完成實際的工作。比如下面的命令進行:

mkinitrd3.0.4 -o /boot/initrd.img-3.0.4

然後把生成的initrd映像拷貝到/boot下面即可。

5.更新grub

為了讓boot loader能夠找到剛生成的核心和initrd映像,需要修改grub。注意如果使用的是grub2,不宜直接修改/boot/grub2/grub.cfg檔案,而應該修改grub2的配置檔案。grub2預設的配置檔案在/etc/grub2.cfg。更新完這個檔案之後,需要執行下面的檔案:

grub2-mkconfig

至於啟動那個linux映象,由/etc/default/grub的GRUB_DEFAULT=saved來決定;

其意思是上一次使用的value;

修改核心預設啟動項

grub2-set-default 0

方法三:機器不能聯網

如果機器不能聯網,可以下載現有核心包到本地機器,直接在本地更新

1.從http://ftp.scientificlinux.org/linux/scientific/7.0/x86_64/updates/security/下載需要的頒佈rpm

2. [[email protected] os2]# scp [email protected]:/home/worker/kernel-3.10.0-123.1.2.el7.x86_64.rpm 

[email protected]'s password:

kernel-3.10.0-123.1.2.el7.x86_64.rpm                                         100%   29MB  28.9MB/s   00:00

3.[[email protected] os2]# yum install kernel-3.10.0-123.1.2.el7.x86_64.rpm

Loaded plugins: fastestmirror, langpacks

Examining kernel-3.10.0-123.1.2.el7.x86_64.rpm: kernel-3.10.0-123.1.2.el7.x86_64

Marking kernel-3.10.0-123.1.2.el7.x86_64.rpm to be installed

Resolving Dependencies

--> Running transaction check

---> Package kernel.x86_64 0:3.10.0-123.1.2.el7 will be installed

--> Finished Dependency Resolution

epel/x86_64/metalink                                                                    | 5.2 kB  00:00:00

epel/x86_64                                                                           | 4.3 kB  00:00:01

epel/x86_64/updateinfo                                                                  | 517 kB  00:00:01

epel/x86_64/primary_db                                                                  | 4.0 MB  00:02:36

....

這種方法需要注意kernel和模組簽名的問題,如果模組簽名沒有通過核心檢查,將不會載入,這可能導致生成系統啟動失敗。

相關推薦

linux CentOS6.5升級核心版本

方法一:機器已經聯網,直接利用包管理工具更新,需要注意的是現在3.0以上的核心引入了簽名機制,需要匯入簽名的key,參考步驟如下: 1.匯入key         rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo

Linux(CentOS6.5 x64)下版本安裝及升級kangle+EasyPanel

說明:(easypanel集成了kangle web 伺服器和mysql,僅支援centos 5和centos 6) 。執行下面的命令即可,安裝程式將自動安裝或者升級: yum -y install wget;wget http://kangle.odata.

CentOS6.5升級autoconf版本,解決”Autoconf version 2.64 or

autoconfCentOS6.5升級autoconf版本,解決”Autoconf version 2.64 or higher is required“錯誤安裝軟件時提示說需要Autoconf 2.64或更高的版本:[root@wslu-cs wslu]# autoconf configure.ac:8

CentOS6.5升級核心到4.4

情景: 最近在學習Docker應用容器引擎,但是Docker要求系統為64位、系統核心版本為 3.10 以上,且自己伺服器系統版本為CentOS6.5,核心是2.6的,不符合要求,故將核心升級到3.10以上。 方式: 此次升級核心採用下載核心然後編譯的形式進行升級,歷時五分鐘左右完成

centos6.5 升級核心

升級核心版本: 匯入public key: rpm --import http://www.elrepo.org/RPM-GPG-KEY-elrepo.org 安裝ELRepo到CentOS-6.5中: rpm -ivh http://www.elrepo.org/elrepo-release-6-8

CentOS6.5升級autoconf版本,解決”Autoconf version 2.64 or higher is required“錯誤

安裝軟體時提示說需要Autoconf 2.64或更高的版本: [[email protected] wslu]# autoconf configure.ac:8: error: Autoc

CentOS6.5升級核心到3.10.28

更簡單的升級方法:http://www.tuicool.com/articles/rUvERv 參考這篇文件即可。http://blog.csdn.net/taiyang1987912/article/details/42744019 注意不要直接嘗試升級到4.xxx版本

centos6.5升級核心到3.10

最近在看docker,提到docker的核心要求要3.8以上。然而一般centos6預設的核心版本好像都是2.6? 所以我先嚐試升級系統核心: 升級核心(帶aufs模組,記住一定要升級,要不

雜七雜八(1):CentOS6.5 升級glibc至2.17版本

老闆跑測試的時候需要高版本的glibc,結果我手動改的時候不小心把系統弄崩潰了,當時備份的時候忘記備份usr文件,因此只能重灌系統,短暫重灌系統後,決定順便先把glibc升級一下,免得到時候老闆再親自升級。 1:先升級gcc 詳情可見: Elam的caffe筆記之配置篇(一

Centos6.5跨越大版本升級到Centos7.4

升級原因 隨著技術升級,新科技的更新換代,作業系統的版本到現在也從Centos5.X過度到了最新的Centos7.5。 近期計劃要使用Kubernetes服務,最新版本更好的相容Centos7.X系列系統,由於遠端Server都是通過私有云提供的,這樣我們重

CentOS6.5 升級 Python 2.7 版本

目錄 前言 CentOS 6.5中預安裝了Python-2.6.6,其比較新的Python-2.7.9(CentOS 7預裝版本)主要區別在於新版本的Python匯入了更豐富的模組功能。對於初學者而言這一般不會有太大的影響,相對而言這些新模

CentOS6.5升級手動安裝GCC4.8.2

sta 安裝gcc cout include 介紹 tar.bz2 yum wget lib 一、簡易安裝 操作環境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升級到4.8.2 不能通過yum的方法升級,需要自己手動下載安裝包並編

linux CentOS6.5 yum安裝mysql 5.6

linux centos6.5 yum安裝mysql 5.6直接按步驟安裝# wget # rpm -ivh mysql-community-release-el6-5.noarch.rpm [[email protected]/* */ ~]# yum repolist all | grep

CentOS6.5升級GCC

gcc、glibc、libstdc++一、gcc 各發行版本Linux中,其自帶的gcc安裝源版本都比較舊,我所使用CentOS 6系統中,gcc版本只有4.4.7。但在編譯程序或運行程序時需要更高版本的gcc,只能手動編譯安裝gcc。1、查看當前系統上gcc的版本[[email protecte

Linux CentOS6.5上搭建環境遇到的問題

warn 主機名 span his 不為 rpm mysqld password oca 1.卸載CentOS自帶的JDK 查看centos上 安裝的jdk:rpm -qa|grep jdk 出現如下:     java-1.7.0-openjdk-1.7.0.45-

CentOS6.9升級autoconf版本,解決”Autoconf version 2.64 or higher is required“錯誤

req higher onf autoconf tex tar ice mail --nodeps 安裝軟件時提示說需要Autoconf 2.64或更高的版本: 1 # autoconf 2 configure.ac:8: error: Autoconf versio

CentOS6.5升級內核到3.10.28的記錄

默認 計算機 上下 是否 需要 zimage 核數 upd 6.5 由於最近打算玩玩docker,但是在安裝的時候提示的是自己的虛擬機的內核版本太低了,所以覺得進行升級,在網上看到了這麽一片文章,進行升級,成功了。所以記錄下。 1、首先,更新了自己的yum,確保yum是

CentOS6 yum升級版本gcc

高版本 版本 epo gcc ble release -- scl 安裝 gcc 4.8安裝 # curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo # yum ins

分享Centos6.5升級glibc過程

centos6 nodejs pan 表示 cno 系統 tps code spa 默認的Centos6.5 glibc版本最高為2.12, 而在進行Nodejs開發時項目所依賴的包往往需要更高版本的glibc庫支持, 因此在不升級系統的前提下, 需要主動更新系統glibc

Linux CentOS6.5安裝Nginx1.8.0

命令 ref 存在 stc grep 目錄 linu 註意 依賴 一. 安裝nginx 1. 準備1.8.0安裝包 nginx-1.8.0.tar.gz 2. 安裝第三方依賴 yum install gcc-c++ yum install -y pcre pcre-dev