Linux 软件包安装全指南:从 RPM、YUM 到源码编译 Linux 系统中软件包的安装与管理是系统运维的基础技能。本文将详细介绍 Linux 中两种核心软件包(源码包与二进制包)的特点及操作方法,包括 RPM 命令、YUM/APT 包管理工具的使用,以及源码包的编译安装流程,帮助你高效管理系统软件。
Linux 软件包的两种类型 Linux 软件包主要分为两类,适用场景和安装方式差异显著:
类型
格式示例
特点
适用场景
源码包
.tar.gz
、.tar.bz2
包含源代码,需编译后安装;跨架构,可自定义配置;安装步骤较复杂。
需要定制功能、优化性能的场景
二进制包
.rpm
(RedHat 系)、.deb
(Debian 系)
已编译为可执行文件,安装快速;依赖特定 CPU 架构;依赖关系需手动处理。
快速安装、版本稳定的场景
RPM 包管理(RedHat 系系统:CentOS、RHEL) RPM(Redhat Package Manager)是 RedHat 系列系统的二进制包管理工具,直接操作 .rpm
格式的软件包。
RPM 包的命名规则 RPM 包名包含丰富信息,格式为:名称-版本-发布版本.架构.rpm
例如:httpd-2.4.6-97.el7.centos.x86_64.rpm
httpd
:软件名称
2.4.6
:版本号
97.el7.centos
:发布版本(与系统版本相关)
x86_64
:适用架构(常见架构见下表)
架构标识
适用 CPU 类型
noarch
不依赖架构(如脚本类软件)
i386/i686
Intel 32 位 / 64 位兼容 CPU
x86_64
AMD/Intel 64 位 CPU
arm
ARM 架构(如嵌入式设备、树莓派)
RPM 核心操作命令 (1)安装 RPM 包
示例:rpm -ivh httpd-2.4.6-97.el7.centos.x86_64.rpm
(2)升级 RPM 包
示例:rpm -Uvh httpd-2.4.6-98.el7.centos.x86_64.rpm
(3)卸载 RPM 包
示例:rpm -e httpd
注意 :卸载会同时删除依赖该包的其他软件,需谨慎操作。
(4)查询 RPM 包信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 rpm -q 包名 rpm -qa rpm -qi 包名 rpm -ql 包名 rpm -qf 文件名
SRPM 包(源码 RPM 包)的处理 SRPM 包(.src.rpm
)是未编译的源码包,需先编译为二进制 RPM 包再安装:
1 2 3 4 5 6 7 8 9 10 11 rpm -i 包名.src.rpm cd /usr/src/redhat/SPECS rpmbuild -bb 包名.spec rpm -ivh /usr/src/redhat/RPMS/x86_64/生成的包.rpm
YUM 包管理工具(自动解决依赖) YUM(Yellowdog Updater Modified)是基于 RPM 的前端工具,能自动解决依赖关系,支持从软件仓库在线安装 / 升级软件,是 RedHat 系系统的首选工具。
YUM 软件仓库配置 YUM 仓库配置文件位于 /etc/yum.repos.d/
目录,扩展名为 .repo
(如 CentOS-Base.repo
)。 示例配置(阿里云镜像源):
1 2 3 4 5 [base] name =CentOS-$releasever - Base - mirrors.aliyun.combaseurl =http://mirrors.aliyun.com/centos/$releasever /os/$basearch /gpgcheck =1 gpgkey =http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
常用镜像源 :阿里云、腾讯云、网易开源镜像站(解决官方源访问慢的问题)。
YUM 核心操作命令 (1)查询软件包 1 2 3 4 5 6 7 8 9 yum list yum list installed yum search 关键字
(2)安装软件包
离线安装本地 RPM 包(自动解决依赖):yum localinstall 本地包.rpm
(3)升级软件包 1 2 3 4 5 6 yum -y update 包名 yum -y update
(4)卸载软件包 1 2 3 4 5 yum remove 包名 yum erase 包名
注意 :卸载会删除依赖该包的其他软件,建议先通过 yum deplist 包名
查看依赖关系。
(5)软件组操作 1 2 3 4 5 6 7 8 yum grouplist yum -y groupinstall "Development Tools" yum groupinfo "Development Tools"
(6)缓存与依赖修复 1 2 3 4 5 6 7 8 9 10 yum clean all yum makecache yum -y install yum-utils package-cleanup --problems package-cleanup --repair
APT 包管理工具(Debian 系系统:Ubuntu、Debian) APT(Advanced Package Tool)是 Debian 系列系统的包管理工具,功能类似 YUM,操作对象为 .deb
包,核心命令包括 apt-get
和 apt-cache
。
APT 软件源配置 软件源配置文件为 /etc/apt/sources.list
,示例(阿里云 Ubuntu 源):
1 2 deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
APT 核心操作命令 (1)更新与安装 1 2 3 4 5 6 7 8 9 apt-get update apt-get install 包名 apt-get install -y 包名
(2)卸载软件 1 2 3 4 5 6 7 8 apt-get remove 包名 apt-get purge 包名 apt-get autoremove
(3)查询与搜索 1 2 3 4 5 6 7 8 9 10 apt-cache search 关键字 apt-cache depends 包名 apt-cache show 包名
源码包安装(自定义编译) 源码包是软件的原始代码,需手动编译为可执行文件,适合需要定制功能或优化性能的场景(如数据库、Web 服务器)。
源码包安装步骤(通用流程) 1. 解压源码包 1 2 3 4 5 6 7 8 tar -zxvf 包名.tar.gz tar -jxvf 包名.tar.bz2 cd 包名/
2. 配置(生成 Makefile) 1 2 3 ./configure --prefix=安装路径
作用 :检测系统环境(如是否有编译器、依赖库),生成编译配置文件 Makefile
。
3. 编译(生成可执行文件)
出错处理 :若编译失败,执行 make clean
清空编译产物,排查依赖问题后重新编译。
4. 安装(复制文件到指定目录)
5. 卸载源码包 1 2 3 4 5 6 7 cd 源码目录 make uninstall rm -rf 安装路径
v1.3.10