centos安裝內核源碼安裝
㈠ 如何在CentOS/RHEL上安裝或升級新的內核版本
1、對於CentOS/RHEL系統,盡量使用yum方式或RPM包安裝/升級內核,需要注意的是紅帽的Red Hat linux服務需要訂閱。
2、使用安裝新內核而不是直接升級內核,安裝新內核不會覆蓋舊內核,而升級會導致新內核直接替換舊內核,可能會導致系統無法啟動,安裝也可以讓我們在升級後有回滾的選擇。
3、一般地,對於大多數Linux分發版,使用yum/dnf和分發版布官方的存儲庫來升級內核,這種方式只能升級到該分發版的存儲庫提供的最新版本,而不是Linux內核組織發布的最新內核。
4、如果想迅速並且安全地使用最新內核,對於CentOS/RHEL系統並不支持yum的方式直接安裝或升級。那麼此時我們可以使用ELRepo(第三方存儲庫)進行內核安裝升級。
5、下載新內核的源碼包進行編譯安裝,這種方式有助於我們更細致地學習內核底層知識,但在生產環境中不推薦編譯安裝。
6、盡量使用最新的Linux發行版,新的Liunx發行版包含該發行版維護的新內核,如果有必要,那麼請使用如yum upgrade或者yum update來更新你的系統。對於Ubuntu、Debian等發行版,使用apt-get update方式來更新。
㈡ 如何升級centos7內核並且編譯
、使用 elrepo rpm包升級
查看前系統內核版本 uname -r
1. 導入key
rpm --import
2. 安裝 elrepo yum源
rpm -Uvh
3. 安裝內核
yumelrepo源新版本內核直接yum安裝即
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot重啟再查看 uname -r
二、使用源碼編譯安裝升級
1 載內核源碼
載網址
wget xxx
2 解壓並進入源碼目錄
3 更新系統並安裝依賴軟體
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 前內核配置文件拷貝前目錄
本應該執行make menuconfig自定義內核配置配置文件.config; 直接使用原系統內核配置拷貝/boot目錄配置文件前目錄
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用前內核配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 編譯安裝
#make bzImage
#make moles
#make moles_install
#make install
7 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot重啟再查看 uname -r
-
㈢ 怎樣對CentOS安裝內核頭文件
樣對CentOS安裝內核頭文件
來源:黑雲一鍵重裝系統 發布時間:2016-03-02 18:33:25
如果用戶想在CentOS中安裝內核投文件,對於這樣的問題其實安裝方法也很簡單,不過用戶需要注意的是,在安裝之前應該先查看下系統當前的內核版本,如果和版本一樣可直接安裝,要是版本不一樣,那麼就需要下載相應的安裝包進行手動安裝,下面就介紹下具體的操作方法吧!
用戶可以使用uname -r來查看當前內核版本。
使用yum list | grep kernel-headers來查看當前yum倉庫中的kernel-headers的版本是否和內核版本一致。
如果一致,直接yum install kernel-headers
如果不同,則進行手動安裝,下載對應的包,如下載kernel-headers-3.10.0-327.el7.x86_64.rpm(http://pkgs.org/centos-7/centos-x86_64/kernel-headers-3.10.0-327.el7.x86_64.rpm.html)
然後進到文件所在目錄後在終端中執行 rpm -ivh kernel-headers-3.10.0-327.el7.x86_64.rpm
kernel-headers Download (RPM, TXZ):http://pkgs.org/download/kernel-headers
㈣ centos VM錯誤 linux/usr/src/kernels 目錄下沒有內核源碼 解決方法【親測成功】
如你有遇到如下錯誤,而無法打開Centos 上的VMware.
before you can run vmware several moles must be complied
kernel headers for version were not found if you
C header files matching your running kernel were not found. Refer to your distribution's documentation for installation instruction。
此法肯定有效。網卡說 yum groupinstall -y gcc kernel-devel 或者 ln s 的方法都是無用的。 此方法也能解決linux/usr/src/kernels 目錄下沒有內核源碼問題。
1.安裝gcc
yum -y install gcc
2.復制 centosISO鏡像(與本機系統版本一致) 至centos系統 圖形狀態下打開/掛載。找到內核相關文件,為方便,我直接輸出包名至/ker.txt
find ./ -name "ker*" > /ker.txt
然後安裝包。
yum install -y kernel-devel-3.10.0-1160.el7.x86_64.rpm
yum install -y kernel-tools-libs-3.10.0-1160.el7.x86_64.rpm
yum install -y kernel-3.10.0-1160.el7.x86_64.rpm
yum install -y kernel-abi-whitelists-3.10.0-1160.el7.noarch.rpm
yum install -y kernel-debug-devel-3.10.0-1160.el7.x86_64.rpm
yum install -y kernel-tools-3.10.0-1160.el7.x86_64.rpm
yum install -y kernel-headers-3.10.0-1160.el7.x86_64.rpm
打開虛擬機,問題解決。
㈤ CentOS 7 怎樣安裝或升級最新的內核
一、使用 elrepo 的rpm包升級
查看當前系統內核版本 uname -r
1. 導入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. 安裝 elrepo 的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3. 安裝內核
在yum的elrepo源中,有最新版本內核。直接yum安裝即可。
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 設置系統啟動順序
查看系統啟動項:
cat /boot/grub2/grub.cfg |grep menuentry
可以發現有最新版本的內核,此時可以設置最新版本內核為默認啟動:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此時,查看默認啟動的系統版本grub2-editenv list:
顯示為'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot,重啟之後再次查看 uname -r
二、使用源碼編譯安裝升級
1 下載內核源碼
下載網址為 https://www.kernel.org/
wget xxx
2 解壓並進入源碼目錄
3 更新系統並安裝依賴軟體
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 將當前內核配置文件拷貝到當前目錄
本來是應該執行make menuconfig來自定義內核配置的,生成配置文件.config; 但是可以直接使用原來系統的內核配置,也就是拷貝/boot目錄下的配置文件到當前目錄。
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用當前內核的配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 編譯安裝
#make bzImage
#make moles
#make moles_install
#make install
7 設置系統啟動順序
查看系統啟動項:
cat /boot/grub2/grub.cfg |grep menuentry
可以發現有最新版本的內核,此時可以設置最新版本內核為默認啟動:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此時,查看默認啟動的系統版本grub2-editenv list:
顯示為'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot,重啟之後再次查看 uname -r
㈥ centos 6 如何安裝內核源碼包
(1) http 安裝 centos 6.2
假設: 1> 本機有grub , 將 iso 中isolinux中的 boot.cat grub.conf isolinux.bin vmlinuz
boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32 拷貝到 本機的/boot中
2> 將centos 6.2的光碟復制到 http服務下例如 /var/www/html 下面,將光碟的iso也復制到這個目錄下,有時安裝過程可能需要iso中的東西,centos會自動從iso文件中尋找
安裝步驟:
1> 進入grub的命令行模式,然後
grub> root (hd0, 0 ) #選擇boot所在的分區作為根,根據自己的情況來定
grub> kernel vmlinuz
grub> initrd initrd.img
grub> boot #啟動
2> 選擇url安裝,配置ip神馬的就行了
(2) 修改源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
vim /etc/yum.repos.d/CentOS-Base.repo
1.[base]
2.name=CentOS-$releasever - Base
3.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 4.baseurl=http://run.hit.e.cn/centos/$releasever/os/$basearch/ 5.gpgcheck=1 6.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 7.
8.#released updates
9.[updates]
10.name=CentOS-$releasever - Updates
11.
12.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates 13.
14.baseurl=http://run.hit.e.cn/centos/$releasever/updates/$basearch/ 15.
16.gpgcheck=1 17.
18.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 19.
20.#additional packages that may be useful
21.
22.[extras]
23.
24.name=CentOS-$releasever - Extras
25.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras 26.
27.baseurl=http://run.hit.e.cn/centos/$releasever/extras/$basearch/ 28.
29.gpgcheck=1 30.
31.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 32.
33.#additional packages that extend functionality of existing packages
34.
35.[centosplus]
36.
37.name=CentOS-$releasever - Plus
38.
39.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus 40.
41.baseurl=http://run.hit.e.cn/centos/$releasever/centosplus/$basearch/ 42.
43.gpgcheck=1 44.
45.enabled=1 46.
47.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 48.
49.#contrib - packages by Centos Users
50.
51.[contrib]
52.
53.name=CentOS-$releasever - Contrib
54.
55.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib 56.baseurl=http://run.hit.e.cn/centos/$releasever/contrib/$basearch/ 57.
58.gpgcheck=1 59.
60.enabled=1 61.
62.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #yum clean all // 清除緩存
#yum update
#yum install xxx
下載源碼包:
wget http://vault.centos.org/6.2/updates/Source/SPackages/kernel-2.6.32-220.7.1.el6.src.rpm
rpm -ivh xx.rpm
cd rpmbuild/SPECS 此rpmbuild是安裝後在當前文件夾下的一個文件夾
rpmbuild -bp --target=`uname -m` kernel.spec 此rpmbuild是命令
之後 rpmbuild里有 BUILD,裡面就是源代碼了
yumdownloaer 的使用。
Ncurses 提供字元終端處理庫,包括面板和菜單。
yum install ncurses-devel
yum 中的幾個變數
$releasever,發行版的版本,從[main]部分的distroverpkg獲取,如果沒有,則根據RedHat-release包進行判斷。
$arch,cpu體系,如i686,athlon等
$basearch,cpu的基本體系組,如i686和athlon同屬i386,alpha和alphaev6同屬alpha。
對yum.conf設定完成,我們就可以好好體驗yum帶來的方便了。
開機自動啟動配置文件,一段時間不用都忘了 /etc/rc.local
本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文鏈接:http://www.linuxidc.com/Linux/2012-03/56876.htm
㈦ 如何在Ubuntu/CentOS上安裝Linux內核4.0
在Ubuntu 15.04上安裝Linux內核4.0
如果你正在使用Linux的發行版Ubuntu 15.04,你可以直接通過Ubuntu內核網站安裝。在你的Ubuntu15.04上安裝最新的Linux內核4.0,你需要在shell或終端中在root訪問許可權下運行以下命令。
在CentOS 7上安裝Linux內核4.0
我們可以用兩種簡單的方式在CentOS 7上安裝Linux內核4.0。
從Elrepo軟體倉庫安裝
從源代碼編譯安裝
我們首先用ElRepo安裝,這是最簡單的方式:
使用 Elrepo 安裝
1. 下載和安裝ELRepo
我們首先下載ELRepo的GPG密鑰並安裝relrepo-release安裝包。因為我們用的是CentOS 7,我們使用以下命令安裝elrepo-release-7.0-2.el7.elrepo.noarch.rpm。
注: 如果你啟用了secure boot,請查看這個網頁獲取更多信息。
添加 Elrepo 源
2. 升級Linux內核到4.0版本
現在,我們准備從ELRepo軟體倉庫安裝最新的穩定版內核4.0。安裝它我們需要在CentOS 7的shell或者終端中輸入以下命令。
# yum --enablerepo=elrepo-kernel install kernel-ml
從ELRepo安裝Linux內核4.0
上面的命令會自動安裝為CentOS 7構建的Linux內核4.0。
現在,下面的是另一種方式,通過編譯源代碼安裝最新的內核4.0。
從源代碼編譯安裝
1. 安裝依賴軟體
首先我們需要為編譯linux內核安裝依賴的軟體。要完成這些,我們需要在一個終端或者shell中運行以下命令。
# yum groupinstall "Development Tools"
# yum install gcc ncurses ncurses-devel
安裝內核依賴
然後,我們會升級我們的整個系統。
# yum update
2. 下載源代碼
現在我們通過wget命令從Linux內核的官方倉庫中下載最新發布的linux內核4.0的源代碼。你也可以使用你的瀏覽器直接從kernel.org網站下載內核。
# cd /tmp/
下載內核源碼
3. 解壓tar壓縮包
文件下載好後我們在/usr/src/文件夾下用以下命令解壓。
# tar -xf linux-4.0.tar.xz -C /usr/src/
# cd /usr/src/linux-4.0/
解壓內核tar壓縮包
4. 配置
配置Linux內核有兩種選擇的。我們可以創建一個新的自定義配置文件或者使用已有的配置文件來構建和安裝Linux內核。這都取決於你自己的需要。
配置新的內核
現在我們在shell或終端中運行make menuconfig命令來配置Linux內核。我們執行以下命令後會顯示一個包含所有菜單的彈出窗口。在這里我們可以選擇我們新的內核配置。如果你不熟悉這些菜單,那就敲擊ESC鍵兩次退出。
# make menuconfig
配置新內核
已有的配置
如果你想用已有的配置文件配置你最新的內核,那就輸入下面的命令。如果你對配置有任何調整,你可以選擇Y或者N,或者僅僅是按Enter鍵繼續。
# make oldconfig
5. 編譯Linux內核
下一步,我們會執行make命令來編譯內核4.0。取決於你的系統配置,編譯至少需要20-30分鍾。
註:如果編譯內核的時候出現bc command not found的錯誤,你可以用yum install bc命令安裝bc修復這個錯誤。
# make
Make 內核
6. 安裝Linux內核4.0
編譯完成後,我們終於要在你的Linux系統上安裝內核了。下面的命令會在/boot目錄下創建文件並且在Grub 菜單中新建一個內核條目。
# make moles_install install
7. 驗證內核
安裝完最新的內核4.0後我們希望能驗證它。做這些我們只需要在終端中輸入以下命令。如果所有都進展順利,我們會看到內核版本,例如4.0出現在輸出列表中。
# uname -r
結論
好了,我們成功地在我們的CentOS 7操作系統上安裝了最新的Linux內核版本4.0。通常並不需要升級linux內核,因為和之前版本運行良好的硬體可能並不適合新的版本。我們要確保它包括能使你的硬體正常工作的功能和配件。但大部分情況下,新的穩定版本內核能使你的硬體性能更好。
㈧ centos 7如何獲取完整內核源碼
1. 下載內核
內核官網獲得了(不讓加鏈接,搜索linux內核官網 )
tar.xz 是完整的內核包
pgp 是.tar.sign後綴的文件,用於校驗類似於MD5
patch 是補丁包
2. 解壓文件,現在一般採用 .tar.xz 的壓縮格式(壓縮率最高,但是壓縮時間較長)。
/usr/src 一般而言、我們製做linux內核的時候源碼一般放在這個路徑下,
可以使用 # tar -Jxvf linux-3.13.2.tar.xz -C /usr/src/ 把文件解壓到 /usr/src/ 中(在root用戶下才有效)
3. 如果是第一次編譯內核,並沒有上次的殘留文件可以可以跳過
# make mrproper
這個步驟
注意:make clean 刪除大多數的編譯生成文件, 但是會保留內核的配置文件.config, 還有足夠的編譯支持來建立擴展模塊
make mrproper 刪除所有的編譯生成文件, 還有內核配置文件, 再加上各種備份文件
make distclean mrproper刪除的文件, 加上編輯備份文件和一些補丁文件。
4. 接下來是 make config 。
具體參照 《make config 的幾種類型》
一般採用 # make menuconfig 的方式
此處需要兩個包,選擇最簡單的yum安裝
# yum -y install gcc 和
# yum install ncurses ncurses-devel。
具體選項的作用參考 《Linux-3.10-x86_64 內核配置選項簡介 》
對新的內核功能選擇,並生成一個 .config 的文件
5. 編譯內核
# make 和 # make moles_install (此處命令必須進入/usr/src/linux-x-x-x/才有效,否則會報錯)
注意:2.6內核作了優化,不必顯示的執行make dep 和make bzImage,只需要直接執行
make 就行,系統會自動完成make dep 和 make bzImage 所做的工作。
6. 安裝內核
# make install
7. 修改默認啟動的內核(把游標處的default值改成0,就為默認啟動,編譯成功後默認為1)
# vim /boot/grub/grub.conf
用 cat /boot/grub/grub.conf 驗證並測試
# cat /boot/grub/grub.conf
看是否添加成功
8. 重啟機器,查看效果
默認的內核就是剛才編譯成功的。。。