最近在學習 Docker,想在服務器上實踐一下.Docker 需要安裝在 CentOS 7 64 位的平台,並且內核版本不低於 3.10。 CentOS 7 滿足最低內核的要求,但由於 CentOS 7 內核版本比較低,部分功能(如 overlay2
存儲層驅動)無法使用,並且部分功能可能不太穩定.需要升級到最新的 CentOS 版本,並且內核也更新到最新的穩定版本.這是我對升級 CentOS 系統版本及內核的記錄,方便以后查閱,也分享給大家.
注意:這篇文章只在 CentOS 7.× 系列版本上驗證過,其他 CentOS 版本請謹慎使用.
檢查當前 CentOS 系統版本
# cat /etc/redhat-release
> CentOS Linux release 7.0.1503 (Core)
檢查當前 CentOS 系統內核版本
# uname -sr
> Linux 3.10.0-327.10.1.e17.x86_64
可以看出當前系統為 CentOS 7.4,系統內核版本為 3.10.
運行 yum
命令升級
CentOS 中 update
命令可以一次性更新所有軟件到最新版本。
# yum clean all
# yum update
期間會有確認提示,直接回車確認即可.
重啟系統
# reboot
檢查當前 CentOS 系統版本
# cat /etc/redhat-release
> CentOS Linux release 7.4.1611 (Core)
檢查當前 CentOS 系統內核版本
# uname -sr
> Linux 3.10.0-327.10.1.e17.x86_64
可以看到當前系統為 CentOS 7.3 已經升級成功了,但系統內核版本依舊為 3.10 並沒有升級,這是因為 CentOS 為了安全和穩定並不會把系統內核升級到最新的版本,所以 yum update
命令只會升級系統版本和更新軟件.接下來我們就來升級系統內核.
升級 CentOS 7.× 內核,啟用 ELRepo
要在 CentOS 7.× 上啟用 ELRepo 倉庫,請運行:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
倉庫啟用后,你可以使用下面的命令列出可用的系統內核相關包:
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
The difference is that kernel-lt is based on a "long term support" branch and kernel-ml is based on the "mainline stable" branch
接下來,安裝最新的lt內核: (ml 版安裝后有問題)
# yum --enablerepo=elrepo-kernel install kernel-lt
由於網絡原因,以上操作可能需要不少時間.
重啟機器,檢查當前 CentOS 系統內核版本
# uname -sr
> Linux 4.4.0-1.el7.elrepo.x86_64
可以看到系統內核已經升級到最新的主線穩定內核.
設置 GRUB 默認的內核版本
為了讓新安裝的內核成為默認啟動選項
# grub2-set-default 0
查看設置
# grub2-editenv list
重啟機器,查看系統當前內核版本,驗證最新的內核已作為默認內核
# uname -rs
>
Linux 4.4.7-1.el7.elrepo.x86_64
刪除 CentOS 更新后的舊內核
查看系統中全部的內核 RPM 包:
# rpm -qa | grep kernel
> kernel-tools-3.10.0-514.26.2.el7.x86_64
> kernel-devel-3.10.0-514.10.2.el7.x86_64
> kernel-3.10.0-514.26.2.el7.x86_64
> kernel-3.10.0-327.el7.x86_64
> kernel-lt-4.4.0-1.el7.elrepo.x86_64
> kernel-headers-3.10.0-514.26.2.el7.x86_64
> kernel-devel-3.10.0-514.26.2.el7.x86_64
> kernel-tools-libs-3.10.0-514.26.2.el7.x86_64
刪除舊內核的 RPM 包
yum remove kernel-tools-3.10.0-514.26.2.el7.x86_64 kernel-devel-3.10.0-514.10.2.el7.x86_64 kernel-3.10.0-514.26.2.el7.x86_64 kernel-3.10.0-327.el7.x86_64 kernel-headers-3.10.0-514.26.2.el7.x86_64 kernel-devel-3.10.0-514.26.2.el7.x86_64 kernel-tools-libs-3.10.0-514.26.2.el7.x86_64
重啟系統
# reboot
ref http://www.jianshu.com/p/fdf6bb6c5b9c
http://elrepo.org/tiki/tiki-index.php