

🔥@雾忱星: 个人主页
👀专栏:《C++学习之旅》、《Linux学习指南》
💪学习阶段:C/C++、Linux
⏳"人理解迭代,神理解递归。"
文章目录
- 引言
- 一、软件包管理器:
-
- [1.1 解析:软件包的核心](#1.1 解析:软件包的核心)
- [1.2 Linux 的软件生态:核心问题与优势](#1.2 Linux 的软件生态:核心问题与优势)
- 二、镜像源:解决Linux软件下载慢、下载失败的关键
-
- [2.1 基础:镜像源是什么](#2.1 基础:镜像源是什么)
- [2.2 国内常见镜像安装源](#2.2 国内常见镜像安装源)
- [三、yum + apt指令实操:从基础到常用](#三、yum + apt指令实操:从基础到常用)
-
- [3.1 查看软件源状态](#3.1 查看软件源状态)
- [3.2 查询软件包](#3.2 查询软件包)
- [3.3 安装软件包](#3.3 安装软件包)
- [3.4 卸载软件包](#3.4 卸载软件包)
- 总结
引言
Linux系统的稳定性、高效性早已成为服务器领域的标杆,而其强大的软件生态更是开发者、运维人员依赖它的核心原因之一。但对于Linux新手而言,"安装软件"往往是入门第一道坎 ------手动编译源码、解决依赖循环、清理残留文件,繁琐且易出错。而软件包管理器 ,正是为解决这些痛点而生的"神器" 。
本文将全面拆解Linux软件包管理器,涵盖Linux软件生态架构、镜像源优化技巧,以及最常用的yum包管理器完整实操,助力大家快速玩转Linux软件管理。
一、软件包管理器:
在 Windows 系统中,我们安装软件通常是下载 .exe文件 ,双击下一步即可完成,但 Linux 系统中没有统一的"安装文件格式" ,取而代之的是**"软件包",而软件包管理器**就是管理这些软件包的工具,二者相辅相成。
1.1 解析:软件包的核心
-
软件包: 本质上是一个压缩归档文件,包含了软件的可执行程序、配置文件、依赖库、帮助文档等所有运行该软件所需的文件,同时还会记录软件的版本信息、依赖关系(即运行该软件需要提前安装的其他软件/库)。
-
包管理器: Linux系统中用于管理软件包全生命周期的工具,核心功能包括:安装软件包、卸载软件包、更新软件包、查询软件包信息、解决软件包依赖关系。
简单来说:软件包好比"App",软件包管理器就是Linux系统的「应用商店」。
【常见的软件包格式】:
-
RPM包: RedHat系列(CentOS、RHEL、Fedora)默认格式,后缀为.rpm
-
DEB包: Debian系列(Ubuntu、Debian、Deepin)默认格式,后缀为.deb
-
源码包: 后缀为.tar.gz、.tar.bz2,需要手动编译安装,灵活性高但操作复杂(新手不推荐)
【常见的软件包管理器】:
- yum: RedHat系列默认包管理器,基于RPM包,自动解决依赖,操作简单
- apt-get/apt: Debian系列默认包管理器,基于DEB包,与yum功能类似(比如apt install 对应yum install)
【Linux 下载软件过程】: Ubuntu、Centos、other

1.2 Linux 的软件生态:核心问题与优势
评价一款操作系统的好坏 ,生态是关键指标------Linux的软件生态以=="开源、多样"==为核心特点,广泛应用于服务器领域,但同时也存在两个新手最容易踩坑的核心问题:依赖关系复杂、系统版本兼容性差。

- 软件包依赖问题:
大部分Linux软件都不是独立运行 的,需要依赖其他的软件库(如C语言库、加密库)或其他软件,这种依赖关系可能形成=="链式依赖"==(A依赖B,B依赖C,C依赖D),只要其中一个依赖缺失或版本不匹配,软件就无法正常运行。

-
版本兼容性问题:
Linux 有多个发行版 (RedHat、CentOS、Ubuntu等),不同发行版的软件包格式不同(RPM vs DEB);即使是同一发行版的不同版本(如CentOS 7 vs CentOS 8),软件包的版本、依赖库也可能不同,导致软件包无法跨版本、跨发行版兼容。
-
优势所在: Linux软件生态的优势十分突出,这也是它在服务器领域占据主导地位的核心原因。
| 特点 | 体现 |
|---|---|
| 开源免费 | 大部分 Linux 软件都是开源的,可以直接使用,且可以根据需求修改源码 |
| 安全性高 | 开源软件的漏洞能被全球开发者发现并修复,比闭源软件有保障 |
| 可定制性强 | 软件的源码开放,可根据需求裁剪功能、修改配置 |
| 轻量化、稳定 | Linux 软件普遍占用系统资源少,运行稳定,适合长期不间断运行 |
那么在社区为什么会有很多的免费软件供人使用? 还是上面提到的:开源模式。在之前说过,开源也是一种商业模式。

二、镜像源:解决Linux软件下载慢、下载失败的关键
我们使用yum安装软件时,yum 会从"软件源"(存放软件包的服务器)中下载软件包和依赖。默认情况下,Linux系统的官方软件源服务器都在国外 ,国内用户访问时会出现下载速度慢(几KB/s)、超时、下载失败等问题------配置国内镜像源,是解决这些问题的唯一有效方法。
2.1 基础:镜像源是什么
镜像源(Mirror) 本质上是官方软件源的"副本" ------国内的各大厂商(阿里云、腾讯云、网易、清华、中科大等)会将国外官方源中的所有软件包,同步到自己的国内服务器上,形成国内镜像源。

2.2 国内常见镜像安装源
| 镜像站名称 | 网址 | 发行版本 |
|---|---|---|
| 清华大学TUNA镜像站 | https://mirrors.tuna.tsinghua.edu.cn/ | Ubuntu,Debian,CentOs,Arch Linux,EPEl等 |
| 中国科学技术大学USTC镜像站 | https://mirrors.ustc.edu.cn/ | Ubuntu, Debian, CentOS, Arch Linux, EPEL,等 |
| 阿里云镜像站 | https://developer.aliyun.com/mirror/ | Ubuntu, Debian, CentOS, Fedora, Arch Linux, EPEL等 |
| 华为云镜像站 | https://mirrors.huaweicloud.com/home | Ubuntu, Debian, CentOS, Fedora, EPEL等 |
| 网易开源镜像站 | https://mirrors.163.com/ | Ubuntu, Debian, CentOS, Fedora, EPEL |
| 腾讯云镜像站 | https://mirrors.cloud.tencent.com/ | Ubuntu, CentOS, EPEL, Docker, PyPI 等 |
【选择建议】:
- 地理位置优先: 选择离你物理位置最近的镜像站
- 稳定性测试: 可以 ping 或 curl 测试响应速度
- 一键脚本: 有些镜像站提供自动替换脚本,更加便捷
- 企业环境: 建议使用阿里云、腾讯云、华为云等企业级镜像,保证SLA
三、yum + apt指令实操:从基础到常用
【温馨提示】:
-
所有指令需使用root用户 执行,或在指令前加sudo (如
sudo yum install nginx -y、sudo apt install nginx -y),否则会提示"权限不足"。 -
指令中的
-y参数表示"自动确认",避免每次操作都提示"是否继续(y/n)",提升操作效率,建议加上。 -
所有操作需保证系统联网,否则会提示"无法连接到软件源"。
3.1 查看软件源状态
用于确认配置的国内镜像源是否生效,执行后可验证后续指令能否正常使用:
bash
# CentOS:yum专属指令,查看当前启用的yum源列表,确认镜像源生效
sudo yum repolist
# 会输出类似如下内容(以阿里云yum镜像源为例):
# repo id repo name status
# base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,072
# epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,735
# updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 4,896
# 其中"repo id"为yum源标识,"repo name"为yum源名称(含阿里云标识),"status"为该源可用软件包数量,
# 若能看到对应国内镜像源(如aliyun)且软件包数量正常,说明yum镜像源配置成功,后续yum指令可正常使用。
#=====================================================================
# Ubuntu:查看当前启用的apt源列表,确认镜像源生效
sudo apt update && sudo apt list --upgradable
# 1. 先执行sudo apt update,会输出各apt源的更新进度,类似:
# Hit:1 http://mirrors.aliyun.com/ubuntu focal InRelease
# Hit:2 http://mirrors.aliyun.com/ubuntu focal-updates InRelease
# ......(无"Could not connect"等报错)
# Reading package lists... Done
# Building dependency tree
# Reading state information... Done
# 2. 再执行sudo apt list --upgradable,会列出可升级的软件包(若暂无可升级软件,会提示"No upgrades available"),
# 整个过程无网络报错、能正常加载源信息,说明apt镜像源配置成功,后续apt指令可正常使用。
yum(sudo yum repolist):执行后会显示yum源的名称、标识、软件包数量,如果能看到"aliyun"相关的源(如base、epel),且软件包数量正常(通常上万个),说明阿里云yum镜像源配置成功,后续所有yum指令可正常使用。apt(sudo apt update && sudo apt list --upgradable):执行后先更新缓存,再显示可升级的软件包列表,若没有"无法连接"报错,且能正常显示软件包,说明阿里云 apt 镜像源配置成功,后续所有 apt 指令可正常使用。
3.2 查询软件包
bash
# CentOS:搜索lrzsz软件包
$ yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @base
#lrzsz软件已安装(@base表示从基础源安装),版本0.12.20,适用于CentOS 7
# Ubuntu:搜索lrzsz软件包
$ apt search lrzsz
Sorting... Done
Full Text Search... Done
cutecom/focal 0.30.3-1build1 amd64
Graphical serial terminal, like minicom
lrzsz/focal,now 0.12.21-10 amd64 [installed]
#lrzsz软件已安装([installed]标识),版本0.12.21,适用于Ubuntu 20.04
Tools for zmodem/xmodem/ymodem file transfer
# Ubuntu查看lrzsz详细信息
$ apt show lrzsz
Package: lrzsz
Version: 0.12.21-10
# 解读:确认软件包名称为lrzsz,版本0.12.21-10
Tools for zmodem/xmodem/ymodem file transfer
# 解读:软件功能描述------用于Zmodem/Xmodem/Ymodem协议的文件传输工具
lrzsz软件包提供rz(接收)和sz()发送命令。
yum list | grep ≈ apt search:搜索软件包yum info ≈ apt show:查看详细信息
【注意事项】:
- 软件包名称::主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构
- "x86_64" 后缀表示64位系统的安装包,"i686" 后缀表示32位系统安装包,选择包时要和系统匹配
- "el7" 表示操作系统发行版的版本,"el7" 表示的是
centos7/redhat7。 "el6" 表示centos6/redhat6 - 最后⼀列,base 表示的是 "软件源" 的名称,类似于 "小米应用商店","华为应用商店" 这样的概念
- Ubuntu 有上述有详细介绍
3.3 安装软件包
bash
# 一、CentOS
#1.查询lrzsz是否已安装
sudo yum list | grep lrzsz
#若已安装
lrzsz.x86_64 0.12.20-36.el7 @base
#lrzsz已安装,版本0.12.20,适配CentOS 7,@base表示从基础源安装,无需再执行安装指令
#若未安装
lrzsz.x86_64 0.12.20-36.el7 base
#lrzsz未安装,软件包存在于base基础源中,可执行以下安装指令
# 2.未安装时,执行yum安装指令
sudo yum install lrzsz -y
#======================================================
#Ubuntu系统
# 1.先查询lrzsz是否已安装
sudo apt search lrzsz
#若已安装
lrzsz/focal,now 0.12.21-10 amd64 [installed]
#lrzsz已安装,版本0.12.21,适配Ubuntu 20.04(focal),[installed]为已安装标识,无需再执行安装指令
#若未安装
lrzsz/focal 0.12.21-10 amd64
#lrzsz未安装,软件包存在于配置的国内镜像源中,可执行以下安装指令
#2.未安装时,执行apt安装指令
sudo apt install lrzsz -y
#3.安装完成后,查看lrzsz详细信息(验证安装)
sudo apt show lrzsz
Package: lrzsz
Version: 0.12.21-10
#确认软件包名称为lrzsz,安装版本0.12.21-10,与下载版本一致
Tools for zmodem/xmodem/ymodem file transfer
指令语法: 安装软件包:yum / apt install [选项] 软件包名(-y自动确认)
【注意事项】:
- 安装软件时需要 root 用户或者
sudo - yum / apt 安装软件只能安装完一个在装另一个,尝试同时安装会报错
3.4 卸载软件包
bash
#卸载lrzsz工具,保留配置
#yum
sudo yum remove lrzsz -y
sudo yum erase lrzsz -y
#apt
sudo apt remove lrzsz -y
关于yum/apt的所有操作必须保证主机(虚拟机)网络畅通!! 通过ping指令验证:
ping www.baidu.com
总结
html
🍓 我是晨非辰Tong!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!
结语:
本文梳理了Linux软件包、管理器及镜像源的核心知识,拆解新手常见的依赖与兼容问题,同步给出yum、apt的实操指令。
对新手而言,掌握基础指令+配置国内镜像源,是高效搞定软件安装的关键,也是熟悉Linux生态的入门必备。
后续可结合实际需求探索进阶操作,充分发挥Linux开源、稳定的优势。
