当前位置: 首页 > news >正文

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中如何安装特定的gcc版本
  • Ubuntu 20.04 源码编译Paddle2.2.2
  • Ubuntu20.04源码编译PaddleOCR2.4
  • OpenCV导入时报错 ImportError: numpy.core.multiarray failed to import
  • OpenVINO2022.1+open_model_zoo例程的编译与使用
  • OpenCV cv::plugin::impl::DynamicLib::libraryLoad load ..opencv_core_parallel_tbb45 =>FAILED
  • OpenVINO之text_detection_demo
  • Paddle在windows10+vs2019上的源码编译(失败)
  • Tesseract-OCR试运行
  • Tesseract-OCR在Windows10(VS2019+vcpkg)平台上的编译与使用
  • Tesseract-OCR:在Windows10(VS2019+SW)平台上的编译与使用
  • Tesseract-OCR在Ubuntu20.04平台上使用
  • ROS2 Error: Could not find a package configuration file provided by “turtlebot3_msgs“
  • ROS2 + colcon build 常见的一些报错
  • ROS2进阶:安装与初体验(附choco介绍)
  • Angular Elements 及其运作原理
  • Angularjs之国际化
  • CAP 一致性协议及应用解析
  • gops —— Go 程序诊断分析工具
  • JS实现简单的MVC模式开发小游戏
  • KMP算法及优化
  • leetcode讲解--894. All Possible Full Binary Trees
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • ReactNative开发常用的三方模块
  • Ruby 2.x 源代码分析:扩展 概述
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 世界上最简单的无等待算法(getAndIncrement)
  • 微信小程序实战练习(仿五洲到家微信版)
  • 无服务器化是企业 IT 架构的未来吗?
  • 怎么将电脑中的声音录制成WAV格式
  • 自制字幕遮挡器
  • 《天龙八部3D》Unity技术方案揭秘
  • 阿里云ACE认证之理解CDN技术
  • 带你开发类似Pokemon Go的AR游戏
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • "无招胜有招"nbsp;史上最全的互…
  • #162 (Div. 2)
  • (175)FPGA门控时钟技术
  • (31)对象的克隆
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (南京观海微电子)——COF介绍
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)RocketMQ初步认识
  • ****Linux下Mysql的安装和配置
  • *p++,*(p++),*++p,(*p)++区别?
  • .“空心村”成因分析及解决对策122344
  • .net 7 上传文件踩坑
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core 2.1路线图
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .net打印*三角形
  • .net经典笔试题
  • .NET中使用Protobuffer 实现序列化和反序列化