Linux内核环境,以Ubuntu为例

1. 系统基础组件

1
2
3
zci@GEM:~$ apt list --installed | grep linux-base

linux-base/noble-updates,now 4.5ubuntu9+24.04.1 all [已安装,自动]

一个元包(meta-package),用于确保系统中安装了基本的 Linux 工具和库。它通常包含与 Linux 系统基础功能相关的依赖项(如 init 脚本、基础工具等)。该包本身不提供具体功能,而是通过依赖关系拉入其他必要的软件包。

2. 内核镜像

1
2
3
4
5
zci@GEM:~$ apt list --installed | grep linux-image

linux-image-6.11.0-29-generic/noble-updates,noble-security,now 6.11.0-29.29~24.04.1 amd64 [已安装,自动]
linux-image-6.14.0-24-generic/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]
linux-image-generic-hwe-24.04/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]
  • noble: Ubuntu 24.04 的代号。
  • linux-image-6.11.0-29-generic: 通用内核(generic)版本,一个较旧的内核版本(6.11),可能作为备用内核保留。
  • linux-image-6.14.0-24-generic: 更新的通用内核版本,通过 apt upgrade 或安全更新安装,当前系统正在使用的主内核。通常,系统会保留多个内核版本以防止升级失败时回滚。
  • linux-image-generic-hwe-24.04: Ubuntu 的长期支持(LTS)版本中提供的较新内核,用于支持更新的硬件,这是一个元包,由其他包(如 linux-generic 或 linux-image)自动拉入。

3. 内核头文件

1
2
3
4
5
**zci@GEM:~$ apt list --installed | grep linux-headers

linux-headers-6.11.0-29-generic/noble-updates,noble-security,now 6.11.0-29.29~24.04.1 amd64 [已安装,自动]
linux-headers-6.14.0-24-generic/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]
linux-headers-generic-hwe-24.04/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]

编译内核模块(如驱动程序)所需的头文件和 Makefile,与内核经镜像对应,编译内核模块时,需要使用与当前内核匹配的头文件。

4. 硬件支持

1
2
3
linux-headers-generic-hwe-24.04
├── linux-hwe-6.14-headers-6.14.0-24  ← 当前 HWE 内核头文件(6.14)
└── linux-hwe-6.11-headers-6.11.0-29  ← 旧版本 HWE 内核头文件(6.11)
1
2
3
linux-generic-hwe-24.04/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装]   
├── linux-image-generic-hwe-24.04/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]  
└── linux-firmware/noble-updates,noble-security,now 20240318.git3b128b60-0ubuntu2.14 amd64 [已安装,自动]

linux-generic-hwe-24.04: 硬件支持的战略指挥官(决定是否启用HWE)。
linux-image-generic-hwe-24.04: 内核版本管理员(提供具体内核)。
linux-headers-generic-hwe-24.04: 编译硬件相关模块的头文件。
linux-firmware: 核心固件包,提供各种硬件设备(如显卡、网卡、Wi-Fi 适配器等)所需的二进制固件文件,存储在 /lib/firmware 目录。确保系统在安装时支持尽可能多的硬件设备,无需手动安装驱动。

5. 内核工具

1
2
3
4
5
linux-tools-common/noble-updates,noble-security,now 6.8.0-64.67 all [已安装,自动]
linux-tools-6.11.0-29-generic/noble-updates,noble-security,now 6.11.0-29.29~24.04.1 amd64 [已安装,自动]
linux-tools-6.14.0-24-generic/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]
linux-hwe-6.11-tools-6.11.0-29/noble-updates,noble-security,now 6.11.0-29.29~24.04.1 amd64 [已安装,自动]
linux-hwe-6.14-tools-6.14.0-24/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]

提供与特定内核版本配套的用户空间工具,用于系统性能分析(如 perf)、硬件调试(如 turbostat)、内核功能配置(如 cpupower)等等,包含的关键工具:

工具 用途
perf 性能分析器
usbip USB设备共享
cpupower CPU频率控制
x86_energy_perf_policy 能效策略
bpftool eBPF管理
turbostat CPU状态监控

内核中的文件系统结构:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
zci@GEM:~$ tree /usr/lib/linux-tools -L 2
/usr/lib/linux-tools
├── 6.11.0-29-generic   # 6.11内核专用工具,软连到/usr/lib/linux-hwe-6.11-tools-6.11.0-29
│   ├── acpidbg
│   ├── bpftool
│   ├── cpupower
│   ├── lib
│   ├── libperf-jvmti.so
│   ├── perf
│   ├── rtla
│   ├── turbostat
│   ├── usbip
│   ├── usbipd
│   └── x86_energy_perf_policy
└── 6.14.0-24-generic   # 6.14内核专用工具, 软连到/usr/lib/linux-hwe-6.14-tools-6.14.0-24

6. 内核的用户空间接口层

1
linux-libc-dev/noble-updates,noble-security,now 6.8.0-64.67 amd64 [已安装,自动]

包含/usr/include/linux/下的头文件,用于用户空间程序(特别是C库)与内核交互,是编译任何依赖内核特性的程序的基础。
关键作用:
✅ 系统调用定义:提供 syscalls.h 等系统调用接口声明。
✅ 内核数据结构:包含 socket.h, input.h 等内核数据结构定义。

7. 内核模块

1
2
3
4
5
linux-modules-6.11.0-29-generic/noble-updates,noble-security,now 6.11.0-29.29~24.04.1 amd64 [已安装,自动]
linux-modules-6.14.0-24-generic/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]

linux-modules-extra-6.11.0-29-generic/noble-updates,noble-security,now 6.11.0-29.29~24.04.1 amd64 [已安装,自动]
linux-modules-extra-6.14.0-24-generic/noble-updates,noble-security,now 6.14.0-24.24~24.04.3 amd64 [已安装,自动]

linux-modules-*: 包含基础的内核模块,例如网络驱动、存储驱动、USB 支持等。
linux-modules-extra: 包含额外的内核模块(如专有驱动、虚拟化支持、硬件扩展模块等),如NVIDIA 显卡驱动、AMDGPU 驱动、VirtualBox 支持模块。

8. 音频支持

1
linux-sound-base/noble,now 1.0.25+dfsg-0ubuntu7 all [已安装,自动]

提供音频的内核模块、驱动、用户空间工具等等。

9. 系统管理工具

1
util-linux/noble-updates,now 2.39.3-9ubuntu6.3 amd64 [已安装,自动]

Linux 系统的核心工具包,提供磁盘管理、文件系统操作等基础功能,如 mount、fdisk、systemd 等。

comments powered by Disqus