Linux 命令之 - rpm

1. 帮助文件

[root@local ~]# rpm --help
用法: rpm [选项...]

查询/验证软件包选项:
  -a, --all                          查询/验证所有软件包
  -f, --file                         查询/验证文件属于的软件包
  -g, --group                        查询/验证组中的软件包
  -p, --package                      查询/验证一个软件包
      --pkgid                        根据软件包标识符查找/校验软件包
      --hdrid                        根据头部标识符查找/校验软件包
      --triggeredby                  查找由软件包所触发的软件包
      --whatconflicts                查找/校验需要某个依赖对象的软件包
      --whatrequires                 查找/校验需要某个依赖对象的软件包
      --whatobsoletes                query/verify the package(s) which obsolete a dependency
      --whatprovides                 查询/验证提供相关依赖的软件包
      --whatrecommends               query/verify the package(s) which recommends a dependency
      --whatsuggests                 query/verify the package(s) which suggests a dependency
      --whatsupplements              query/verify the package(s) which supplements a dependency
      --whatenhances                 query/verify the package(s) which enhances a dependency
      --nomanifest                   不把非软件包文件作为清单处理

查询选项(用 -q 或 --query):
  -c, --configfiles                  列出所有配置文件
  -d, --docfiles                     列出所有程序文档
  -L, --licensefiles                 列出所有许可证文件
  -A, --artifactfiles                list all artifact files
      --dump                         转储基本文件信息
  -l, --list                         列出软件包中的文件
      --queryformat=QUERYFORMAT      使用这种格式打印信息
  -s, --state                        显示列出文件的状态

验证选项(用 -V 或 --verify):
      --nofiledigest                 不验证文件摘要
      --nofiles                      不验证软件包中文件
      --nodeps                       不验证包依赖
      --noscript                     不执行验证脚本

安装/升级/擦除选项:
      --allfiles                     安装全部文件,包含配置文件,否则配置文件会被跳过。
      --allmatches                   移除所有符合 <package> 的软件包(如果 <package> 被指定未多个软件包,常常会导致错误出现)
      --badreloc                     对不可重定位的软件包重新分配文件位置
  -e, --erase=<package>+             清除 (卸载) 软件包
      --excludedocs                  不安装程序文档
      --excludepath=<path>           略过以 <path> 开头的文件
      --force                        --replacepkgs --replacefiles 的缩写
  -F, --freshen=<packagefile>+       如果软件包已经安装,升级软件包
  -h, --hash                         软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好)
      --ignorearch                   不验证软件包架构
      --ignoreos                     不验证软件包操作系统
      --ignoresize                   在安装前不检查磁盘空间
      --noverify                     short hand for --ignorepayload --ignoresignature
  -i, --install                      安装软件包
      --justdb                       更新数据库,但不修改文件系统
      --nodeps                       不验证软件包依赖
      --nofiledigest                 不验证文件摘要
      --nocontexts                   不安装文件的安全上下文
      --nocaps                       don't install file capabilities
      --noorder                      不对软件包安装重新排序以满足依赖关系
      --noscripts                    不执行软件包小脚本
      --notriggers                   不执行本软件包触发的任何小脚本
      --oldpackage                   更新到软件包的旧版本(带 --force 自动完成这一功能)
      --percent                      安装软件包时打印百分比
      --prefix=<dir>                 如果可重定位,便把软件包重定位到 <dir>
      --relocate=<old>=<new>         将文件从 <old> 重定位到 <new>
      --replacefiles                 忽略软件包之间的冲突的文件
      --replacepkgs                  如果软件包已经有了,重新安装软件包
      --test                         不真正安装,只是判断下是否能安装
  -U, --upgrade=<packagefile>+       升级软件包
      --reinstall=<packagefile>+     重新安装软件包

所有 rpm 模式和可执行文件的通用选项:
  -D, --define=“MACRO EXPR”          定义值为 EXPR 的 MACRO
      --undefine=MACRO               未定义的 MACRO
  -E, --eval=“EXPR”                  打印 EXPR 的宏展开
      --target=CPU-VENDOR-OS         Specify target platform
      --macros=<FILE:…>              从文件 <FILE:...> 读取宏,不使用默认文件
      --noplugins                    不要启用任何插件
      --nodigest                     不校验软件包的摘要
      --nosignature                  不验证软件包签名
      --rcfile=<FILE:…>              从文件 <FILE:...> 读取宏,不使用默认文件
  -r, --root=ROOT                    使用 ROOT 作为顶级目录 (default: "/")
      --dbpath=DIRECTORY             使用 DIRECTORY 目录中的数据库
      --querytags                    显示已知的查询标签
      --showrc                       显示最终的 rpmrc 和宏配置
      --quiet                        提供更少的详细信息输出
  -v, --verbose                      提供更多的详细信息输出
      --version                      打印使用的 rpm 版本号

Options implemented via popt alias/exec:
      --scripts                      list install/erase scriptlets from package(s)
      --setperms                     set permissions of files in a package
      --setugids                     set user/group ownership of files in a package
      --setcaps                      set capabilities of files in a package
      --restore                      restore file/directory permissions
      --conflicts                    list capabilities this package conflicts with
      --obsoletes                    list other packages removed by installing this package
      --provides                     list capabilities that this package provides
      --requires                     list capabilities required by package(s)
      --recommends                   list capabilities recommended by package(s)
      --suggests                     list capabilities suggested by package(s)
      --supplements                  list capabilities supplemented by package(s)
      --enhances                     list capabilities enhanced by package(s)
      --info                         list descriptive information from package(s)
      --changelog                    list change logs for this package
      --changes                      list changes for this package with full time stamps
      --xml                          list metadata in xml
      --triggers                     list trigger scriptlets from package(s)
      --filetriggers                 list filetrigger scriptlets from package(s)
      --last                         list package(s) by install time, most recent first
      --dupes                        list duplicated packages
      --filesbypkg                   list all files from each package
      --fileclass                    list file names with their classes
      --filecolor                    list file names with their colors
      --fileprovide                  list file names with their provides
      --filerequire                  list file names with requires
      --filecaps                     list file names with their POSIX1.e capabilities

帮助选项:
  -?, --help                         显示这个帮助信息
      --usage                        显示简短的使用说明

2. 使用示例

  • 安装软件包
    #rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
  • 反安装(卸载)
    rpm -e tree
  • 升级软件
    rpm -Uvh tree
  • 查询tree软件包安装后生成的所有文件
    #rpm -ql tree
    /usr/bin/tree
    /usr/lib/.build-id
    /usr/lib/.build-id/d8
    /usr/lib/.build-id/d8/6d516d7cb07fb9334cb268af808119e33a5ac5
    /usr/share/doc/tree
    /usr/share/doc/tree/LICENSE
    /usr/share/doc/tree/README
    /usr/share/man/man1/tree.1.gz
      ```
    
  • 查看 tree软件提供哪些功能
    # rpm -q --provides tree
    tree = 1.7.0-15.el8
    tree(x86-64) = 1.7.0-15.el8
    
  • 查看server.xml是安装那个软件包生成的
    # rpm -qf /etc/tomcat/server.xml
  • 查看系统是否安装过tree软件包
    # rpm -q tree
    tree-1.7.0-15.el8.x86_64
    
  • 查询系统上安装过的所有tree软件包
    # tree -qa
    .
    └── matrix
        ├── bin
        │   └── cmatrix
        └── man
            └── man1
                └── cmatrix.1
    
    4 directories, 2 files
    
  • 查该软件包会向系统里面写入哪些文件
    rpm -qpl tree
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352

推荐阅读更多精彩内容