前言
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的身份執行
六、思維導圖






