rpm:RPM包管理器

xiaohai 2021-07-24 16:47:11 3252人围观 标签: Linux 
简介rpm命令的全称是:Red Hat Package Manager(Red Hat包管理器),几乎所有的Linux发行版都使用了这种形式的命令管理、安装、更新和卸载软件   rpm命令包含了五种基本功能:安装、卸载、升级、查询和验证
说明

  rpm命令的全称是:Red Hat Package Manager(Red Hat包管理器),几乎所有的Linux发行版都使用了这种形式的命令管理、安装、更新和卸载软件
  rpm命令包含了五种基本功能:安装、卸载、升级、查询和验证

格式

  rpm [option]

常用参数
  • -q:查询软件包
  • -p:后接以”.rpm”为后缀的软件包
  • -i:如果与-qp配合使用,则表示显示软件包的概要信息,此时i是info的缩写;安装软件包,此时i是install的缩写
  • -l:显示软件包的所有文件列表
  • -R:显示软件包的依赖环境
  • -v:显示详细信息
  • -h:用#显示安装进度条
  • -a:与-q搭配使用,用户查询所有的软件包
  • -e:卸载软件包
  • -f:查看文件或命令属于哪个软件包
  • -U:升级软件包
示例

准备:下载一个rpm软件包
阿里云Centos7的RPM包地址:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

  1. [root@localhost ~]# wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

1、查看rpm包信息

  1. [root@localhost ~]# rpm -qpi lrzsz-0.12.20-36.el7.x86_64.rpm #这里i表示info,单独使用i就是install
  2. Name : lrzsz
  3. Version : 0.12.20
  4. Release : 36.el7
  5. Architecture: x86_64
  6. Install Date: (not installed)
  7. Group : Applications/Communications
  8. Size : 184846
  9. License : GPLv2+
  10. Signature : RSA/SHA256, Thu 03 Jul 2014 11:35:32 PM EDT, Key ID 24c6a8a7f4a80eb5
  11. Source RPM : lrzsz-0.12.20-36.el7.src.rpm
  12. Build Date : Mon 09 Jun 2014 07:29:11 PM EDT
  13. Build Host : worker1.bsys.centos.org
  14. Relocations : (not relocatable)
  15. Packager : CentOS BuildSystem <http://bugs.centos.org>
  16. Vendor : CentOS
  17. URL : http://www.ohse.de/uwe/software/lrzsz.html
  18. Summary : The lrz and lsz modem communications programs
  19. Description :
  20. Lrzsz (consisting of lrz and lsz) is a cosmetically modified
  21. zmodem/ymodem/xmodem package built from the public-domain version of
  22. the rzsz package. Lrzsz was created to provide a working GNU
  23. copylefted Zmodem solution for Linux systems.

2、查询可能rpm包内的文件

  1. [root@localhost ~]# rpm -qpl lrzsz-0.12.20-36.el7.x86_64.rpm
  2. /usr/bin/rb
  3. /usr/bin/rx
  4. /usr/bin/rz
  5. /usr/bin/sb
  6. /usr/bin/sx
  7. /usr/bin/sz
  8. /usr/share/locale/de/LC_MESSAGES/lrzsz.mo
  9. /usr/share/man/man1/rz.1.gz
  10. /usr/share/man/man1/sz.1.gz

3、查看rpm包的依赖

  1. [root@localhost ~]# rpm -qpR lrzsz-0.12.20-36.el7.x86_64.rpm
  2. libc.so.6()(64bit)
  3. libc.so.6(GLIBC_2.11)(64bit)
  4. libc.so.6(GLIBC_2.14)(64bit)
  5. libc.so.6(GLIBC_2.15)(64bit)
  6. libc.so.6(GLIBC_2.2.5)(64bit)
  7. libc.so.6(GLIBC_2.3)(64bit)
  8. libc.so.6(GLIBC_2.3.4)(64bit)
  9. libc.so.6(GLIBC_2.4)(64bit)
  10. libc.so.6(GLIBC_2.7)(64bit)
  11. libnsl.so.1()(64bit)
  12. rpmlib(CompressedFileNames) <= 3.0.4-1
  13. rpmlib(FileDigests) <= 4.6.0-1
  14. rpmlib(PartialHardlinkSets) <= 4.0.4-1
  15. rpmlib(PayloadFilesHavePrefix) <= 4.0-1
  16. rtld(GNU_HASH)
  17. rpmlib(PayloadIsXz) <= 5.2-1

4、安装rpm包

  1. [root@localhost ~]# rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
  2. Preparing... ################################# [100%]
  3. Updating / installing...
  4. 1:lrzsz-0.12.20-36.el7 ################################# [100%]
  5. #rpm还支持在线安装,直接在后面跟rpm包的链接地址
  6. [root@localhost ~]# rpm -ivh http://xxxxx/xxx.rpm

5、查询系统是否安装了指定的rpm包

  1. [root@localhost ~]# rpm -qa lrzsz
  2. lrzsz-0.12.20-36.el7.x86_64

6、卸载rpm包(这个尽量少使用

  1. [root@localhost ~]# rpm -e lrzsz #卸载软件包使用-e参数,这个参数比较危险,一般情况下没有必要则不要去卸载软件包,有可能会误删一些系统必备的文件,最后导致系统损坏

7、卸载rpm包(不卸载相关依赖)

  1. [root@localhost ~]# rpm -e --nodeps lrzsz #一般尽量不要卸载,如果非要卸载可以使用该命令,但是也不能防止误卸载了相关依赖

8、查询文件属于哪个rpm包(有时候会发现系统没有某些文件或者命令,但有不知道属于哪个软件包,这时候可以使用-f来查询)

  1. [root@localhost ~]# rpm -qf $(which rz)
  2. lrzsz-0.12.20-36.el7.x86_64
  3. [root@localhost ~]# rpm -qf $(which sz)
  4. lrzsz-0.12.20-36.el7.x86_64