linux headers,Linux修改时间
大家好,感谢邀请,今天来为大家分享一下linux headers的问题,以及和Linux修改时间的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
linux kernel headers问题
为什么非要找 i386?
你先看看你自己的内核具体的架构,一般来说,现在的计算机全都用 i686的。
i386的内核是不能支持一个很关键的功能的,没有这个功能计算机 CPU性能下跌 50%。
你应该安装没有架构名字的那个包,那个包应该是一个 meta包,他会帮你挂到你需要的那个架构包的名字上,千万不要自己去随便选择架构不同的包。这可能会导致驱动全都出现问题!
PS:为社么不用 virtualbox?vmware貌似不打补丁,很多系统装不上的。virtualbox很多系统的 OSE版本都已经放到软件库里面了,直接安装不需要再装 kernel header了。
!!!还有!!不要去网上找软件包!!要用系统里面的在线软件包系统里面选择安装!!!
linux-headers就是内核
完全没看懂楼主要什么。
Linux-headers是 Linux的开发头文件,应该位于/usr/include/linux里面。不过有的系统习惯放/usr/src里面一分(这种情况很少,因为正规的地方是/lib/modules/<内核版本>/的某个目录,印象里是他的 build里),因为有的软件去这里寻找当前内核的源代码来调用当前源代码的 header进行编译。/usr/include里面的 Linux内核头文件,是专门编译 libc用的。不能保证内核模块的编译要求。
真正的 Linux不可能给这个名字。/usr/src里面习惯是放完整的 Linux源代码。但具体名字,要看系统的定义了,有的叫 linux-sources、kernel-source什么的。有的可能是改进版的名字。
如何在Linux上安装内核头文件
当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件。内核头文件同样在你编译与内核直接链接的用户空间程序时需要。当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如:3.13.0-24-generic)。
如果你的内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),你也可以使用包管理器来安装内核头文件。另一方面,如果下载的是kernel源码并且手动编译的,你可以使用make命令来安装匹配的内核头文件。
现在我们假设你的内核是发行版自带的,让我们看下该如何安装匹配的头文件。
在 Debian、Ubuntu或者 Linux Mint上安装内核头文件
假设你没有手动编译内核,你可以使用apt-get命令来安装匹配的内核头文件。
首先,使用dpkg-query命令检查是否有可用的内核头文件。
$ 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
接着使用下面的命令安装匹配的内核头文件。
$ sudo apt-get install linux-headers-$(uname-r)
验证头文件是否成功安装。
$ dpkg-query-s linux-headers-$(uname-r)
Package: linux-headers-3.11.0-26-generic
Status: install ok installed
Debian、Ubuntu、Linux Mint默认头文件在/usr/src下。
在 Fedora、CentOS或者 RHEL上安装内核头文件
假设你没有手动编译内核,你可以使用yum命令来安装匹配的内核头文件。
首先,用下面的命令检查系统是否已经安装了头文件。如果下面的命令没有任何输出,这就意味着还没有头文件。
$ rpm-qa| grep kernel-headers-$(uname-r)
接着用yum命令安装头文件。这个命令会自动找出合适的头文件并安装。
$ sudo yum install kernel-headers
验证包安装的状态。
$ rpm-qa| grep kernel-headers-$(uname-r)