RPM安装与卸载

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。

RPM(Red Hat Package Manager)
命令:rpm

用法: rpm [选项...]

查询/验证软件包选项:
  -a, --all                         查询/验证所有软件包
  -f, --file                         查询/验证文件属于的软件包
  -g, --group                   查询/验证组中的软件包
  -p, --package               查询/验证一个软件包
      --pkgid                      query/verify package(s) with package
                                    identifier
      --hdrid                       query/verify package(s) with header
                                    identifier
      --triggeredby            query the package(s) triggered by the
                                    package
      --whatrequires          query/verify the package(s) which require
                                    a dependency
      --whatprovides          查询/验证提供相关依赖的软件包
      --nomanifest              不把非软件包文件作为清单处理

查询选项(用 -q 或 --query):
  -c, --configfiles                列出所有配置文件
  -d, --docfiles                    列出所有程序文档
  -L, --licensefiles               list all license 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                在安装前不检查磁盘空间
  -i, --install                       安装软件包
      --justdb                       更新数据库,但不修改文件系统
      --nodeps                     不验证软件包依赖
      --nofiledigest             不验证文件摘要
      --nocontexts               不安装文件的安全上下文
      --noorder                    不对软件包安装重新排序以满足依赖关系
      --noscripts                   不执行软件包脚本
      --notriggers                  不执行本软件包触发的任何脚本
      --nocollections               请不要执行任何动作集
      --oldpackage                  更新到软件包的旧版本(带 --force
                                    自动完成这一功能)
      --percent                     安装软件包时打印百分比
      --prefix=<dir>                如果可重定位,便把软件包重定位到 <dir>
      --relocate=<old>=<new>        将文件从 <old> 重定位到 <new>
      --replacefiles                忽略软件包之间的冲突的文件
      --replacepkgs                 如果软件包已经有了,重新安装软件包
      --test                        不真正安装,只是判断下是否能安装
  -U, --upgrade=<packagefile>+      升级软件包

所有 rpm 模式和可执行文件的通用选项:
  -D, --define=“MACRO EXPR”         定义值为 EXPR 的 MACRO
      --undefine=MACRO              undefine MACRO
  -E, --eval=“EXPR”                 打印 EXPR 的宏展开
      --macros=<FILE:…>             从文件 <FILE:...>
                                    读取宏,不使用默认文件
      --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
      --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)
      --info                        list descriptive information from
                                    package(s)
      --changelog                   list change logs for this package
      --xml                         list metadata in xml
      --triggers                    list trigger 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 classes
      --filecolor                   list file names with colors
      --fscontext                   list file names with security context from
                                    file system
      --fileprovide                 list file names with provides
      --filerequire                 list file names with requires
      --filecaps                    list file names with POSIX1.e capabilities

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

rpm基本操作

  <1>RPM 安装

  rpm -i ... ...

  rpm {-i|--install} [install-options] PACKAGE_FILE ...

  rpm -i exanple.rpm 安装文件

  rpm -iv example.rpm 显示正在安装的文件信息

  rpm -ivh example.rpm 显示正在安装的文件及进度

  <2>RPM 卸载

  rpm -e ... ...

  rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]

  <3>RPM 查询

  rpm -q ... ...

  rpm {-q|--query} [select-options] [query-options]
  rpm {-V|--verify} [select-options] [verify-options]

  参数参考:

  a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息

  i 显示安装包的信息

  l 显示安装包中的所有文件被安装到哪些目录下

  s 显示安装版中的所有文件状态及被安装到哪些目录下

  p 查询的是安装包的信息

  f 查询的是已安装的某文件信息

示例:

# rpm -qa | grep gcc
libgcc-4.8.2-7.fc20.i686
gcc-c++-4.8.2-7.fc20.i686
gcc-4.8.2-7.fc20.i686

 

# rpm -qi adobe-release-i386 
Name        : adobe-release-i386
Version     : 1.0
Release     : 1
Architecture: noarch
Install Date: 2014年03月27日 星期四 17时18分53秒
Group       : System Environment/Base
Size        : 1905
License     : BSD
Signature   : DSA/SHA1, 2008年07月16日 星期三 22时20分47秒, Key ID 3a69bd24f6777c67
Source RPM  : adobe-release-i386-1.0-1.src.rpm
Build Date  : 2007年07月26日 星期四 06时52分20秒
Build Host  : mtilburg-rh4.macromedia.com
Relocations : (not relocatable)
Packager    : Adobe Systems Inc.
Vendor      : Adobe Systems Inc.
URL         : http://linuxdownload.adobe.com/
Summary     : linux.adobe.com Repository Configuration
Description :
linuxdownload.adobe.com repository contains RPM packages of Adobe Linux Software

 

 

# rpm -ql adobe-release-i386 
/etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
/etc/yum.repos.d/adobe-linux-i386.repo

 

#rpm -qp adobe-release-i386-1.0-1.noarch.rpm 
adobe-release-i386-1.0-1.noarch

  <4>RPM 升级

  rpm -U

  rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

示例: 

# rpm -U adobe-release-i386-1.0-1.noarch.rpm 
软件包 adobe-release-i386-1.0-1.noarch 已经安装

 

  <5>RPM 验证

  rpm -V   

RPM 其他附加命令

--force 强制操作 如强制安装删除等;
--requires 显示该包的依赖关系;
--nodeps 忽略依赖关系并继续操作

posted @ 2014-04-28 19:10  yakemozu  阅读(296)  评论(0编辑  收藏  举报