美文网首页
Linux 命令之 - rpm

Linux 命令之 - rpm

作者: googoler | 来源:发表于2021-03-12 15:56 被阅读0次

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

相关文章

网友评论

      本文标题:Linux 命令之 - rpm

      本文链接:https://www.haomeiwen.com/subject/uqlzqltx.html