我apt
在从 Ubuntu 存储库下载软件包时使用。如何检查构建包时使用的内核版本?
什么时候它很重要(构建服务器的内核版本与安装包的计算机的内核版本)?
答案1
这几乎从来不重要。如果您确实担心构建系统,则应该在考虑内核之前考虑编译器、库和标头版本。
代码本身是否“记住”内核版本取决于代码本身。有些软件包会存储一个表示编译器版本的字符串,因为这更为重要。事实上,内核本身会这样做(请参阅 的内容/proc/version
)。
答案2
我不会添加任何关于了解内核版本的重要性或不知道的内容,因为上面的评论和答案已得到充分解释。
但作为对你在上面的回答中的评论的回答
图形驱动程序(内核构建与运行环境)怎么样?
您必须关心的是gcc
编译内核的版本,因此您必须使用与图形驱动程序相同的版本(特别是 Nvidia)。
你需要cat
该/proc/version
文件。该文件标识当前正在运行的内核版本以及gcc
用于构建内核的版本。
$ cat /proc/version
Linux version 3.2.0-23-generic (buildd@crested) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu4) ) #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012
作为示例,开始使用 gcc-4.6 构建 NVIDIA 模块:
$ export CC=/usr/bin/gcc-4.6
$ bash NVIDIA-Linux-***.run