Linux 基础命令 rpm
rpm 软件包管理命令
Linux操作系统中,几乎所有的软件都可通过 rpm1 命令(Redhat Package Manager) 进行管理(安装、卸载、升级、查询、验证)。
rpm 用法简介
Usage: rpm [options]
<rpm package name>
options -aKfgpqVcdLilsiv?
e.g., rpm, rpm -ivh sl-5.02-1.el7.x86_64.rpm
$ rpm -ivh sl-5.02-1.el7.x86_64.rpm
warning: sl-5.02-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:sl-5.02-1.el7 ################################# [100%]
rpm 五种操作
选项 | 简要描述 |
---|---|
-i or --install | 安装 <rpm package name> |
-q or --query | 查询 <rpm package name> |
-e or --erase | 卸载 <rpm package name> |
-U or --upgrade | 升级 <rpm package name> |
-V or --verify or -y | 校验 <rpm package name> |
rpm 通用选项
选项 | 简要描述 |
---|---|
-v | 显示附加信息 |
-vv | 显示调试信息 |
--root | 指定rpm安装程序的根目录 |
--rcfile | 设置rpmrc文件 |
--dbpath | 设置rpm资料库存放路径 |
--rebuilddb | 重建RPM资料库 |
--initdb | 创建一个新的RPM资料库 |
--quiet | 尽可能的减少输出 |
--version | 显示RPM的当前版本 |
? or --help | 显示帮助文件 |
rpm 安装操作
命令格式: rpm -i ( or --install) [options]
<rpm package name>
参数:<rpm package name>
将要安装的rpm包的文件名
# 安装sl的rpm包
$ rpm -ivh sl-5.02-1.el7.x86_64.rpm
- 安装操作使用 [options]
详细选项 | 简要描述 |
---|---|
-h or --hash | 安装时输出hash记号(``#’’) |
--test | 只对安装进行测试,并不实际安装 |
--percent | 以百分比的形式输出安装的进度 |
--excludedocs | 不安装软件包中的文档文件 |
--includedocs | 安装文档 |
--replacepkgs | 强制重新安装已经安装的软件包 |
--replacefiles | 替换属于其它软件包的文件 |
--force | 忽略软件包及文件的冲突 |
--noscripts | 不运行预安装和后安装脚本 |
--prefix | 将软件包安装到指定的路径下 |
--ignorearch | 不校验软件包的结构 |
--ignoreos | 不检查软件包运行的操作系统 |
--nodeps | 不检查依赖性关系 |
--ftpproxy | FTP代理 |
--ftpport | 指定FTP的端口号 |
rpm 查询操作
命令格式: rpm -q ( or --query) [options] [
<rpm package name>
]
参数:<rpm package name>
可选,需要查询的rpm包的文件名
# 查询sl的rpm包
$ rpm -qi sl-5.02-1.el7.x86_64
Name : sl
Version : 5.02
Release : 1.el7
Architecture: x86_64
Install Date: Wed May 29 10:37:51 2019
Group : Amusements/Graphics
Size : 17511
License : Copyright only
Signature : RSA/SHA256, Sat Dec 6 22:47:44 2014, Key ID 6a2faea2352c64e5
Source RPM : sl-5.02-1.el7.src.rpm
Build Date : Fri Dec 5 17:49:43 2014
Build Host : buildvm-03.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : https://github.com/mtoyoda/sl
Summary : Joke command for when you type 'sl' instead of 'ls'
Description :
The sl (Steam Locomotive) command is a joke which displays a train on your
terminal when you accidentally type 'sl' instead of 'ls'.
- 查询操作使用 [options]
详细选项 | 简要描述 |
---|---|
-p or - ) | 查询软件包的文件 |
-f | 查询属于哪个软件包 |
-a | 查询所有安装的软件包 |
--whatprovides | 查询提供了 功能的软件包 |
-g | 查询属于 组的软件包 |
--whatrequires | 查询所有需要 功能的软件包 |
-i | 显示软件包的概要信息 |
-l | 显示软件包中的文件列表 |
-c | 显示配置文件列表 |
-d | 显示文档文件列表 |
-s | 显示软件包中文件列表并显示每个文件的状态 |
--scripts | 显示安装、卸载、校验脚本 |
--queryformat or --qf | 以用户指定的方式显示查询信息 |
--dump | 显示每个文件的所有已校验信息 |
--provides | 显示软件包提供的功能 |
--requires or -R | 显示软件包所需的功能 |
rpm 卸载操作
命令格式: rpm -e ( or --erase) [options]
<rpm package name>
参数:<rpm package name>
将要卸载的rpm包的文件名
卸载之前,通常需要用rpm -q
命令查询需要卸载的安装包名称。
# 卸载sl的rpm包
$ rpm -e sl-5.02-1.el7.x86_64.rpm
- 卸载操作使用 [options]
详细选项 | 简要描述 |
---|---|
--test | 只执行删除的测试 |
--noscripts | 不运行预安装和后安装脚本程序 |
--nodeps | 不检查依赖性 |
rpm 升级操作
命令格式: rpm -U ( or --upgrade) [options]
<rpm package name>
参数:<rpm package name>
将要升级的rpm包的文件名
# 升级sl的rpm包
$ rpm -Uvh sl-5.02-1.el7.x86_64.rpm
- 升级操作使用 [options]
详细选项 | 简要描述 |
---|---|
-h or --hash | 安装时输出hash记号(``#’’) |
--oldpackage | 允许升级到一个旧版本 |
--test | 只对安装进行测试,并不实际安装 |
--percent | 以百分比的形式输出安装的进度 |
--excludedocs | 不安装软件包中的文档文件 |
--includedocs | 安装文档 |
--replacepkgs | 强制重新安装已经安装的软件包 |
--replacefiles | 替换属于其它软件包的文件 |
--force | 忽略软件包及文件的冲突 |
--noscripts | 不运行预安装和后安装脚本 |
--prefix | 将软件包安装到指定的路径下 |
--ignorearch | 不校验软件包的结构 |
--ignoreos | 不检查软件包运行的操作系统 |
--nodeps | 不检查依赖性关系 |
--ftpproxy | FTP代理 |
--ftpport | 指定FTP的端口号 |
rpm 校验操作
命令格式: rpm -V (–verify, or -y) [options]
<rpm package name>
参数:<rpm package name>
需要验证的rpm包的文件名
# 验证sl的rpm包
$ rpm -V -p sl-5.02-1.el7.x86_64.rpm
warning: sl-5.02-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
- 验证操作使用 [options]
详细选项 | 简要描述 |
---|---|
-p | Verify against package file |
-f | 校验所属的软件包 |
-a | 校验所有的软件包 |
-g | 校验所有属于组 的软件包 |
- 校验rpm包中的文件
命令格式: rpm -K (–checksig) [options]
<rpm package name>
参数:<rpm package name>
需要验证的rpm包的文件名
$ rpm -Kv sl-5.02-1.el7.x86_64.rpm
sl-5.02-1.el7.x86_64.rpm:
Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Header SHA1 digest: OK (d620eee12cff3f248fab9a1dbf09ca3cbd7b6b19)
V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
MD5 digest: OK (9fd3acd3015c5cca69c997ab1fbf8d04)
详细选项 | 简要描述 |
---|---|
--nopgp | 不校验PGP签名 |
rpm 下载网址
适用场景:Linux操作系统无法联网,只能离线安装。几个常用rpm 包下载网址
1 pkgs.org : https://pkgs.org/
2 网易源(32位) : http://mirrors.163.com/centos/6/os/i386/Packages/
3 网易源(64位) : http://mirrors.163.com/centos/6/os/x86_64/Packages/
4 rpm.pbone : http://rpm.pbone.net/
5 rpmfind : ftp://rpmfind.net/linux/
# 1, 将rpm文件上传Linux
# 2, 使用rpm命令安装
rpm -ivh <rpm package name>
# 3, 验证
rpm -qa | grep <rpm package name>
参考资料
- 如有 错误之处 还请多多指正