本文是 Linux 软件包管理器与 ping 命令的学习笔记,主要涵盖 yum / apt 两大包管理器的核心概念、安装流程、常用命令,以及 ping 网络诊断工具的使用方法。内容面向 Linux 初学者和备考者,帮助快速掌握软件安装与网络连通性排查的常见操作与易错点。
1. 软件包管理器
1-1 什么是软件包
- 在 Linux 下安装软件,原始方式:下载源代码 → 手动编译 → 生成可执行程序。
- 缺点:编译麻烦,需要处理大量依赖库,不同机器编译环境不一样,容易编译失败。
- 软件包:开发者提前把源码编译好,打包成一个文件(类似 Windows 的 exe 安装包),里面包含可执行程序、配置文件、手册、依赖信息。
- 软件包管理器 :用来检索、下载、安装、卸载、升级软件包,自动处理依赖关系。
类比:软件包 = App;包管理器 = 手机应用商店。
两大主流:
- yum :RedHat / CentOS / Fedora(RPM 包格式
.rpm)- apt :Ubuntu / Debian(DEB 包格式
.deb)
1-2 Linux 软件生态 & 下载软件完整流程
核心概念
Linux 的软件存放在软件源(仓库 /repo),就是互联网上的服务器集群,存放大量预编译软件包。包管理器就是从软件源拉取软件。
CentOS(yum,rpm 包)安装软件流程
- yum 读取本机的源配置文件 (
/etc/yum.repos.d/),知道软件仓库地址 yum install xxx- yum 去远程仓库查询:软件包是否存在、需要哪些依赖包
- 自动下载软件包 + 所有缺失依赖包 (
.rpm) - 自动安装,注册软件信息到本地 rpm 数据库
- 完成,可直接执行命令使用
相关命令:
yum list | grep xxx # 查询软件 yum install xxx # 安装 yum remove xxx # 卸载 yum update xxx # 更新
Ubuntu(apt,deb 包)安装软件流程
- apt 读取源配置
/etc/apt/sources.list apt update:更新本地软件包索引清单(只更新清单,不安装软件)apt install xxx- apt 解析依赖,从源下载
.deb包 - 自动安装所有依赖,写入本地 dpkg 数据库
- 使用软件
常用命令:
apt update # 更新软件源索引 apt search xxx # 搜索软件 apt install xxx # 安装 apt remove xxx # 卸载(保留配置) apt purge xxx # 彻底卸载(删除配置)
其他方式(通用,所有 Linux 发行版都能用)
- 源码编译安装 下载源码压缩包 → 解压 →
./configure检测环境 →make编译 →make install安装 缺点:不会自动管理依赖,卸载麻烦,包管理器看不到这个软件。 - 二进制包 直接下载已经编译好的可执行文件,解压就能运行(如 Golang 程序、jdk),不需要安装。
- 跨发行版通用包:snap / flatpak / appimage 软件自带所有依赖,一次打包,任意 Linux 都能跑,体积偏大。
对比总结表
表格
| 发行版 | 包管理器 | 软件包格式 | 源配置文件位置 |
|---|---|---|---|
| CentOS/RHEL/Fedora | yum/dnf | .rpm | /etc/yum.repos.d/ |
| Ubuntu/Debian | apt | .deb | /etc/apt/sources.list |

