<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • centos7 離線升級/在線升級操作系統內核

    一.前言

    CentOS(Community ENTerprise Operating System)是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩定性的服務器以CentOS替代商業版的Red Hat Enterprise Linux使用。

    CentOS系統簡潔穩定,但是系統內核版本低,有的軟件要求的系統內核版本高,此時升級系統內核即可滿足要求!

    本文分別介紹離線升級系統內核在線升級系統內核的方法。另外除了離線升級系統內核在線升級系統內核,還可以從https://www.kernel.org/官網下載指定內核源碼并進行編譯升級,但是此步驟較為繁瑣,在此忽略。

    二.系統環境

    服務器版本 系統內核版本 CPU架構
    CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 x86_64

    三.系統內核下載網址

    centos 系統內核可以去如下兩個網站下載:
    1.清華大學開源軟件鏡像站:https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el7/x86_64/RPMS/

    image-20220627231317228

    ? 2.elrepo鏡像站:https://elrepo.org/linux/kernel/el7/x86_64/RPMS/

    image-20220627231411645

    四.centos7離線升級系統內核

    1.先查看系統環境

    查看操作系統版本

    [root@etcd2 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.4.1708 (Core) 
    

    查看系統內核

    [root@etcd2 ~]# uname -r
    3.10.0-693.el7.x86_64
    

    2.離線升級系統內核

    更新yum源倉庫

    [root@etcd2 ~]# yum -y update
    

    啟用 ELRepo 倉庫,ELRepo 倉庫是基于社區的用于企業級 Linux 倉庫,提供對 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 發行版(CentOS、Scientific、Fedora 等)的支持。ELRepo 聚焦于和硬件相關的軟件包,包括文件系統驅動、顯卡驅動、網絡驅動、聲卡驅動和攝像頭驅動等。

    導入ELRepo倉庫的公共密鑰

    [root@etcd2 ~]#  rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    

    安裝ELRepo倉庫的yum源

    [root@etcd2 ~]#  rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    

    從elrepo下載系統內核包,如果不導入ELRepo倉庫的公共密鑰和安裝ELRepo倉庫的yum源,是下載不了內核包的

    [root@etcd2 ~]# wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-5.4.160-1.el7.elrepo.x86_64.rpm
    

    清華的這個鏡像站可以直接下載

    [root@etcd2 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm --no-check-certificate
    

    內核包下載好,kernel-ml代表主線版本,總是保持主線最新的內核,kernel-lt代表長期支持版本,支持周期更長,如果你要追求最新的版本,直接選擇帶ml的rpm包即可,如果你要追求穩定且更長的支持周期,直接選擇lt版本即可。

    [root@etcd2 ~]# ll -h kernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm*
    -rw-r--r-- 1 root root 51M 6月   5 19:47 kernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm
    

    安裝內核包

    [root@etcd2 ~]# rpm -ivh kernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm
    警告:kernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm: 頭V4 DSA/SHA256 Signature, 密鑰 ID baadae52: NOKEY
    準備中...                          ################################# [100%]
    正在升級/安裝...
       1:kernel-lt-5.4.197-1.el7.elrepo   ################################# [100%]
    

    內核升級完畢后,需要我們修改內核的啟動順序,默認啟動的順序應該為1,升級以后內核是往前面插入為0,設置GRUB_DEFAULT=0。一般新安裝的內核在第一個位置,所以設置default=0,意思是 GRUB 初始化頁面的第一個內核將作為默認內核。

    默認的grub文件,GRUB_DEFAULT=saved

    [root@etcd2 ~]# cat /etc/default/grub
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="gfxterm"
    GRUB_CMDLINE_LINUX="rhgb quiet nomodeset"
    GRUB_DISABLE_RECOVERY="true"
    

    使 GRUB_DEFAULT=0

    [root@etcd2 ~]# vim /etc/default/grub
    
    [root@etcd2 ~]# cat /etc/default/grub
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=0
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="gfxterm"
    GRUB_CMDLINE_LINUX="rhgb quiet nomodeset"
    GRUB_DISABLE_RECOVERY="true"
    

    設置默認啟動內核,grub2-set-default 0和/etc/default/grub文件里的GRUB_DEFAULT=0意思一樣

    [root@etcd2 ~]# grub2-set-default 0
    

    查看所有的內核

    [root@etcd2 ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
    0 : CentOS Linux 7 Rescue 12667e2174a8483e915fd89a3bc359fc (5.4.197-1.el7.elrepo.x86_64)
    1 : CentOS Linux (5.4.197-1.el7.elrepo.x86_64) 7 (Core)
    2 : CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
    3 : CentOS Linux (0-rescue-80c608ceab5342779ba1adc2ac29c213) 7 (Core)
    

    重新生成grub配置文件

    [root@etcd2 ~]# vim /boot/grub2/grub.cfg
    
    [root@etcd2 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-5.4.197-1.el7.elrepo.x86_64
    Found initrd image: /boot/initramfs-5.4.197-1.el7.elrepo.x86_64.img
    Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-12667e2174a8483e915fd89a3bc359fc
    Found initrd image: /boot/initramfs-0-rescue-12667e2174a8483e915fd89a3bc359fc.img
    Found linux image: /boot/vmlinuz-0-rescue-80c608ceab5342779ba1adc2ac29c213
    Found initrd image: /boot/initramfs-0-rescue-80c608ceab5342779ba1adc2ac29c213.img
    done
    

    重啟并查看內核版本

    [root@etcd2 ~]# reboot
    

    可以看到內核升級成功

    [root@etcd2 ~]# uname -r
    5.4.197-1.el7.elrepo.x86_64
    
    [root@etcd2 ~]# uname -rs
    Linux 5.4.197-1.el7.elrepo.x86_64
    
    

    五.在線升級系統內核

    導入ELRepo倉庫的公共密鑰,啟用 ELRepo 倉庫,ELRepo 倉庫是基于社區的用于企業級 Linux 倉庫,提供對 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 發行版(CentOS、Scientific、Fedora 等)的支持。ELRepo 聚焦于和硬件相關的軟件包,包括文件系統驅動、顯卡驅動、網絡驅動、聲卡驅動和攝像頭驅動等。

    [root@etcd2 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    

    安裝ELRepo倉庫的yum源

    [root@etcd2 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    獲取http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    準備中...                          ################################# [100%]
    正在升級/安裝...
       1:elrepo-release-7.0-3.el7.elrepo  ################################# [100%]
    

    kernel-ml代表主線版本,總是保持主線最新的內核,kernel-lt代表長期支持版本,支持周期更長,如果你要追求最新的版本,直接選擇帶ml的rpm包即可,如果你要追求穩定且更長的支持周期,直接選擇lt版本即可。
    查看可用的系統內核包

    [root@etcd2 ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
    已加載插件:fastestmirror
    。。。。。。
    Loading mirror speeds from cached hostfile
     * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
    可安裝的軟件包
    elrepo-release.noarch                                                                                    7.0-5.el7.elrepo                                                                            elrepo-kernel
    kernel-lt-devel.x86_64                                                                                   5.4.197-1.el7.elrepo                                                                        elrepo-kernel
    kernel-lt-doc.noarch                                                                                     5.4.197-1.el7.elrepo                                                                        elrepo-kernel
    kernel-lt-headers.x86_64                                                                                 5.4.197-1.el7.elrepo                                                                        elrepo-kernel
    。。。。。。
    kernel-ml-tools-libs.x86_64                                                                              5.18.2-1.el7.elrepo                                                                         elrepo-kernel
    kernel-ml-tools-libs-devel.x86_64                                                                        5.18.2-1.el7.elrepo                                                                         elrepo-kernel
    perf.x86_64                                                                                              5.18.2-1.el7.elrepo                                                                         elrepo-kernel
    python-perf.x86_64                                                                                       5.18.2-1.el7.elrepo                                                                         elrepo-kernel
    

    剛才安裝的lt版本,現在安裝ml版本

    安裝最新版本內核,--enablerepo 選項開啟 CentOS 系統上的指定倉庫。默認開啟的是 elrepo,這里用 elrepo-kernel 替換。或者yum install -y kernel-lt-4.4.218-1.el7.elrepo --enablerepo=elrepo-kernel

    [root@etcd2 ~]# yum --enablerepo=elrepo-kernel install kernel-ml -y
    已加載插件:fastestmirror
    elrepo                                                                                                                                                                                     | 3.0 kB  00:00:00     
    elrepo/primary_db                                                                                                                                                                          | 580 kB  00:00:06     
    Loading mirror speeds from cached hostfile
     * elrepo: hkg.mirror.rackspace.com
     * elrepo-kernel: hkg.mirror.rackspace.com
    正在解決依賴關系
    --> 正在檢查事務
    ---> 軟件包 kernel-ml.x86_64.0.5.18.2-1.el7.elrepo 將被 安裝
    --> 解決依賴關系完成
    。。。。。。
    Downloading packages:
    kernel-ml-5.18.2-1.el7.elrepo.x86_64.rpm                                                                                                                                                   |  56 MB  00:00:42     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    警告:RPM 數據庫已被非 yum 程序修改。
      正在安裝    : kernel-ml-5.18.2-1.el7.elrepo.x86_64                                                                                                                                                          1/1 
      驗證中      : kernel-ml-5.18.2-1.el7.elrepo.x86_64                                                                                                                                                          1/1 
    已安裝:
      kernel-ml.x86_64 0:5.18.2-1.el7.elrepo                                                                                                                                                        
    完畢!
    

    查看所有的內核版本

    [root@etcd2 ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
    0 : CentOS Linux (5.18.2-1.el7.elrepo.x86_64) 7 (Core)
    1 : CentOS Linux (5.4.197-1.el7.elrepo.x86_64) 7 (Core)
    2 : CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
    3 : CentOS Linux (0-rescue-12667e2174a8483e915fd89a3bc359fc) 7 (Core)
    4 : CentOS Linux (0-rescue-80c608ceab5342779ba1adc2ac29c213) 7 (Core)
    

    內核升級完畢后,需要我們修改內核的啟動順序,默認啟動的順序應該為1,升級以后內核是往前面插入為0,設置GRUB_DEFAULT=0。一般新安裝的內核在第一個位置,所以設置default=0,意思是 GRUB 初始化頁面的第一個內核將作為默認內核。

    [root@etcd2 ~]# cat /etc/default/grub
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=0
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="gfxterm"
    GRUB_CMDLINE_LINUX="rhgb quiet nomodeset"
    GRUB_DISABLE_RECOVERY="true"
    
    
    [root@etcd2 ~]# grub2-set-default 0
    

    重新生成grub配置文件

    [root@etcd2 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-5.18.2-1.el7.elrepo.x86_64
    Found initrd image: /boot/initramfs-5.18.2-1.el7.elrepo.x86_64.img
    Found linux image: /boot/vmlinuz-5.4.197-1.el7.elrepo.x86_64
    Found initrd image: /boot/initramfs-5.4.197-1.el7.elrepo.x86_64.img
    Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-12667e2174a8483e915fd89a3bc359fc
    Found initrd image: /boot/initramfs-0-rescue-12667e2174a8483e915fd89a3bc359fc.img
    Found linux image: /boot/vmlinuz-0-rescue-80c608ceab5342779ba1adc2ac29c213
    Found initrd image: /boot/initramfs-0-rescue-80c608ceab5342779ba1adc2ac29c213.img
    done
    

    重啟

    [root@etcd2 ~]# reboot
    

    查看當前系統內核版本

    [root@etcd2 ~]# uname -sr
    Linux 5.18.2-1.el7.elrepo.x86_64
    
    [root@etcd2 ~]# uname -r
    5.18.2-1.el7.elrepo.x86_64
    
    posted @ 2022-06-28 11:36  人生的哲理  閱讀(180)  評論(1編輯  收藏  舉報
    国产美女a做受大片观看