Linux软件包管理器详解 —— yum与apt的使用及软件生态

前言

在Linux系统中安装软件,最常见的方式并不是去官网下载源码包然后手动编译,而是通过软件包管理器 来一键安装。这就像在手机上的应用商店下载App一样方便。本文将详细介绍Linux下的两大主流包管理器------CentOS/RHEL系列的yum 和Ubuntu系列的apt,带你掌握软件安装、卸载、更新以及配置国内镜像源的方法,并深入理解Linux软件生态。

一、什么是软件包管理器?

软件包管理器是一种自动处理软件安装、升级、配置和卸载的工具。它将预先编译好的可执行程序、配置文件、依赖关系等信息打包成一个"软件包",存放在远程服务器(称为软件源或镜像站)上。用户只需一条命令,包管理器就会自动下载并安装所需软件。

  • yum(Yellowdog Updater, Modified):主要用在Fedora、RedHat、CentOS等发行版。

  • apt(Advanced Package Tool):主要用在Debian、Ubuntu等发行版。

无论是yum还是apt,都具备自动解决依赖关系的能力。例如,当你安装A软件时,如果它依赖B库,包管理器会自动先安装B,再安装A。

二、Linux软件生态与镜像源

一个操作系统的好坏,很大程度上取决于它的软件生态。Linux之所以强大,是因为全球有无数开发者免费为社区贡献软件,并提供镜像服务供大家下载。在国内,由于访问国外官方源速度较慢,我们通常会切换到国内镜像源。

常见国内镜像源:

更换镜像源后,需要更新缓存:

  • CentOS:sudo yum makecache

  • Ubuntu:sudo apt update

三、yum的基本操作(CentOS/RHEL)

1. 查看软件包
复制代码
yum list | grep 软件名

例如,查看串口传输工具lrzsz:

复制代码
yum list | grep lrzsz

输出示例:

复制代码
lrzsz.x86_64   0.12.20-36.el7   @base

其中x86_64表示64位架构,el7表示CentOS7,@base表示来自标准源。

2. 安装软件
复制代码
sudo yum install -y 软件名

-y选项表示自动确认,否则会提示是否安装。例如安装gcc编译器:

复制代码
sudo yum install -y gcc
3. 卸载软件
复制代码
sudo yum remove -y 软件名
4. 更新软件源和系统
复制代码
sudo yum clean all           # 清理缓存
sudo yum makecache           # 生成新缓存
sudo yum update              # 升级所有软件包

四、apt的基本操作(Ubuntu/Debian)

1. 搜索软件包
复制代码
apt search 软件名

例如搜索lrzsz:

复制代码
apt search lrzsz
2. 查看软件包详细信息
复制代码
apt show 软件名
3. 安装软件
复制代码
sudo apt install -y 软件名
4. 卸载软件
复制代码
sudo apt remove -y 软件名
5. 更新源列表并升级系统
复制代码
sudo apt update              # 更新软件源索引
sudo apt upgrade             # 升级已安装的软件
sudo apt full-upgrade        # 全面升级(包含内核)

五、配置国内镜像源(以CentOS7为例)

  1. 备份原有源:
复制代码
sudo mkdir /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
  1. 下载阿里云源:
复制代码
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  1. 生成缓存并更新:
复制代码
sudo yum clean all && sudo yum makecache

六、注意事项

  • 所有yum/apt操作必须保证网络畅通,可用ping www.baidu.com测试。

  • 安装软件一般需要sudo或root权限。

  • 一次只能安装一个软件,若另一个yum进程正在运行,会报错。

  • 云服务器通常已配置好国内源,无需手动修改。

七、总结

软件包管理器是Linux入门的第一关。掌握yum/apt的基本命令,能够让你快速搭建开发环境,省去手动编译的麻烦。理解软件源的概念,并学会切换国内镜像,可以显著提高下载速度。下一篇文章我们将进入编辑器Vim的世界,它是Linux下编程的必备工具。

相关推荐
Lonely 净土12 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
城管不管12 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
飞英思特无线充电13 小时前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi13 小时前
利用nginx代理完成url重定位
运维·nginx
liuyicenysabel14 小时前
多服务上线日记三:
运维·服务器·笔记·学习
吠品15 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
一只鹿鹿鹿15 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
深念Y17 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
AuTumn-L17 小时前
使用 SSH 密钥认证实现安全免密登录
服务器·安全·ssh
领创工作室17 小时前
GitHub Workflows 全面解析:从核心概念到开源实现
运维·github