中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Centos內(nèi)核升級的三種方法


 

在基于CentOS平臺的工作過程中,難免有時需要升級或者降級內(nèi)核以驗證功能、調(diào)試性能或者更新整個系統(tǒng)。

如果從頭重新編譯一個內(nèi)核,由于現(xiàn)在內(nèi)核特性越來越復(fù)雜,依賴的庫或者工具也不少,加之重新編譯耗時不菲,了解更新內(nèi)核的多種方式就顯得尤為必要。

下面根據(jù)筆者最近的工作,總結(jié)了三種方法,供大家參考。

 

方法一

如果機器不能聯(lián)網(wǎng),可以下載現(xiàn)有內(nèi)核包到本地機器,直接在本地更新

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

 

2. [root@localhost os2]# scp root@192.168.1.64:/home/worker/kernel-3.10.0-123.1.2.el7.x86_64.rpm 

root@192.168.1.64's password:

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

 

3.[root@localhost 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

....

 

方法二

如果機器已經(jīng)聯(lián)網(wǎng),直接利用包管理工具更新,需要注意的是現(xiàn)在3.0以上的內(nèi)核引入了簽名機制,需要導(dǎo)入簽名的key,參考步驟如下:

 

1、導(dǎo)入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

當然,如果已經(jīng)修改了repo的gpgcheck=0也可以不導(dǎo)入key


2、安裝elrepo的yum源

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

 

3、安裝內(nèi)核
在yum的ELRepo源中,有mainline頒布的,可以這樣安裝:
 yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y

當然也可以安裝long term的:

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



其它:

http://elrepo.org/linux/kernel/el6/x86_64/RPMS/

 

[root@server-mysql yum.repos.d]# yum --enablerepo=elrepo-kernel  list  |grep kernel*Unable to read consumer identity * elrepo-kernel: mirrors.tuna.tsinghua.edu.cnabrt-addon-kerneloops.x86_64               2.0.8-6.el6                   @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3dracut-kernel.noarch                       004-283.el6                   @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3kernel.x86_64                              2.6.32-279.el6                @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3kernel-devel.x86_64                        2.6.32-279.el6                @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3kernel-firmware.noarch                     2.6.32-279.el6                @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3kernel-headers.x86_64                      2.6.32-279.el6                @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3libreport-plugin-kerneloops.x86_64         2.0.9-5.el6                   @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3abrt-addon-kerneloops.x86_64               2.0.8-40.el6.centos           base   dracut-kernel.noarch                       004-409.el6_8.2               updateskernel.x86_64                              2.6.32-642.3.1.el6            updateskernel-abi-whitelists.noarch               2.6.32-642.3.1.el6            updateskernel-debug.x86_64                        2.6.32-642.3.1.el6            updateskernel-debug-devel.i686                    2.6.32-642.3.1.el6            updateskernel-debug-devel.x86_64                  2.6.32-642.3.1.el6            updateskernel-devel.x86_64                        2.6.32-642.3.1.el6            updateskernel-doc.noarch                          2.6.32-642.3.1.el6            updateskernel-firmware.noarch                     2.6.32-642.3.1.el6            updateskernel-headers.x86_64                      2.6.32-642.3.1.el6            updates
kernel-lt.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-devel.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-doc.noarch 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-firmware.noarch 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-headers.x86_64 3.10.102-1.el6.elrepo elrepo-kernel
kernel-ml.x86_64 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-devel.x86_64 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-doc.noarch 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-firmware.noarch 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-headers.x86_64 4.6.4-1.el6.elrepo elrepo-kernellibreport-plugin-kerneloops.x86_64 2.0.9-32.el6.centos base perf.x86_64 4.6.4-1.el6.elrepo elrepo-kernel

 

 

 

 

方法三

實際工作當中經(jīng)常碰到需要修改內(nèi)核配置,編譯驅(qū)動,調(diào)節(jié)相關(guān)參數(shù)等,這就需要定制內(nèi)核,為此需要手動生成新的內(nèi)核。還是以3.10.0-123.el7為例子,一般步驟如下:



1.先下載內(nèi)核:

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

接著解壓相關(guān)代碼:

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

默認在/usr/src放有一份kernel的頭文件,這樣在不需要下載整個內(nèi)核源代碼的情況下就可以編譯自己編寫的內(nèi)核模塊,如果有patch需要打的話,用patch -p1 *.patch命令給內(nèi)核打上相應(yīng)的patch。



2.更新配置文件.config

可以獲取系統(tǒng)當前的config文件,也可以用默認的配置文件,比如x86_64_defconfig:

cp /boot/config-3.10.0-123.el7.x86_64  .config  和make oldconfig生產(chǎn)的config一致

然后用make menuconfig來配置。



3.編譯和安裝

默認的情況下, 內(nèi)核和initrd會安裝到/boot下面,而驅(qū)動模塊會安裝到/lib/modules/`uname -r`下,如果可以都安裝都默認的位置,直接運行下面的命令即可:

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

如果需要安裝到指定的路徑,請設(shè)置下面的環(huán)境變量:

export INSTALL_PATH=….

export INSTALL_MOD_PATH=



4.創(chuàng)建initrd.img

initrd.img即為初始化的ramdisk文件,它是一個內(nèi)存鏡像文件。它是把一些最基本的驅(qū)動程序和命令工具打包而成,作用就是在系統(tǒng)還沒有掛載根分區(qū)前,保證系統(tǒng)能夠執(zhí)行基礎(chǔ)的初始化和加載一些基本的驅(qū)動,比如掛載scsi驅(qū)動等。制作initrd傳統(tǒng)的方法是用mkinitramfs這一個系統(tǒng)工具,現(xiàn)在mkinitrd會調(diào)用dracut完成實際的工作。比如下面的命令進行:



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

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



5.更新grub

為了讓boot loader能夠找到剛生成的內(nèi)核和initrd映像,需要修改grub。注意如果使用的是grub2,不宜直接修改/boot/grub2/grub.cfg文件,而應(yīng)該修改grub2的配置文件。grub2默認的配置文件在/etc/grub2.cfg。更新完這個文件之后,需要運行下面的文件:

grub2-mkconfig

至于啟動那個linux鏡像,由/etc/default/grub的GRUB_DEFAULT=saved來決定;

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

修改內(nèi)核默認啟動項

grub2-set-default 0



這種方法需要注意kernel和模塊簽名的問題,如果模塊簽名沒有通過內(nèi)核檢查,將不會加載,這可能導(dǎo)致生成系統(tǒng)啟動失敗。



總而言之,工程師和維護人員需要集合實際情況靈活選擇合適的方法來更新內(nèi)核。

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Centos7 內(nèi)核升級&默認啟動
Centos7內(nèi)核升級
linux(centos7)內(nèi)核升級
CentOS7安裝bbr的正確姿勢:更新到7.3,安裝elrepo官方4.9正式版
centos7 系列升級系統(tǒng)內(nèi)核
谷歌BBR擁塞算法內(nèi)核更新
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服