Linux安裝合適內(nèi)核頭文件的方法
Linux安裝合適內(nèi)核頭文件的方法
Linux系統(tǒng)操作中,安裝設(shè)備驅(qū)動(dòng)時(shí)有時(shí)需要安裝內(nèi)核頭文件,而很多朋友并不知道什么是內(nèi)核頭文件,自然也不知道要如何安裝,下面學(xué)習(xí)啦小編就給大家介紹下Linux安裝內(nèi)核頭文件的方法。
提問(wèn):我在安裝一個(gè)設(shè)備驅(qū)動(dòng)前先要安裝內(nèi)核頭文件。怎樣安裝合適的內(nèi)核頭文件?
當(dāng)你在編譯一個(gè)設(shè)備驅(qū)動(dòng)模塊時(shí),你需要在系統(tǒng)中安裝內(nèi)核頭文件。內(nèi)核頭文件同樣在你編譯與內(nèi)核直接鏈接的用戶空間程序時(shí)需要。當(dāng)你在這些情況下安裝內(nèi)核頭文件時(shí),你必須確保內(nèi)核頭文件精確地與你當(dāng)前內(nèi)核版本匹配(比如:3.13.0-24-generic)。
如果你的內(nèi)核是發(fā)行版自帶的內(nèi)核版本,或者使用默認(rèn)的包管理器的基礎(chǔ)倉(cāng)庫(kù)升級(jí)的(比如:apt-ger、aptitude或者yum),你也可以使用包管理器來(lái)安裝內(nèi)核頭文件。另一方面,如果下載的是kernel源碼并且手動(dòng)編譯的,你可以使用make命令來(lái)安裝匹配的內(nèi)核頭文件。
現(xiàn)在我們假設(shè)你的內(nèi)核是發(fā)行版自帶的,讓我們看下該如何安裝匹配的頭文件。
在 Debian、Ubuntu 或者 Linux Mint 上安裝內(nèi)核頭文件
假設(shè)你沒(méi)有手動(dòng)編譯內(nèi)核,你可以使用apt-get命令來(lái)安裝匹配的內(nèi)核頭文件。
首先,使用dpkg-query命令檢查是否有可用的內(nèi)核頭文件。
$ dpkg-query -s linux-headers-$(uname -r)
dpkg-query: package ‘linux-headers-3.11.0-26-generic’ is not installed and no information is available
接著使用下面的命令安裝匹配的內(nèi)核頭文件。
$ sudo apt-get install linux-headers-$(uname -r)
驗(yàn)證頭文件是否成功安裝。
$ dpkg-query -s linux-headers-$(uname -r)
Package: linux-headers-3.11.0-26-generic
Status: install ok installed
Debian、Ubuntu、Linux Mint默認(rèn)頭文件在/usr/src下。
在 Fedora、CentOS 或者 RHEL 上安裝內(nèi)核頭文件
假設(shè)你沒(méi)有手動(dòng)編譯內(nèi)核,你可以使用yum命令來(lái)安裝匹配的內(nèi)核頭文件。
首先,用下面的命令檢查系統(tǒng)是否已經(jīng)安裝了頭文件。如果下面的命令沒(méi)有任何輸出,這就意味著還沒(méi)有頭文件。
$ rpm -qa | grep kernel-headers-$(uname -r)
接著用yum命令安裝頭文件。這個(gè)命令會(huì)自動(dòng)找出合適的頭文件并安裝。
$ sudo yum install kernel-headers
驗(yàn)證包安裝的狀態(tài)。
$ rpm -qa | grep kernel-headers-$(uname -r)
kernel-headers-3.10.0-123.9.3.el7.x86_64
Fedora、CentOS 或者 RHEL上默認(rèn)內(nèi)核頭文件的位置是/usr/include/linux。
上面就是Linux安裝內(nèi)核頭文件的方法介紹了,需要注意的是,在安裝內(nèi)核頭文件的時(shí)候使用yum命令可以自動(dòng)找到合適的頭文件安裝,避免不必要的麻煩。