作RHCE模擬題的時候,竟然升級內核忘怎麼作了,如今先轉載一篇文章,回家後,多作幾遍:
就在前幾天,RHEL6.2 Bate版出來了。正好這兩點在寫軟件包的安裝相關博文,裏面有提到內核的RPM方式升級,但實驗的時候,發現用rpm方式將RHEL6.1內核升級到RHEL6.2 Bate內核的時候有些問題,因此就寫下來,與你們分享。
用RMP包方式升級內核的過程其實很簡單,但因爲BUG的緣由沒有可以順利進行。折騰了一會最終解決了問題。下面進入今天的正題:用rpm方式將RHEL6.1內核升級到RHEL6.2 Bate內核。
1、準備內核的相關RPM軟件,並安裝kernel-firmware
安裝新內核的kernel,須要用到kernel-firmware的依賴關係。因此咱們要把這兩個RPM包都下載下來(感謝羣友Devilkin℡給我提供這兩個軟件)。
[root@yufei kernel]# ls
kernel-2.6.32-202.el6.x86_64.rpm kernel-firmware-2.6.32-202.el6.noarch.rpm在安裝kernel就必需先安裝kernel-firmware,那麼咱們就先來安裝他,看看會出現什麼問題?
[root@yufei kernel]# rpm -ihv kernel-firmware-2.6.32-202.el6.noarch.rpm
warning: kernel-firmware-2.6.32-202.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f21541eb: NOKEY
Preparing... ########################################### [100%]
file /lib/firmware/isci/isci_firmware.bin from install of kernel-firmware-2.6.32-202.el6.noarch conflicts with file from package kernel-firmware-2.6.32-131.0.15.el6.noarch
file /usr/share/doc/kernel-firmware-2.6.32/WHENCE from install of kernel-firmware-2.6.32-202.el6.noarch conflicts with file from package kernel-firmware-2.6.32-131.0.15.el6.noarch提示也沒有什麼錯誤信息,只是說兩個文件是存在的。但其實這個kernel-firmware是沒有安裝上的。
[root@yufei kernel]# rpm -ivh kernel-2.6.32-202.el6.x86_64.rpm
warning: kernel-2.6.32-202.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f21541eb: NOKEY
error: Failed dependencies:
kernel-firmware >= 2.6.32-202.el6 is needed by kernel-2.6.32-202.el6.x86_64這個緣由在官方的BUG上面有提到,具體請到這裏查看,主要的解決辦法是用rpm -Uvh來代替rpm -ivh安裝kernel-firmware。而後再安裝kernel。
這就是解決問題的關鍵,不然不管如何都沒法進行安裝kernel的,感謝羣友小魔怪的幫助。
因而用rpm -Uvh kernel-firmware-2.6.32-202.el6.noarch.rpm 來安裝
[root@yufei kernel]# rpm -Uvh kernel-firmware-2.6.32-202.el6.noarch.rpm
warning: kernel-firmware-2.6.32-202.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f21541eb: NOKEY
Preparing... ########################################### [100%]
1:kernel-firmware ########################################### [100%]
[root@yufei kernel]# 呵呵,已經沒有什麼提示了,咱們來查一下,發現他也安裝上了
[root@yufei kernel]# rpm -qa |grep kernel-firmware
kernel-firmware-2.6.32-202.el6.noarch
[root@yufei kernel]# 2、安裝新內核kernel
在安裝了kernel-firmware的基礎上,安裝新內核就方便多了。
[root@yufei kernel]# rpm -ivh kernel-2.6.32-202.el6.x86_64.rpm
warning: kernel-2.6.32-202.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f21541eb: NOKEY
Preparing... ########################################### [100%]
1:kernel ########################################### [100%]
[root@yufei kernel]# 注意:這裏不要用rpm -Uvh。緣由就是,用U參數,就直接把原內核升級了,而用i則是安裝了新的內核,原內核依然是存在的。這樣防止了新內核故障的產生。
[root@yufei kernel]# rpm -qa |grep kernel
kernel-firmware-2.6.32-202.el6.noarch
kernel-headers-2.6.32-131.0.15.el6.x86_64
kernel-2.6.32-131.0.15.el6.x86_64
kernel-devel-2.6.32-131.0.15.el6.x86_64
kernel-2.6.32-202.el6.x86_64
dracut-kernel-004-53.el6.noarch
[root@yufei kernel]# 呵呵,兩個內核都在。
3、檢查GRUB裏面的信息
這一步通常狀況下,都會在menu.lst裏面寫入新內核的啓動信息,爲了確保新內核安裝成功,咱們仍是再檢查一下。
[root@yufei kernel]# cat /boot/grub/menu.lst
default=0
timeout=5
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-202.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-202.el6.x86_64 ro root=UUID=d88d25c9-360e-42a8-b464-e16f93f8ef01 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-202.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-131.0.15.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-131.0.15.el6.x86_64 ro root=UUID=d88d25c9-360e-42a8-b464-e16f93f8ef01 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-131.0.15.el6.x86_64.img發現多了新內核2.6.32-202.el6.x86_64。
4、從新啓動,切換到新內核,測試新系統
在從新啓動前,咱們先來看看舊內核的信息
[root@yufei kernel]# uname -r
2.6.32-131.0.15.el6.x86_64
[root@yufei kernel]# reboot
[root@yufei ~]# uname -r
2.6.32-202.el6.x86_64
[root@yufei ~]# 新內核能夠正常工做了。
5、介紹一下內核安裝的相關文件
/lib/modules/裏面有個2.6.32-202.el6.x86_64文件夾
[root@yufei ~]# ls /lib/modules/
2.6.32-131.0.15.el6.x86_64 2.6.32-202.el6.x86_64/boot/有2.6.32-202.el6.x86_64相關的文件
[root@yufei ~]# ls /boot/ config-2.6.32-131.0.15.el6.x86_64 symvers-2.6.32-202.el6.x86_64.gz config-2.6.32-202.el6.x86_64 System.map efi System.map-2.6.32-131.0.15.el6.x86_64 grub System.map-2.6.32-202.el6.x86_64 initramfs-2.6.32-131.0.15.el6.x86_64.img vmlinuz initramfs-2.6.32-202.el6.x86_64.img vmlinuz-2.6.32-131.0.15.el6.x86_64 lost+found vmlinuz-2.6.32-202.el6.x86_64 symvers-2.6.32-131.0.15.el6.x86_64.gz [root@yufei ~]# 至此,內核升級完成。本身慢慢享受吧!