适用场景:系统管理员、开发人员针对 Ubuntu 22.04 LTS(Jammy Jellyfish)与 24.04 LTS(Noble Numbat)的日常运维
特别说明:Ubuntu 无 24.02 版本,推测为笔误,以下基于官方 LTS 版本 24.04 展开对比说明
版本核心差异总览
|-------------|-----------------------|----------------------------------|
| 维度 | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
| 内核版本 | 5.15(默认)/ 6.5(HWE 可选) | 6.8(默认,支持 bcachefs 文件系统) |
| 关键特性 | 稳定兼容主流硬件 | 帧指针默认启用、.NET 8 原生支持、Rust 1.75 集成 |
| Python 环境 | 3.10(无全局 pip 限制) | 3.12(默认启用externally-managed保护) |
| Docker 默认版本 | 20.10.x | 27.3.1(安装流程兼容但版本提升) |
| 硬件支持 | 最高支持 Intel 13 代 CPU | 原生支持 Intel 14 代 CPU 及新 GPU |
第一章 硬件配置查看
1.1 系统概览
|-----------|-----------------------------------------|----------------|---------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 内核与系统架构 | uname -a | uname -a | 24.04 显示 6.8.x 内核,支持嵌套 KVM 与系统调用优化 |
| 系统版本与发行信息 | lsb_release -a && cat /etc/os-release | lsb_release -a | 24.04 CODENAME 为noble,支持 12 年 Ubuntu Pro 服务 |
1.2 核心硬件组件
1.2.1 CPU 信息
|------------------|------------------------------------|---------------------------------|-------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 简洁显示 CPU 核心 / 线程 | lscpu | lscpu | 24.04 默认启用帧指针,可通过perf精准剖析性能 |
| 详细 CPU 参数 | cat /proc/cpuinfo | grep "model name" /proc/cpuinfo | 24.04 更好支持 Intel Raptor Lake-S Refresh 平台 |
| 物理核心数 | `grep "physical id" /proc/cpuinfo | sort | uniq |
1.2.2 1.2.2内存信息
|------------|-------------------|-------------------------------|------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 内存使用(人类可读) | free -h | free -h | 显示总内存、已用、缓存、交换分区 |
| 详细内存参数 | cat /proc/meminfo | grep "MemTotal" /proc/meminfo | 单位为 KB,可换算为 GB(÷1024²) |
| 虚拟内存统计 | vmstat | vmstat 1 # | 每秒输出一次内存/IO统计 |
1.2.3进程查看
|--------|----------------------|-------------------------------------------------|----------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 实时进程监控 | top - top -p <PID> | top -d 5 top -p 1234 top -u username | # 5秒刷新一次 # 监控特定PID进程 # 监控特定用户的进程 |
| 增强版top | htop | htop | 24.04默认未安装,需手动安装 |
| 进程树可视化 | pstree | pstree -p | 显示进程树及PID |
| 进程状态 | ps | ps aux --sort=-%mem | head ps -o ppid=<PPID> | # 按内存使用排序 查找父进程ID |
1.2.4 存储设备(新增文件系统支持)
|--------------|---------------------------|----------------|-----------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 磁盘分区与空间 | df -h | df -h /home | 24.04 可识别 bcachefs 分区,需手动挂载 |
| 所有磁盘设备(含未挂载) | lsblk | lsblk /dev/sda | 两版本一致 |
| 硬盘健康信息 | sudo smartctl -a /dev/sda | - | 24.04 对 NVMe SSD 的健康数据支持更全面 |
1.2.5 其他硬件(显卡、网络、USB 等)
|-----------|--------------|-------------------|----------------------------------------------------------------|
| 硬件类型 | 命令 | 示例 | 补充说明 |
| 显卡信息 | `lspci | grep -i vga` | - |
| 网络接口 | ip addr show | ip addr show eth0 | 显示 IP、MAC 地址 |
| USB 设备 | lsusb | - | 显示外接 USB 设备(如 U 盘、鼠标) |
| 硬件温度 / 风扇 | sensors | - | 需先安装:sudo apt install lm-sensors -y,并执行 sudo sensors-detect 配置 |
| 笔记本电池 | acpi -V | - | 显示电量、充电状态、续航预估 |
第二章 已安装软件包与版本查看
2.1 系统级包管理(无核心差异)
2.1.1 DEB 包
|----------|----------------------|---------------|---|--------------|
| 功能 | 命令 | 示例 || 版本差异说明 |
| 列出所有已安装包 | apt list --installed | `apt list --installed || grep nginx` |
| 查看包详细信息 | `dpkg -s | dpkg -s curl || 两版本一致 |
| 查找包安装路径 | `dpkg -L | dpkg -L nginx || 两版本一致 |
| 查找包安装路径 | `dpkg -L | dpkg -L nginx | 显示包所有文件的系统路径(如配置文件、可执行文件) ||
| | | | | |
2.1.2 Snap 包
|-----------------|----------------------------------|----------------------------|--------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出已安装 Snap | snap list | - | 含版本、发布者、安装日期 |
| 查看 Snap 详情(含依赖) | snap info snap info snap-store` | 显示 base 依赖、安装路径(/snap/>/) | |
2.1.3 Flatpak 包
|---------------|-----------------|------------------------------|-------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出已安装 Flatpak | flatpak list | - | 含应用 ID、版本、运行时 |
| 查看 Flatpak 详情 | flatpak info > | flatpak info org.gnome.gedit | 显示安装路径(/var/lib/flatpak/app/) |
2.2 语言级包管理
2.2.1 Python 包(pip)
|------------|------------------------------------------------------|-----------------------------------------------|-------------------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 列出全局 pip 包 | pip3 list | - | 22.04 直接可用;24.04 需加--break-system-packages(不推荐)或用虚拟环境 |
| 查看包详情(含路径) | pip3 show pip3 show requests` | 24.04 Location 默认指向/usr/local/lib/python3.12/ | |
| 升级 pip | sudo apt install --only-upgrade python3-pip | - | 24.04 推荐此方法,避免externally-managed错误 |
| 创建虚拟环境(推荐) | python3 -m venv myenv && source myenv/bin/activate | - | 两版本通用,24.04 默认 Python 3.12 |
| 24.04专属 | python3.12 --version pip3 list --outdated | | 默认Python版本升级 查看可升级的Python包 |
2.2.2 Node.js 包(npm)
|--------------|-----------------------|--------------------------|---------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出全局 npm 包 | npm list -g --depth=0 | - | --depth=0 隐藏子依赖,更简洁 |
| 列出项目本地 npm 包 | npm list --depth=0 | - | 需在项目根目录执行(含 package.json) |
| 查看包版本 | npm view 名> version | npm view express version | 显示最新版及历史版本 |
2.2.3 新增 .NET/Rust 支持(24.04 专属)
|------------|------------------|----|------------------------------|
| 功能 | 命令 | 示例 | 适用版本 |
| 查看 .NET 版本 | dotnet --version | - | 24.04 默认支持.NET 8,22.04 需手动安装 |
| 查看 Rust 版本 | rustc --version | - | 24.04 默认 1.75,22.04 需手动安装 |
第三章 服务与端口监控(防火墙底层优化)
3.1 系统服务管理
3.1.1 Systemd 服务(主流)
|----------|-----------------------------------------------------|----------------------------|------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出所有服务状态 | systemctl list-units --type=service --all | - | + 运行、- 停止、? 未安装 |
| 仅显示运行中服务 | systemctl list-units --type=service --state=running | - | 快速排查活跃服务 |
| 查看单个服务状态 | systemctl status <服务名> | systemctl status ssh | 含 PID、日志片段、自启状态 |
| 检查服务自启状态 | systemctl is-enabled 名> | systemctl is-enabled nginx | 输出 enabled(自启)/disabled(不自启) |
| I/O 统计 | iostat | iostat -x 1 | # 显示扩展I/O统计,每秒刷新 |
3.1.2 传统 init.d 服务(兼容旧系统)
|----------|---------------------|-----------------------------|---------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出传统服务 | ls -la /etc/init.d/ | - | 显示所有 init.d 管理的服务脚本 |
| 查看传统服务状态 | `sudo service | sudo service apache2 status | 部分新服务可能不支持此方式 |
3.2端口与网络监控
3.2.1 监听端口查看
|-------------|---------------------|------------------|------------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 现代系统推荐(无依赖) | sudo ss -tulpn | - | tTCP、uUDP、l监听、p进程、n数字端口 |
| 传统方式(需安装) | sudo netstat -tulpn | - | 需先安装:sudo apt install net-tools -y |
| 查看特定端口占用 | sudo lsof -i :> | sudo lsof -i :80 | 显示占用端口的进程 PID 和名称 |
3.2.2 防火墙与网络规则
|----------------|--------------------------------------------|----|------------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 查看 UFW 防火墙状态 | sudo ufw status verbose sudo ufw app list | - | 两版本一致,24.04 底层默认映射 nftables 24.04 查看预定义应用防火墙规则 |
| 查看 nftables 规则 | sudo nft list ruleset sudo nft list tables | - | 24.04 推荐直接使用,替代 iptables 24.04 查看预定义应用防火墙规则 |
| 查看 iptables 规则 | sudo iptables -L -n -v | - | 24.04 为兼容模式,实际转译 nftables 规则 |
3.2.3 服务日志查看
|----------|-----------------------|----------------------|-------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看所有服务日志 | journalctl -xe | - | 按时间倒序,显示最新日志 |
| 查看单个服务日志 | journalctl -u <服务名> | journalctl -u nginx | 仅显示指定服务的日志 |
| 实时跟踪服务日志 | journalctl -u -f | journalctl -u ssh -f | 类似 "tail -f",实时刷新 |
第四章 容器列表与运维
4.1 Docker 容器
|------------------|-------------------------------|----|----------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 安装 Docker | sudo apt install docker-ce | - | 22.04 默认 20.10.x,24.04 默认 27.3.1 |
| 查看运行中容器 | docker ps | - | 两版本语法一致,24.04 支持更多统计字段 |
| 免 sudo 使用 Docker | sudo usermod -aG docker $USER | - | 两版本一致,需重启生效 |
| Docker磁盘使用 | docker system df docker stats | | # 查看Docker磁盘使用 # 实时容器资源监控 |
4.2 LXC/LXD 容器
|-------------|--------------------|----|-----------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看所有 LXC 容器 | lxc list | - | 含状态、IP、架构 |
| 仅查看运行中容器 | lxc list --running | - | 过滤停止状态的容器 |
4.3 Podman 容器(无守护进程)
|-----------------|--------------|----|---------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看运行中 Podman 容器 | podman ps | - | 语法与 Docker 兼容 |
| 查看所有 Podman 容器 | podman ps -a | - | 含停止容器 |
4.4 Kubernetes(K8s)容器
|--------------|------------------------|---------------------------------|------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看当前命名空间 Pod | kubectl get pods | - | Pod 是 K8s 的最小部署单元(含容器) |
| 查看所有命名空间 Pod | kubectl get pods -A | - | -A = all namespaces |
| 查看 Pod 详情 | `kubectl describe pod | kubectl describe pod my-app-pod | 含容器日志、挂载卷、事件 |
第五章 软件包依赖关系查询(修正命令截断)
5.1 DEB 包依赖
|----------|---------------------------|--------------------------|--------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 查看未安装包依赖 | apt-cache depends <包名> | apt-cache depends nginx | 24.04 依赖版本要求更高(如 libc6 ≥ 2.39) |
| 查看已安装包依赖 | `dpkg -s 名 > | grep -A 10 "Depends:"` | `dpkg -s curl |
| 查看反向依赖 | apt-cache rdepends <包名> | apt-cache rdepends libc6 | 两版本一致 |
| 检查依赖冲突 | sudo apt check | - | 24.04 检测速度更快,支持 bcachefs 依赖校验 |
第六章系统诊断工具
系统诊断工具(建议新增独立章节)
性能分析
perf top # 实时性能热点分析
strace -p <PID> # 追踪进程系统调用
日志管理
journalctl -f # 实时查看系统日志
journalctl --since "2025-12-01" --until "2025-12-02" # 时间范围查询
硬件检测
smartctl -a /dev/sda # 硬盘健康检测
inxi -Fx # 系统硬件综合信息
第七章 关键版本适配建议
- 硬件选择 :
- 旧设备(Intel 12 代及以下 CPU):优先 Ubuntu 22.04,兼容性更稳定
- 新设备(Intel 13/14 代 CPU、NVIDIA H100 GPU):必须用 Ubuntu 24.04,获取硬件支持
- Python 开发 :
- 22.04:可直接全局安装包,适合快速测试
- 24.04:强制使用虚拟环境或apt管理 Python 包,避免环境混乱
- 容器运维 :
- 24.04 的 Docker 27 + 支持容器快照、增量镜像,推荐生产环境升级
- K8s 集群:24.04 兼容 1.29 + 版本,204 最高兼容 1.26+
- 存储优化 :
- 新部署场景:24.04 可尝试 bcachefs 文件系统,提升读写性能
- 数据迁移:从 204 到 24.04 需注意 Python 虚拟环境重建