字段解读
lrzsz:软件包名jammy:Ubuntu 22.04 的版本代号0.12.21-10:软件版本amd64:64 位架构(等同于 x86_64)[installed]:本机已经安装好了 lrzsz
警告说明:
apt list这个命令提示apt does not have a stable CLI interface,意思是:apt list 的命令行接口不保证稳定,写 shell 脚本的时候不推荐用 apt list,日常手动敲命令查看没问题。
ch lrzsz # 查看已经安装的包 apt list --installed | grep lrzsz
1-3 Ubuntu 安装软件(apt)
注意:Ubuntu/Debian 系列用 apt,不要用 yum;yum 是 CentOS 红帽系的。
前置:更新软件源索引(重要)
sudo apt update
- 作用:去远程软件仓库,更新本地软件包清单 (只下载清单,不会安装任何软件)
- 为什么要执行:仓库里软件版本会更新,本地索引如果不刷新,可能搜到旧版本或者找不到包
- 每次安装新软件前,推荐先执行一次
安装软件命令
sudo apt install 软件名
示例:安装 lrzsz
sudo apt install lrzsz
sudo:提升管理员权限,安装软件必须 root 权限- 执行过程:
- apt 查询本地索引,找到 lrzsz
- 自动分析所有依赖包
- 列出将要安装的包,询问你
Y/n,输入y回车确认 - 从软件源下载 deb 包
- 自动完成安装
常用附加参数
# -y 自动确认,不需要手动输入y
sudo apt install -y lrzsz
查看是否安装成功(验证)
apt list | grep lrzsz
# 或者
dpkg -l | grep lrzsz
出现 [installed] 代表安装完成。
注意事项
ping 命令笔记
作用
ping 用来测试网络连通性,向目标主机发送 ICMP 请求包,等待对方回复,判断能不能通、延迟多大。
原理:基于 ICMP 协议(网络层协议)
基础语法
ping [选项] 目标IP/域名
示例
ping www.baidu.com
ping 8.8.8.8
ping 192.168.1.1
⚠️ Ubuntu / Linux 默认不会自动停止,会一直发包,按
Ctrl + C终止 Windows 的 ping 默认只发 4 个包自动结束,这是很大的区别!
常用参数
# -c count:指定发送数据包个数(重点!Linux必用)
ping -c 4 www.baidu.com # 发送4个包,自动结束,不用Ctrl+C
-i interval:包之间间隔时间(单位秒,不能小于0.2,root才可以设更小)
ping -c 3 -i 0.5 www.baidu.com
-W 超时时间:等待回复的超时时间
ping -c2 -W2 www.baidu.com
输出结果解读
64 bytes from 180.101.49.11: icmp_seq=1 ttl=53 time=28.1 ms
64 bytes:收到的数据包大小icmp_seq:包序号,用来判断丢包(序号跳了就是丢包)ttl:生存时间,数据包每经过一个路由器 TTL-1,TTL 耗尽包就丢弃time=28.1ms:往返延迟,数值越小网络越快
结束汇总信息(Ctrl+C 之后)
--- www.baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 27.892/28.754/30.201/0.868 ms
- 4 transmitted,4 received:发 4 包,收到 4 包
0% packet loss:丢包率- rtt:往返时间 min 最小 /avg 平均 /max 最大
常见结果含义
- 能收到回复:网络连通
- Request timeout / 没有回复:不通。可能:防火墙禁 ICMP、目标机器关机、路由不可达
- unknown host:域名解析失败(DNS 问题,不是 ping 不通 IP)
考点易错点
- ping 使用 ICMP 协议,不是 TCP/UDP
- Linux ping 默认无限发包,必须加
-c指定次数,或者Ctrl+C停止 - 能 ping 通 ≠ 端口能访问!ping 只测 ICMP,不能检测端口(80/22)。比如服务器防火墙放通 ICMP,但关闭 22 端口,ping 通但是 ssh 连不上。
配套对比
表格
| 系统 | ping 默认行为 |
|---|---|
| Linux(Ubuntu/CentOS) | 持续发包,手动 Ctrl+C 终止 |
| Windows cmd | 默认发送 4 个包,自动停止 |
卸载软件(配套知识点)
# remove:删除程序,保留配置文件
sudo apt remove lrzsz
purge:彻底删除,程序+配置文件全部删掉
sudo apt purge lrzsz
清理缓存(拓展)
apt 下载的 deb 安装包会缓存到本地,占用磁盘,可以清理:
sudo apt autoremove # 删除不再需要的依赖包
sudo apt clean # 清空所有下载的软件包缓存
对比记忆(考试笔记)
表格
| 对比维度 | Ubuntu / Debian(apt) | CentOS / RHEL(yum) | Fedora / RHEL 8+(dnf) |
|---|---|---|---|
| 软件包格式 | .deb | .rpm | .rpm |
| 源配置文件位置 | /etc/apt/sources.list | /etc/yum.repos.d/ | /etc/yum.repos.d/ |
| 更新索引命令 | sudo apt update | 不需要单独 update 索引(yum install 自动拉) | 不需要单独 update 索引(dnf 自动拉取元数据) |
| 安装命令 | sudo apt install xxx | sudo yum install xxx | sudo dnf install xxx |
| 卸载命令 | sudo apt remove xxx(保留配置) sudo apt purge xxx(彻底删除) | sudo yum remove xxx | sudo dnf remove xxx |
| 清理缓存命令 | sudo apt clean sudo apt autoremove | sudo yum clean all | sudo dnf clean all |
dnf 说明 :dnf 是 yum 的现代替代品,从 RHEL 8 / Fedora 22 起成为默认包管理器。dnf 底层仍使用 RPM 包格式和
/etc/yum.repos.d/源配置,但相比 yum 拥有更快的依赖解析速度、更清晰的内存占用和更友好的输出信息。日常使用中,dnf install / remove / update等命令与 yum 基本一一对应,习惯 yum 的同学可以无缝迁移。
易错考点:
apt update≠ 升级软件;apt upgrade才是升级本机已装全部软件sudo apt upgrade # 更新系统所有已安装软件
必须加 sudo,普通用户无权安装软件