關於rpm的命令


我是從這里學的:https://www.cnblogs.com/picaso/archive/2012/07/02/2573748.html

    軟件的安裝時操作系統管理的基礎,與Windows不同,Linux的軟件管理有很多種方式,Redhat的最常用的是RPM方式,安裝集成在光盤中的RPM包。這種方式比Windows平台的軟件管理更加便捷(個人感覺,總體感覺Windows程序安裝於卸載有點復雜),使用起來也更加的心用手。

  1、Redhat中的rpm包的位置——  光盤目錄中的  Package 目錄全部都是。

  2、RPM常用命令解讀:

    a、安裝程序:    rpm -ivh <軟件包的絕對路徑>   #i為install;v,verbose;h,hash

[root@asdf /]# rpm -ivh /media/RHEL_6.1\ i386\ Disc\ 1/Packages/vsftpd-2.2.2-6.el6_0.1.i686.rpm 

    b、卸載程序:    rpm -e  <軟件名>

[root@asdf /]# rpm -e vsftpd  # e => erase 、uninstall
[root@asdf /]# rpm -q vsftpd   #檢測一下是否已卸載
package vsftpd is not installed

rpm -aq|grep yum|xargs rpm -e --nodeps  #卸載所有yum相關包

    c、查詢指定軟件是否已安裝:   rpm -q  <軟件名>   /    rpm  -qa <軟件名> /  rpm -qa | grep <軟件名>

復制代碼
[root@asdf /]# rpm -q yum     # q,query
yum-3.2.29-17.el6.noarch
[root@peano /]# rpm -qa yum   #這個命令沒有上一個命令快
yum-3.2.29-17.el6.noarch
[root@peano /]# rpm -qa | grep yum    #該命令使用管道進行正則匹配
yum-metadata-parser-1.1.2-16.el6.i686
PackageKit-yum-0.5.8-19.el6.i686
yum-utils-1.1.30-6.el6.noarch
yum-rhn-plugin-0.9.1-26.el6.noarch
PackageKit-yum-plugin-0.5.8-19.el6.i686
yum-3.2.29-17.el6.noarch
復制代碼

    d、查詢已安裝軟件中的某一個文件的軟件包的詳細名稱:  rpm -qf <某一文件>

[root@peano /]# rpm -qf /etc/yum.conf   #qf, query file
yum-3.2.29-17.el6.noarch

    e、查詢已安裝程序都安裝在哪里:  rpm -ql  <程序名>

復制代碼
[root@asdf /]# rpm -ql yum    #猜測:  ql,query location
/etc/bash_completion.d
/etc/bash_completion.d/yum.bash
/etc/logrotate.d/yum
/etc/yum
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/pluginconf.d
/etc/yum/protected.d
/etc/yum/vars
/etc/yum/version-groups.conf
/usr/bin/yum
/usr/lib/python2.6/site-packages/rpmUtils
/usr/lib/python2.6/site-packages/rpmUtils/__init__.py
/usr/lib/python2.6/site-packages/rpmUtils/__init__.pyc
/usr/lib/python2.6/site-packages/rpmUtils/__init__.pyo
/usr/lib/python2.6/site-packages/rpmUtils/arch.py
/usr/lib/python2.6/site-packages/rpmUtils/arch.pyc
/usr/lib/python2.6/site-packages/rpmUtils/arch.pyo
/usr/lib/python2.6/site-packages/rpmUtils/miscutils.py
/usr/lib/python2.6/site-packages/rpmUtils/miscutils.pyc
/usr/lib/python2.6/site-packages/rpmUtils/miscutils.pyo
/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.py
/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyc
/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyo
/usr/lib/python2.6/site-packages/rpmUtils/transaction.py
/usr/lib/python2.6/site-packages/rpmUtils/transaction.pyc
/usr/lib/python2.6/site-packages/rpmUtils/transaction.pyo
---More---
復制代碼

    f、查詢已安裝軟件包信息:  rpm -qi <軟件名>

復制代碼
[root@asdf /]# rpm -qi yum     #qi,  query infomation
Name        : yum                          Relocations: (not relocatable)
Version     : 3.2.29                            Vendor: Red Hat, Inc.
Release     : 17.el6                        Build Date: Thu 28 Apr 2011 10:43:39 AM PDT
Install Date: Mon 02 Jul 2012 02:58:17 AM PDT      Build Host: x86-005.build.bos.redhat.com
Group       : System Environment/Base       Source RPM: yum-3.2.29-17.el6.src.rpm
Size        : 4640583                          License: GPLv2+
Signature   : RSA/8, Fri 29 Apr 2011 06:41:01 AM PDT, Key ID 199e2f91fd431d51
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://yum.baseurl.org/
Summary     : RPM package installer/updater/manager
Description :
Yum is a utility that can check for and automatically download and
install updated RPM packages. Dependencies are obtained and downloaded
automatically, prompting the user for permission as necessary.
[root@asdf /]# 
復制代碼

     g、查詢已安裝軟件的文檔位置信息:rpm -qd <軟件名>

復制代碼
[root@asdf /]# rpm -qd yum     #qd, query document
/usr/share/doc/yum-3.2.29/AUTHORS
/usr/share/doc/yum-3.2.29/COPYING
/usr/share/doc/yum-3.2.29/ChangeLog
/usr/share/doc/yum-3.2.29/INSTALL
/usr/share/doc/yum-3.2.29/README
/usr/share/doc/yum-3.2.29/TODO
/usr/share/man/man5/yum.conf.5.gz
/usr/share/man/man8/yum-shell.8.gz
/usr/share/man/man8/yum.8.gz
[root@asdf /]# 
復制代碼

    h、查詢已安裝軟件的依賴關系:  rpm -qR <軟件名>

復制代碼
[root@asdf /]# rpm -qR yum    # qR ,query relation
/usr/bin/python  
config(yum) = 3.2.29-17.el6
pygpgme  
python >= 2.4
python(abi) = 2.6
python-iniparse  
python-sqlite  
python-urlgrabber >= 3.9.0-8
rpm >= 0:4.4.2
rpm-python  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
yum-metadata-parser >= 1.1.0
rpmlib(PayloadIsXz) <= 5.2-1
復制代碼

    I、如果想查詢未安裝軟件包的相關信息,可以在以上a-h的命令參數中加入一個小寫的 p 即可查詢相關的參數,比如h中的,查詢依賴關系:

復制代碼
[root@asdf Packages]# rpm -qpc vsftpd-2.2.2-6.el6_0.1.i686.rpm 
warning: vsftpd-2.2.2-6.el6_0.1.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@asdf Packages]# 
復制代碼

    J、對軟件的更新操作有兩種方式——rpm -Uvh 和-Fvh,兩者區別在於前者在對沒有安裝的軟件將自動安裝,而后者將不安裝處理;如果降級,可以采用以下命令

rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降級為舊版


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM