前言
rpm命令是RPM软件包的管理工具。rpm原本是是Red Hat linux发行版专门用来管理Linux各项套件的程序。
目录
一、概要
二、查询已安装的软件包
三、查询未安装软件包的信息
四、安装、删除、升级RPM软件包
五、总结
六、思维导图
一、概要
1、rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
2、必须以root的身份执行
3、查询rpm软件包
- [-q]:查询rpm软件包
- 要查询软件包的其他信息,可结合使用其它参数。
rpm -q[参数1参数2...] [安装文件1] [安装文件2]... # 查询已安装软件包的信息
4、常用选项
- [-q]:查询指定的一个或多个软件包是否安装;
- [-qa]:显示当前系统中已安装的全部rpm软件包清单;
- [-qi]:显示软件包的名称、版本、许可协议、用途等详细信息;
- [-ql]:显示指定的软件包在当前系统中安装的所有目录、文件列表;
- [-qf]:查询指定的目录或文件是由哪个软件包安装所产生的;
- [-qc]:显示指定软件包在当前系统中被标注为配置文件的文件清单;
二、查询已安装的软件包
1、查询指定的软件包是否安装
- 若已安装,将显示该软件包的完整名称(包含版本号信息);
- 若未安装,则提示未安装。
[root@localhost ~]# rpm -q openssh samba
openssh-7.4p1-16.el7.x86_64
package samba is not installed
- 一般系统安装的软件包较多,为便于分屏浏览,可结合管道操作符和less、grep命令来实现,其命令用法为:
[root@localhost ~]# rpm -qa | less
2、查看已安装的openssh软件包的版本、用途等详细信息
[root@localhost ~]# rpm -qi openssh
3、显示已安装openssh软件包中所包含文件的文件名及安装位置
[root@localhost ~]# rpm -ql openssh | less
/etc/ssh
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/libexec/openssh
/usr/libexec/openssh/ctr-cavstest
/usr/libexec/openssh/ssh-keysign
/usr/share/doc/openssh-7.4p1
/usr/share/doc/openssh-7.4p1/CREDITS
/usr/share/doc/openssh-7.4p1/ChangeLog
/usr/share/doc/openssh-7.4p1/INSTALL
/usr/share/doc/openssh-7.4p1/OVERVIEW
/usr/share/doc/openssh-7.4p1/PROTOCOL
/usr/share/doc/openssh-7.4p1/PROTOCOL.agent
/usr/share/doc/openssh-7.4p1/PROTOCOL.certkeys
/usr/share/doc/openssh-7.4p1/PROTOCOL.chacha20poly1305
/usr/share/doc/openssh-7.4p1/PROTOCOL.key
/usr/share/doc/openssh-7.4p1/PROTOCOL.krl
/usr/share/doc/openssh-7.4p1/PROTOCOL.mux
/usr/share/doc/openssh-7.4p1/README
/usr/share/doc/openssh-7.4p1/README.DNS
/usr/share/doc/openssh-7.4p1/README.platform
/usr/share/doc/openssh-7.4p1/README.privsep
/usr/share/doc/openssh-7.4p1/README.tun
/usr/share/doc/openssh-7.4p1/TODO
/usr/share/licenses/openssh-7.4p1
/usr/share/licenses/openssh-7.4p1/LICENCE
/usr/share/man/man1/ssh-keygen.1.gz
/usr/share/man/man8/ssh-keysign.8.gz
4、查询系统中access文件是由哪个软件包安装的
[root@localhost ~]# rpm -qf /etc/postfix/access
postfix-2.10.1-7.el7.x86_64
5、查询系统中postfix软件包安装的配置文件列表
[root@localhost ~]# rpm -qc postfix
/etc/pam.d/smtp.postfix
/etc/postfix/access
/etc/postfix/canonical
/etc/postfix/generic
/etc/postfix/header_checks
/etc/postfix/main.cf
/etc/postfix/master.cf
/etc/postfix/relocated
/etc/postfix/transport
/etc/postfix/virtual
/etc/sasl2/smtpd.conf
三、查询未安装软件包的信息
安装一个软件包前,需了解软件包的相关信息,比如:该软件包的描述信息、文件列表等。
在参数基础上再添加[ p ]参数可以实现对未安装的rpm软件包相应信息的显示。
[root@localhost ~]# rpm -qlp /mnt/Packages/ppp-2.4.5-33.el7.x86_64.rpm
/etc/logrotate.d
/etc/logrotate.d/ppp
/etc/pam.d/ppp
/etc/ppp
/etc/ppp/chap-secrets
/etc/ppp/eaptls-client
/etc/ppp/eaptls-server
/etc/ppp/options
/etc/ppp/pap-secrets
/usr/lib/tmpfiles.d/ppp.conf
/usr/lib64/pppd
/usr/lib64/pppd/2.4.5
/usr/lib64/pppd/2.4.5/minconn.so
/usr/lib64/pppd/2.4.5/openl2tp.so
/usr/lib64/pppd/2.4.5/passprompt.so
/usr/lib64/pppd/2.4.5/passwordfd.so
/usr/lib64/pppd/2.4.5/pppoatm.so
/usr/lib64/pppd/2.4.5/pppol2tp.so
/usr/lib64/pppd/2.4.5/radattr.so
/usr/lib64/pppd/2.4.5/radius.so
/usr/lib64/pppd/2.4.5/radrealms.so
/usr/lib64/pppd/2.4.5/rp-pppoe.so
/usr/lib64/pppd/2.4.5/winbind.so
/usr/sbin/chat
/usr/sbin/pppd
/usr/sbin/pppdump
/usr/sbin/pppoe-discovery
/usr/sbin/pppstats
/usr/share/doc/ppp-2.4.5
/usr/share/doc/ppp-2.4.5/FAQ
/usr/share/doc/ppp-2.4.5/README
/usr/share/doc/ppp-2.4.5/README.MPPE
/usr/share/doc/ppp-2.4.5/README.MSCHAP80
/usr/share/doc/ppp-2.4.5/README.MSCHAP81
/usr/share/doc/ppp-2.4.5/README.cbcp
/usr/share/doc/ppp-2.4.5/README.eap-tls
/usr/share/doc/ppp-2.4.5/README.linux
/usr/share/doc/ppp-2.4.5/README.pppoe
/usr/share/doc/ppp-2.4.5/README.pwfd
/usr/share/doc/ppp-2.4.5/sample
/usr/share/doc/ppp-2.4.5/sample/auth-down
/usr/share/doc/ppp-2.4.5/sample/auth-up
/usr/share/doc/ppp-2.4.5/sample/ip-down
/usr/share/doc/ppp-2.4.5/sample/ip-up
/usr/share/doc/ppp-2.4.5/sample/options
/usr/share/doc/ppp-2.4.5/sample/options.ttyXX
/usr/share/doc/ppp-2.4.5/sample/pap-secrets
/usr/share/doc/ppp-2.4.5/scripts
/usr/share/doc/ppp-2.4.5/scripts/README
/usr/share/doc/ppp-2.4.5/scripts/autopppd
/usr/share/doc/ppp-2.4.5/scripts/callback
/usr/share/doc/ppp-2.4.5/scripts/chat-callback
/usr/share/doc/ppp-2.4.5/scripts/chatchat
/usr/share/doc/ppp-2.4.5/scripts/chatchat/README
/usr/share/doc/ppp-2.4.5/scripts/chatchat/chatchat.c
/usr/share/doc/ppp-2.4.5/scripts/ip-down.local.add
/usr/share/doc/ppp-2.4.5/scripts/ip-up.local.add
/usr/share/doc/ppp-2.4.5/scripts/options-rsh-loc
/usr/share/doc/ppp-2.4.5/scripts/options-rsh-rem
/usr/share/doc/ppp-2.4.5/scripts/options-ssh-loc
/usr/share/doc/ppp-2.4.5/scripts/options-ssh-rem
/usr/share/doc/ppp-2.4.5/scripts/plog
/usr/share/doc/ppp-2.4.5/scripts/poff
/usr/share/doc/ppp-2.4.5/scripts/pon
/usr/share/doc/ppp-2.4.5/scripts/pon.1
/usr/share/doc/ppp-2.4.5/scripts/ppp-off
/usr/share/doc/ppp-2.4.5/scripts/ppp-on
/usr/share/doc/ppp-2.4.5/scripts/ppp-on-dialer
/usr/share/doc/ppp-2.4.5/scripts/ppp-on-rsh
/usr/share/doc/ppp-2.4.5/scripts/ppp-on-ssh
/usr/share/doc/ppp-2.4.5/scripts/redialer
/usr/share/doc/ppp-2.4.5/scripts/secure-card
/usr/share/man/man8/chat.8.gz
/usr/share/man/man8/pppd-radattr.8.gz
/usr/share/man/man8/pppd-radius.8.gz
/usr/share/man/man8/pppd.8.gz
/usr/share/man/man8/pppdump.8.gz
/usr/share/man/man8/pppoe-discovery.8.gz
/usr/share/man/man8/pppstats.8.gz
/var/lock/ppp
/var/log/ppp
/var/run/ppp
四、安装、删除、升级RPM软件包
1、语法:
- 安装:rpm -i[vh] 软件包文件全路径名 [--force] [--nodeps]
- 删除:rpm -e 软件包名
- 升级:rpm -U[vh] 软件包文件全路径名 [--force] [--nodeps]
2、常用选项:
- [ -i ]:在当前系统中安装(install)一个新的RPM软件包
- [ -v ]:显示安装过程中较详细(verbose)的安装信息,有助于了解安装是否成功及出错原因
- [ -h ]:在安装或升级过程中,以hash记号(“#”) 显示安装的进度
- [ -e ]:删除(erase)指定名称的已安装的软件包
- [ -U ]:升级(upgrade)安装,先卸载旧版本,再安装新软件包,若指定的rpm包并未安装,则系统直接进行安装
- [ --force ]:强制安装指定的软件包。当需要替换已安装的软件包及文件、或者安装一个比当前使用的软件版本更旧的软件时,可以使用此参数
- [ --nodeps ]:在安装、升级或删除一个软件包时,不检查与其他软件包的依赖关系
五、总结
- rpm命令是RPM软件包的管理工具
- 必须以root的身份执行
六、思维导图