成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Centos和Ubutun系統內核升級操作

運維 系統運維
最近我在安裝Pixie就需要內核版本大于4.14+,因此就專門總結了centos和ubutun操作系統的內核升級操作步驟

[[398341]]

在日常運維中有時候會出現內核版本過低,導致一系列的問題,比如k8s使用3.10會出現cgroup內存泄漏,或者有的軟件依賴內核版本,最近我在安裝Pixie就需要內核版本大于4.14+,因此就專門總結了centos和ubutun操作系統的內核升級操作步驟

1 centos7升級內核

1.1 檢查已安裝的內核版本

讓我們安裝了一個發行版,它包含了一個特定版本的內核。為了展示當前系統中已安裝的版本,我們可以:

  1. # uname -sr 
  2. Linux 3.10.0-862.el7.x86_64 

如果我們現在進入https://www.kernel.org/,在撰寫本文時,我們看到最新的內核版本是5.12(其他版本可以從同一網站獲得)。還要考慮的一個重要的事情是內核版本的生命周期 - 如果你當前使用的版本接近它的生命周期結束,那么在該日期后將不會提供更多的 bug 修復。關于更多信息,請參閱內核發布頁。

1.2 升級內核

大多數現代發行版提供了一種使用 yum 等包管理系統和官方支持的倉庫升級內核的方法。但是,這只會升級內核到倉庫中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允許使用前者升級內核。與 Red Hat 不同,CentOS 允許使用 ELRepo,這是一個第三方倉庫,可以將內核升級到最新版本。ELRepo 倉庫是基于社區的用于企業級 Linux 倉庫,提供對 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 發行版(CentOS、Scientific、Fedora 等)的支持。ELRepo 聚焦于和硬件相關的軟件包,包括文件系統驅動、顯卡驅動、網絡驅動、聲卡驅動和攝像頭驅動等。要在 CentOS 7 上啟用 ELRepo 倉庫,請運行:

  1. #導入ELRepo倉庫的公共密鑰 
  2. rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
  3. #安裝ELRepo倉庫的yum源 
  4. rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

 

1.3 查看可用的系統內核包

倉庫啟用后,你可以使用下面的命令列出可用的內核相關包:可以看到5.4和5.12兩個版本

  1. yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 

 

1.4 安裝最新版本內核

對于centos操作系統,直接使用yum進行rpm包安裝,可以避免一些依賴的問題,但是默認會安裝最新版本內核,如果不需要的話,可以自己到網站下載對應版本,然后指定版本安裝,https://buildlogs.centos.org/c7-kernels.x86_64/kernel/

  1. #--enablerepo 選項開啟 CentOS 系統上的指定倉庫。默認開啟的是 elrepo,這里用 elrepo-kernel 替換。 
  2. yum -y --enablerepo=elrepo-kernel install kernel-ml 

 

1.5 設置 GRUB 默認的內核版本

內核安裝好后,需要設置為默認啟動選項并重啟后才會生效

查看系統上的所有可用內核:

  1. # sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 
  2. 0 : CentOS Linux 7 Rescue 8916e15095f33283a3b46d8f9ac7c654 (5.12.1-1.el7.elrepo.x86_64) 
  3. 1 : CentOS Linux (5.12.1-1.el7.elrepo.x86_64) 7 (Core) 
  4. 2 : CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core) 
  5. 3 : CentOS Linux (0-rescue-ea3169a040da42e0b632f72ceb5abd82) 7 (Core) 

設置新的內核為grub2的默認版本

服務器上存在4 個內核,我們要使用 5.12 這個版本,為了讓新安裝的內核成為默認啟動選項,可以通過 grub2-set-default 0 命令或編輯 /etc/default/grub 文件來設置

  1. #設置 GRUB_DEFAULT=0。意思是 GRUB 初始化頁面的第一個內核將作為默認內核 
  2. grub2-set-default 0 

生成 grub 配置文件并重啟

  1. #接下來運行下面的命令來重新創建內核配置 
  2. # grub2-mkconfig -o /boot/grub2/grub.cfg 
  3. Generating grub configuration file ... 
  4. Found linux image: /boot/vmlinuz-5.12.1-1.el7.elrepo.x86_64 
  5. Found initrd image: /boot/initramfs-5.12.1-1.el7.elrepo.x86_64.img 
  6. Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64 
  7. Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img 
  8. Found linux image: /boot/vmlinuz-0-rescue-8916e15095f33283a3b46d8f9ac7c654 
  9. Found initrd image: /boot/initramfs-0-rescue-8916e15095f33283a3b46d8f9ac7c654.img 
  10. Found linux image: /boot/vmlinuz-0-rescue-ea3169a040da42e0b632f72ceb5abd82 
  11. Found initrd image: /boot/initramfs-0-rescue-ea3169a040da42e0b632f72ceb5abd82.img 
  12. done 

驗證

  1. # reboot 
  2. # uname -r 
  3. 5.12.1-1.el7.elrepo.x86_64 

已升級成功

題外話

沒有外網,制作離線內核升級包

  1. # 下載制作升級包的工具 
  2. yum -y install yum-utils 
  3. yum -y install createrepo -y 
  4. repotrack httpd -p ./httpds/           或者   yumdownloader --resolve --destdir /tmp/ansible ansible 
  5. # 制作最新版本的內核軟件包,保存在了./kernel-ml.x86_64/目錄 
  6. repotrack kernel-ml.x86_64 -p ./kernel-ml.x86_64/           或者   yumdownloader --resolve --destdir ./kernel-ml.x86_64 kernel-ml.x86_64 
  7. # 制作好了之后只需要把kernel-ml.x86_64目錄拷貝到需要升級的機器升級即可 

