
🔥草莓熊Lotso: 个人主页
❄️个人专栏: 《C++知识分享》 《Linux 入门到实践:零基础也能懂》
✨生活是默默的坚持,毅力是永久的享受!
🎬 博主简介:

文章目录
- 前言:
- [一. 认识软件包管理器:Linux的 "应用商店"](#一. 认识软件包管理器:Linux的 “应用商店”)
-
- [1.1 什么是软件包](#1.1 什么是软件包)
- [1.2 Linux的软件包生态问题](#1.2 Linux的软件包生态问题)
- [二. 为什么需要国内镜像源?](#二. 为什么需要国内镜像源?)
-
- [2.1 国内主流开源镜像站汇总](#2.1 国内主流开源镜像站汇总)
- [三. yum 与 apt 实操:常用命令全解析](#三. yum 与 apt 实操:常用命令全解析)
-
- [3.1 查看软件包:确认是否可安装](#3.1 查看软件包:确认是否可安装)
- [3.2 安装软件:一条命令搞定](#3.2 安装软件:一条命令搞定)
- [3.3 卸载软件:干净删除无残留](#3.3 卸载软件:干净删除无残留)
- [3.4 安装源](#3.4 安装源)
- 结尾:
前言:
在 Linux 系统中,高效管理软件是开展开发与运维工作的第一步。无论是安装开发工具、配置运行环境,还是解决软件依赖问题,软件包管理器 都是核心工具。本文将聚焦 Linux 下最常用的包管理器(
yum与apt),从概念解析到国内镜像源配置,再到具体实操命令,帮你彻底掌握软件安装、卸载与管理的方法,为后续开发工作搭建稳定的基础环境。
一. 认识软件包管理器:Linux的 "应用商店"
在 Windows 或 macOS 中,我们通过"应用商店"或.exe安装包获取软件;而在Linux中,软件包管理器承担了类似的角色,而且能解决"软件依赖"的问题。

1.1 什么是软件包
-
软件包:提前编译好的可执行程序、配置文件及依赖库的集合(类似 Windows 的安装包),不同 Linux 发行版对应不同格式,如 CentOS 的.rpm、Ubuntu 的.deb。
-
包管理器:负责软件包 "查找 - 下载 - 安装 - 卸载 - 依赖处理" 的工具,主流分为两类:
- yum:适用于 CentOS、RedHat、Fedora 等基于 RPM 包的发行版;
- apt:适用于 Ubuntu、Debian 等基于 DEB 包的发行版。
-
Linux下载软件的过程(Ubuntu,Centos,other):

1.2 Linux的软件包生态问题
- 我们评估一款操作系统的好坏,最重要的是什么呢?不就是这款操作系统的生态是否完善嘛。

- 为什么会有人免费特定社区提供软件,还发布?还提供云服务器让你下载?

到这里我们是不是有点熟悉了,这些好处不正是开源带来的嘛,我们在刚开始学Linux的时候就讲过,开源的本质是一种商业模式。
二. 为什么需要国内镜像源?
Linux 默认的软件源多位于国外服务器,国内用户下载时会面临速度慢、频繁中断的问题。国内镜像源 是官方源的 "副本",由国内高校或企业维护,能大幅提升下载速度。


2.1 国内主流开源镜像站汇总
以下是常用的优质镜像站,覆盖主流 Linux 发行版:
| 镜像站名称 | 官方链接 | 主要支持场景 |
|---|---|---|
| 阿里云镜像站 | https://developer.aliyun.com/mirror/ | CentOS、Ubuntu、Debian 等系统及常见软件包 |
| 清华大学镜像站 | https://mirrors.tuna.tsinghua.edu.cn/ | 全系列 Linux、Python/Perl/Ruby 等编程语言扩展包 |
| 中国科学技术大学镜像站 | http://mirrors.ustc.edu.cn/ | 全系列 Linux、常用编程语言及开发工具 |
| 北京交通大学镜像站 | https://mirror.bjtu.edu.cn/ | 多种 Linux 发行版及相关软件仓库 |
| 中国科学院软件研究所镜像站 | http://mirror.iscas.ac.cn/ | 多种 Linux 发行版、编程语言和开发工具 |
| 上海交通大学镜像站 | https://ftp.sjtu.edu.cn/ | 多种 Linux 发行版镜像及软件仓库 |
| 网易镜像站 | http://mirrors.163.com/ | CentOS、Ubuntu 等基础发行版及相关软件 |
补充说明:
- 以上镜像站均提供丰富的 Linux 软件资源,可根据地理位置和网络情况选择使用。
- 清华大学、中科大和阿里云镜像站是目前国内最活跃、资源最全面的镜像源之一。
- 部分镜像站还提供 Docker 镜像、开源文档等额外资源。
三. yum 与 apt 实操:常用命令全解析
我们可通过包管理器高效管理软件。以下是 yum(CentOS)和 apt(Ubuntu)的核心命令,对应场景包括 "查看软件""安装软件""卸载软件" 等,操作逻辑高度相似。
| 操作场景 | CentOS/RHEL (yum/dnf) 命令 | Ubuntu/Debian (apt) 命令 |
|---|---|---|
| 更新软件包列表 | yum check-update dnf check-update |
sudo apt update |
| 搜索指定软件 | yum search 软件名 dnf search 软件名 |
apt search 软件名 |
| 查看软件详细信息 | yum info 软件名 dnf info 软件名 |
apt show 软件名 |
| 列出所有可安装软件 | yum list available dnf list available |
apt list |
| 安装软件 | sudo yum install 软件名 sudo dnf install 软件名 |
sudo apt install 软件名 |
| 卸载软件 | sudo yum remove 软件名 sudo dnf remove 软件名 |
sudo apt remove 软件名 |
| 升级所有软件包 | sudo yum update sudo dnf upgrade |
sudo apt upgrade |
3.1 查看软件包:确认是否可安装
在安装软件前,可先查看该软件是否在镜像源中,以及当前可用版本。
示例:查看 "lrzsz"(Linux 与 Windows 文件传输工具)
- CentOS:
bash
yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @base
# 输出示例:lrzsz.x86_64 0.12.20-36.el7 base
# 解读:x86_64=64位包;el7=适配CentOS 7;base=源名称
- Ubuntu:
bash
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]
Tools for zmodem/xmodem/ymodem file transfer
# 输出示例:lrzsz/focal,now 0.12.21-10 amd64 [已安装]
# 解读:focal=Ubuntu 20.04代号;amd64=64位包
$ apt show lrzsz
Package: lrzsz
Version: 0.12.21-10
Priority: optional
Section: universe/comm
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Martin A. Godisch <godisch@debian.org>
............
注意事项:
- 软件包名称:主版本号,次版本号,源程序发行号-软件包的发行号,主机平台,cpu架构
- x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
- "el7" 表示操作系统发行版的版本,"el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
- 最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.
- Ubuntu 上述有详细介绍
3.2 安装软件:一条命令搞定
安装软件需root权限(通过sudo临时获取,或直接切换root用户),-y选项可自动确认安装(无需手动输入 "y" 确认)
| 操作场景 | CentOS(yum/dnf)命令 | Ubuntu(apt)命令 |
|---|---|---|
| 更新软件包列表 | sudo yum check-update |
sudo apt update |
| 安装指定软件 | sudo yum install -y 软件名 |
sudo apt install -y 软件名 |
| 安装扩展源 | sudo yum install -y epel-release |
sudo add-apt-repository ppa:xxx |
| 列出已安装软件 | yum list installed |
apt list --installed |
实际示例:
bash
# CentOS
sudo yum install -y lrzsz
# Ubuntu
sudo apt install -y lrzsz
注意事项:
- 安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切换到 root 账户下才能完成。
- Linux系统下,如果有多个用户,也只需要安装一次就行
- yum/apt安装软件只能一个装完了再装另一个,正在yum/apt安装下一个软件的过程中,如果再尝试用yum/apt安装另外一个软件,yum/apt会报错。
- 如果yum/apt报错,请自行问问ai。
3.3 卸载软件:干净删除无残留
若软件不再使用,可通过包管理器彻底卸载,避免占用磁盘空间。
实际示例:
bash
# CentOS
sudo yum remove -y lrzsz
# Ubuntu(仅卸载软件,保留配置)
sudo apt remove -y lrzsz
注意:
- 网络验证:包管理器依赖网络,若命令执行失败,先通过
ping www.baidu.com验证网络是否通畅
3.4 安装源
Centos安装源路径:
bash
[root@VM-4-4-centos ~]# ll /etc/yum.repos.d/
total 8
-rw-r--r-- 1 root root 641 Sep 10 22:45 CentOS-Base.repo
-rw-r--r-- 1 root root 230 Sep 10 22:45 CentOS-Epel.repo
# 安装扩展源
[root@VM-4-4-centos ~]# sudo yum install -y epel-release
..................
[root@VM-4-4-centos ~]# ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 641 Sep 10 22:45 CentOS-Base.repo
-rw-r--r-- 1 root root 230 Sep 10 22:45 CentOS-Epel.repo
-rw-r--r-- 1 root root 1358 Sep 5 2021 epel.repo
-rw-r--r-- 1 root root 1457 Sep 5 2021 epel-testing.repo

Ubuntu安装源路径:
bash
$ cat /etc/apt/sources.list # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源
# ubuntu 安装扩展源,就结合未来具体场景

更新安装源,云服务器不用考虑,因为软件源都是国内的了,其它需要的话可以参考更换软件源
好玩的命令 :一些有趣的命令
结尾:
html
🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!

结语:软件包管理器(yum/apt)是 Linux 环境搭建的 "基石工具",从替换国内镜像源提升速度,到一键完成软件安装卸载,它帮我们跳过手动编译、解决依赖的繁琐,让环境配置更高效。掌握这些操作后,你已能独立搭建基础 Linux 环境,后续安装编译器、编辑器等工具都可借助它快速实现。建议多结合实际需求实操,逐步熟悉细节,为后续开发筑牢基础。
✨把这些内容吃透超牛的!放松下吧✨ ʕ˘ᴥ˘ʔ づきらど

