Linux如何查看内核版本并安装内核头文件linux-headers-generic

Posted SpaceVision

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux如何查看内核版本并安装内核头文件linux-headers-generic相关的知识,希望对你有一定的参考价值。


linux内核的头文件一般是这样的格式:linux-headers-5.13.0-01-generic,当然根据你的查询方式不同,写法各异。

一般的检查指令

下面我列举一些快速查询linux的内核版本信息的指令

~$ uname -srm

Linux 5.13.0-35-generic x86_64

~$ uname -r

5.13.0-35-generic

~$ echo linux-headers-$(uname -r)

linux-headers-5.13.0-35-generic


~$ hostnamectl

   Static hostname: FX506HCB

         Icon name: computer-laptop

           Chassis: laptop

        Machine ID: a1e5f77b6e384b5c934bfb1d5bfedfaa

           Boot ID: acd777ad7ef940a5bc02a0a09d1df9e9

  Operating System: Ubuntu 20.04.3 LTS

            Kernel: Linux 5.13.0-35-generic

      Architecture: x86-64

~$ hostnamectl | grep -i kernel

            Kernel: Linux 5.13.0-35-generic

~$ cat /proc/version

Linux version 5.13.0-35-generic (buildd@ubuntu) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #40~20.04.1-Ubuntu SMP Mon Mar 7 09:18:32 UTC 2022

检查是否安装

~$ dpkg-query -s linux-headers-$(uname -r)

Package: linux-headers-5.13.0-35-generic

Status: install ok installed

Priority: optional

Section: devel

Installed-Size: 23974

Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>

Architecture: amd64

Source: linux-hwe-5.13

Version: 5.13.0-35.40~20.04.1

Provides: linux-headers, linux-headers-3.0

Depends: linux-hwe-5.13-headers-5.13.0-35, libc6 (>= 2.22), libelf1 (>= 0.142), libssl1.1 (>= 1.1.0), zlib1g (>= 1:1.2.3.3)

Description: Linux kernel headers for version 5.13.0 on 64 bit x86 SMP

 This package provides kernel header files for version 5.13.0 on

 64 bit x86 SMP. .

 This is for sites that want the latest kernel headers.  Please read

 /usr/share/doc/linux-headers-5.13.0-35/debian.README.gz for details.


注意到dpkg-query不能查通配符,如下,

~$ dpkg-query -s linux-headers-*

dpkg-query: 错误: --status 需要一个有效的软件包名。而 linux-headers-* 不是: 在说明符 linux-headers-* 中包含非法软件包名: 不允许出现字符 ‘*’ (只能使用字母、数字和 ‘-+._’)

~$ dpkg-query -s linux-headers-generic

dpkg-query: 系统没有安装软件包 linux-headers-generic,因而没有相关的信息

使用 dpkg --info (= dpkg-deb --info) 来检测打包好的文件,

安装内核头文件

~$ sudo apt-get install build-essential  //install build-essential(optional)

~$ sudo apt-get update                  //install linux-headers

~$ sudo apt-get install linux-headers-$(uname -r)

或者,

~$ sudo apt-get update && sudo apt-get install build-essential linux-headers-$(uname -r)

是否要升级安装

值得说明的是,我发现

sudo apt install linux-headers-generic

sudo apt-get install linux-headers-$(uname -r)

会安装不同版本的头文件,如下,

~$ sudo apt install linux-headers-generic

... 

将会同时安装下列软件:

  linux-headers-5.4.0-104 linux-headers-5.4.0-104-generic

下列【新】软件包将被安装:

  linux-headers-5.4.0-104 linux-headers-5.4.0-104-generic linux-headers-generic

...

您希望继续执行吗? [Y/n] n

~$ sudo apt install linux-headers-$(uname -r)

... 

linux-headers-5.13.0-35-generic 已经是最新版 (5.13.0-35.40~20.04.1)。

linux-headers-5.13.0-35-generic 已设置为手动安装。

升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。

 这两个指令的不同之处在于,下面的指令


sudo apt install linux-headers-generic
sudo apt install --reinstall linux-headers-generic


会自动安装并升级你的内核头文件,而


apt install linux-headers-$(uname -r)


这个指令不会升级你的头文件。

本文结束


以上是关于Linux如何查看内核版本并安装内核头文件linux-headers-generic的主要内容,如果未能解决你的问题,请参考以下文章

[第一节] WSL2 内核编译/安装内核头文件/驱动调试

[第一节] WSL2 内核编译/安装内核头文件/驱动调试

[第一节] WSL2 内核编译/安装内核头文件/驱动调试

如何查看linux版本

如何在linux中查询内核版本的路径??请高手们帮帮忙!!

如何修改Ubuntu内核版本?