刪除舊內核

查看系統中全部的內核:

  1. [root@hadoop-iot-test-01 ~]# rpm -qa | grep kernel 
  2. kernel-headers-3.10.0-957.27.2.el7.x86_64 
  3. kernel-tools-3.10.0-862.el7.x86_64 
  4. kernel-debug-devel-3.10.0-957.27.2.el7.x86_64 
  5. kernel-ml-5.12.1-1.el7.elrepo.x86_64 
  6. kernel-3.10.0-862.el7.x86_64 
  7. kernel-tools-libs-3.10.0-862.el7.x86_64 

方法1、yum remove 刪除舊內核的 RPM 包

  1. # yum remove kernel-3.10.0-514.el7.x86_64 \ 
  2. kernel-tools-libs-3.10.0-862.11.6.el7.x86_64 \ 
  3. kernel-tools-3.10.0-862.11.6.el7.x86_64 \ 
  4. kernel-3.10.0-862.11.6.el7.x86_64 

方法2、yum-utils 工具

如果安裝的內核不多于 3 個,yum-utils 工具不會刪除任何一個。只有在安裝的內核大于 3 個時,才會自動刪除舊內核。

  1. # 安裝yum-utils 
  2. yum install -y yum-utils 
  3. # 刪除舊版本   
  4. package-cleanup --oldkernels 

2 Ubutun升級內核

2.1 環境

在虛擬機上運行的ubuntu16.04 , 使用命令uname -r查看當前系統內核版本 當前版本為4.15.0-45-generic 要升級的內核為4.20.2

2.2 準備需要的材料

到網址[https://kernel.ubuntu.com/~kernel-ppa/mainline/]下載要升級的內核版本

選擇對應的文件,我的是amd64

使用命令下載(也可以網頁下載)

  1. wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.20.5/linux-headers-4.20.5-042005_4.20.5-042005.201901260434_all.deb 
  2. wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.20.5/linux-headers-4.20.5-042005-generic_4.20.5-042005.201901260434_amd64.deb 
  3. wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.20.5/linux-image-unsigned-4.20.5-042005-generic_4.20.5-042005.201901260434_amd64.deb 
  4. wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.20.5/linux-modules-4.20.5-042005-generic_4.20.5-042005.201901260434_amd64.deb 

2.3 安裝

直接使用dpkg命令安裝下載好的deb包

  1. sudo dpkg -i *.deb 

安裝完成后,重啟ubuntu系統 使用命令uname -r查看當前版本號

  1. # reboot 
  2. 等待機子重啟 
  3. # uname -r 
  4. Linux hadoop-master02 4.20.5-042005-generic  

內核升級成功。

2.4 遇到問題及解決方案

* 遇到問題

升級ubuntu 16.04的新內核時出現依賴libssl1.1.0問題

解決方案

需要安裝包 libssl1.1, 直接使用命令會安裝失敗,需要更添加源,這個包的更新數據ubuntu官方認可的源才能更新。到該網址去查看[https://packages.ubuntu.com/bionic/libssl1.1]或者單獨下載安裝一個libssl1.1_1.1.0g-2ubuntu4.1_amd64.deb文件然后再dpkg -i *.deb升級就可以了

  1. wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb 
  2. dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb 

 

責任編輯:姜華 來源: 運維開發故事
相關推薦

2010-04-01 14:16:04

CentOS 內核

2010-02-22 16:38:34

CentOS yum內

2020-12-28 08:51:06

操作系統微內核Dubbo

2014-07-08 12:51:28

CentOS 7

2011-07-11 09:54:48

centos內核

2009-09-01 09:14:42

2009-06-19 20:32:00

Linux

2023-12-16 13:13:05

歐拉openEuler

2011-01-14 16:23:46

Linux內核

2009-12-22 12:14:11

Linux內核

2017-03-17 16:30:23

2009-12-17 18:19:12

Linux操作系統

2018-01-18 09:34:27

LinuxCentOSYUM

2017-08-24 11:00:56

Linux用戶空間內核空間

2023-10-13 08:38:35

Linux操作系統

2024-12-27 09:46:10

2012-07-31 16:11:25

Linux內核系統運維

2013-04-08 16:19:46

Linux內核內核升級

2010-04-14 09:40:05

2009-12-23 16:01:28

Fedora 8 gc
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久网站 | 成人妇女免费播放久久久 | 日韩精品一区二区三区中文在线 | 碰碰视频| 国产一区二区久久 | 91精品国产日韩91久久久久久 | 91日日| 中文字幕电影在线观看 | 国产资源一区二区三区 | 欧美精品 在线观看 | 亚洲精品一区av在线播放 | 中文字幕视频在线观看 | 国产成人免费视频网站高清观看视频 | 91精品国产综合久久香蕉922 | 日本爱爱| 国产欧美日韩精品一区 | 断背山在线观看 | 免费黄色在线观看 | 国产在视频一区二区三区吞精 | 91在线电影| 国产一区中文字幕 | 国产一区二区三区在线视频 | 91在线播 | 久久精品亚洲 | 久久夜视频 | 在线观看亚洲 | 在线观看av网站永久 | 亚洲午夜一区二区 | 亚洲精品久久久久久久久久久 | 精品国产18久久久久久二百 | 亚洲人a | 欧美精品一区二区三区在线 | 91久久久久久 | 欧美电影一区 | 久久久夜夜夜 | 日韩精品在线免费 | 欧美精品乱码99久久影院 | 亚洲成av人片在线观看无码 | 午夜大片 | 成人在线观看网址 | 亚洲一区二区电影在线观看 |