一、Linux 软件包常见安装方式

Linux 软件包常见安装方式有四种,分别适用于不同场景。

安装软件方式 说明 应用场景
yum/apt 方式 通过网络下载软件包并自动安装,若存在依赖会自动下载并处理 大部分场景;没有网络时也可以自建软件仓库供内网使用
rpm/dpkg 方式 手动下载 rpm 或 deb 软件包并安装,缺少依赖时通常需要自己解决 没有网络、误删软件包、依赖较少的场景
二进制安装方式 类似绿色软件,解压即可使用,但通常仍需要准备运行环境 常见于服务、数据库、Kubernetes、监控组件等场景
编译安装方式 可以进行自定义安装,但流程较长,依赖也要自行解决 需要自定义功能或软件仓库中没有现成包时

一般推荐顺序为:yum 优先 > rpm 包 > 二进制 > 编译安装

二、RPM 安装方式详解

从增、删、改、查四个角度看,rpm 常见命令如下:

rpm 命令选项 命令说明
rpm -ivh 包名 安装 rpm 包,-i 表示安装,-v 表示显示过程,-h 表示人类可读显示
rpm -qa 包名 查看软件包是否安装,-q 表示查询,-a 表示所有软件包
rpm -ql 包名 查看软件包内容,-l 表示显示软件包文件列表
rpm -qf 包名 查看文件或命令归属于哪个软件包,-f 表示按文件查询
rpm -Uvh 包名 升级软件包;如果软件包不存在,效果相当于安装
rpm -e 包名 删除软件包

2.1 安装 rpm 包

下载软件包:

$ wget --no-check-certificate -P /opt/tools/ https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-agent2-6.0.0-1.el7.x86_64.rpm

上面命令中:

  • wget 用于从 Web 下载文件。
  • --no-check-certificate 表示不验证 SSL 证书。
  • -P /opt/tools/ 表示把下载的文件保存到 /opt/tools/ 目录。

安装依赖:

$ yum install -y pcre2

安装软件包 zabbix-agent2

$ cd /opt/tools
$ rpm -ivh zabbix-agent2-6.0.0-1.el7.x86_64.rpm

2.2 查看 rpm 包

检查软件包是否安装成功:

$ rpm -qa | grep zabbix
$ rpm -qa zabbix-agent2

查看已经安装成功的软件包内容:

$ rpm -ql zabbix-agent2

查询某个命令或文件属于哪个软件包,这里以 wget 为例:

$ which wget
/bin/wget

$ rpm -qf /bin/wget
wget-1.14-18.el7_6.1.x86_64

2.3 升级 rpm 包

下载新版本 6.0.7 的 rpm 包:

$ wget --no-check-certificate -P /opt/tools/ https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-agent2-6.0.7-1.el7.x86_64.rpm

升级版本:

$ rpm -Uvh /opt/tools/zabbix-agent2-6.0.7-1.el7.x86_64.rpm

说明:如果软件包原本不存在,那么 rpm -Uvh 的效果相当于安装。

检查升级结果:

$ rpm -qa | grep zabbix
$ rpm -qa zabbix-agent2

2.4 删除 rpm 包

先查看软件包:

$ rpm -qa | grep zabbix

卸载 rpm 包:

$ rpm -e zabbix-agent2-6.0.7-1.el7.x86_64
$ rpm -e zabbix-agent2

验证删除结果,若回显为空则代表删除成功:

$ rpm -qa | grep zabbix

注意:通常只能删除通过 rpmyum 方式安装的软件包。

三、编译安装示例

原始笔记这一部分以 cmatrix 为例,演示了典型的 configure -> make -> make install 流程。虽然原文标题写作“二进制安装方式”,但从步骤上看,这里展示的是标准的编译安装过程。

3.1 配置

下载源码包并上传到机器:

点击此处下载 cmatrix-1.2a.tar.gz

解压并进入目录:

$ tar xf cmatrix-1.2a.tar.gz
$ cd cmatrix-1.2a

安装依赖:

$ yum install -y ncurses-devel

执行配置,默认安装位置通常为 /usr/local/bin/

$ cd cmatrix-1.2a
$ ./configure

检查执行结果:

$ echo $?
0

3.2 编译

进行编译:

$ cd cmatrix-1.2a
$ make

检查结果:

$ echo $?
0

3.3 编译安装

执行安装:

$ cd cmatrix-1.2a
$ make install

检查结果:

$ echo $?
0

执行 cmatrix 命令验证,按 Ctrl + C 退出:

二进制安装方式-1

四、小结

在实际工作中,软件安装方式的选择通常可以按下面的思路进行:

  • 能直接使用 yumapt 的场景,优先使用仓库安装。
  • 没有仓库或者需要单独补装某个包时,可以使用 rpmdpkg
  • 没有现成包但存在官方压缩包时,可以考虑二进制安装。
  • 需要定制功能或只能从源码获取时,再选择编译安装。