rpm:RPM包管理器
简介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/
[root@localhost ~]# wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
1、查看rpm包信息
[root@localhost ~]# rpm -qpi lrzsz-0.12.20-36.el7.x86_64.rpm #这里i表示info,单独使用i就是install
Name : lrzsz
Version : 0.12.20
Release : 36.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/Communications
Size : 184846
License : GPLv2+
Signature : RSA/SHA256, Thu 03 Jul 2014 11:35:32 PM EDT, Key ID 24c6a8a7f4a80eb5
Source RPM : lrzsz-0.12.20-36.el7.src.rpm
Build Date : Mon 09 Jun 2014 07:29:11 PM EDT
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.ohse.de/uwe/software/lrzsz.html
Summary : The lrz and lsz modem communications programs
Description :
Lrzsz (consisting of lrz and lsz) is a cosmetically modified
zmodem/ymodem/xmodem package built from the public-domain version of
the rzsz package. Lrzsz was created to provide a working GNU
copylefted Zmodem solution for Linux systems.
2、查询可能rpm包内的文件
[root@localhost ~]# rpm -qpl lrzsz-0.12.20-36.el7.x86_64.rpm
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz.1.gz
/usr/share/man/man1/sz.1.gz
3、查看rpm包的依赖
[root@localhost ~]# rpm -qpR lrzsz-0.12.20-36.el7.x86_64.rpm
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libnsl.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
4、安装rpm包
[root@localhost ~]# rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:lrzsz-0.12.20-36.el7 ################################# [100%]
#rpm还支持在线安装,直接在后面跟rpm包的链接地址
[root@localhost ~]# rpm -ivh http://xxxxx/xxx.rpm
5、查询系统是否安装了指定的rpm包
[root@localhost ~]# rpm -qa lrzsz
lrzsz-0.12.20-36.el7.x86_64
6、卸载rpm包(这个尽量少使用)
[root@localhost ~]# rpm -e lrzsz #卸载软件包使用-e参数,这个参数比较危险,一般情况下没有必要则不要去卸载软件包,有可能会误删一些系统必备的文件,最后导致系统损坏
7、卸载rpm包(不卸载相关依赖)
[root@localhost ~]# rpm -e --nodeps lrzsz #一般尽量不要卸载,如果非要卸载可以使用该命令,但是也不能防止误卸载了相关依赖
8、查询文件属于哪个rpm包(有时候会发现系统没有某些文件或者命令,但有不知道属于哪个软件包,这时候可以使用-f来查询)
[root@localhost ~]# rpm -qf $(which rz)
lrzsz-0.12.20-36.el7.x86_64
[root@localhost ~]# rpm -qf $(which sz)
lrzsz-0.12.20-36.el7.x86_64