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下编程的必备工具。

相关推荐
用户0328472220709 小时前
如何搭建本地yum源(上)
运维
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务