<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-153  評論-235  文章-19  trackbacks-0

    轉載: http://www.math.ecnu.edu.cn/~jypan/linux/command/rpm.htm

     

    RPM 命令

    一、RPM介紹

    1.什么是rpm ?

    rpm 即RedHat Package Management,是RedHat的發明之一 

    2.為什么需要rpm ?

    在一個操作系統下,需要安裝實現各種功能的軟件包。這些軟件包一般都有各自的程序,
    但是同時也有錯綜復雜的依賴關系。同時還需要 解決軟件包的版本,以及安裝,配置,
    卸載的自動化問題。為了解決 這些問題,RedHat針對自己的系統提出了一個較好的辦法
    來管理成千 上百的軟件。這就是RPM管理系統。在系統中安裝了rpm管理系統以后, 
    只要是符合rpm文件標準的打包程序都可以方便地安裝、升級、卸載。

    3.是不是所有的linux都使用rpm ?

    任何系統都需要包管理系統,因此很多linux都使用rpm系統。 rpm系統是Redhat Linux和
    Fedora Core的軟件包管理器,但是Mandriva、SuSE等Linux發行版也都使用rpm。由于rpm
    的源程序可以在別的系統上進行編譯,所以有可能在別的系統上也使用rpm。除了rpm,
    其他一些系統也有自己的軟件包管理程序, 例如 debian的deb包。 

    4.rpm包的文件名為什么那么長 ?

    rpm包的文件名中包含了這個軟件包的版本信息,操作系統信息,硬件要求等等。
    比如mypackage-1.1-2RH.i386.rpm,其中mypackage是在系統中登記的軟件包的名字1.1
    是軟件的版本號,2是發行號,RH表示用于RH操作系統。i386表示用于intel x86平臺。 

    5.軟件包文件名中的i386,i686是什么意思

    rpm軟件包的文件名中,不僅包含了軟件名稱,版本信息,還包括了適用的硬件架構的信息。 
     
    i386指這個軟件包適用于intel 80386以上的x86架構的計算機(AI32) 
    i686指這個軟件包適用于intel 80686以上(奔騰pro以上)的x86架構的計算機(IA32) 
    noarch指這個軟件包與硬件架構無關,可以通用。 
     
    i686軟件包通常針對CPU進行了優化,現在通常配置的機器都可以使用i686軟件包。 

    6.不同操作系統發行的rpm包可否混用?

    對于已經編譯成二進制的rpm包,由于操作系統環境不同,一般不能混用。 
    對于以src.rpm發行的軟件包,由于需要安裝時進行本地編譯,所以通常可以在不同系統下安裝。 

    二、RPM包管理的用途

    1、可以安裝、刪除、升級和管理以rpm包形式發布的軟件;
    2、可以查詢某個rpm包中包含哪些文件,以及某個指定文件屬于哪個rpm包;
    3、可以在查詢系統中的某個rpm包是否已安裝以及其版本;
    4、作為開發者可以把自己開發的軟件打成rpm包發布;
    5、依賴性的檢查,查詢安裝某個rpm包時,需要哪些其它的rpm包。 
     
    注:RPM軟件的安裝、刪除、更新只有root權限才能使用;
        對于查詢功能任何用戶都可以操作。

    三、rpm 的一點簡單用法

    rpm的一般格式:

     rpm [選項] [rpm軟件包]

    1、初始化rpm 數據庫(可以省略)

    rpm --initdb
    rpm --rebuilddb % 注:這個要花好長時間
     
    %注:有時rpm 系統出了問題,不能安裝和查詢,大多是這里出了問題。

    2、RPM軟件包管理的查詢功能:

    rpm -q [select-options] [query-options]

    RPM的查詢功能是極為強大,是極為重要的功能之一;這里舉幾個常用的例子,更為詳細的具體的,請參考 man rpm

    對系統中已安裝軟件的查詢

    1)查詢系統已安裝的軟件
     
    語法:rpm -q 軟件名
     
    例:rpm -q mplayer
    % -q就是 --query,此選項表示詢問系統是不是安裝了gaim軟件包;
    % 如果已安裝會有信息輸出;如果沒有安裝,會輸出gaim 沒有安裝的信息;
     
    %查看系統中所有已經安裝的包,要加 -a 參數
    rpm -qa
     
    % 如果分頁查看,再加一個管道 |和more命令
    rpm -qa |more
     
    % 如果要查找某個軟件包,可以用 grep 抽取出來
    rpm -qa |grep mplayer
    2)查詢一個已經安裝的文件屬于哪個軟件包;
     
    語法: rpm -qf 文件名
     
    注:文件名所在的絕對路徑要指出
     
    例:rpm -qf /usr/lib/libacl.la
    3)查詢已安裝軟件包都安裝到何處;
     
    語法:rpm -ql 軟件包名 
     
    例:rpm -ql mplayer
    4)查詢一個已安裝軟件包的信息 
     
    語法: rpm -qi 軟件包名
     
    例:rpm -qi mplayer
    5)查看一下已安裝軟件的配置文件;
     
    語法格式:rpm -qc 軟件名
     
    例:rpm -qc mplayer
    6)查看一個已經安裝軟件的文檔安裝位置:
     
    語法格式: rpm -qd 軟件名
     
    例:rpm -qd mplayer
    7)查看一下已安裝軟件所依賴的軟件包及文件;
     
    語法格式: rpm -qR 軟件名
     
    例:rpm -qR mplayer
     
    :可以把幾個參數組合起來用,如 rpm -qil mplayer

    對于未安裝的軟件包的查看 :查看的前提是當前目錄下已存在一個.rpm文件。

    1)查看一個軟件包的用途、版本等信息;
     
    語法: rpm -qpi file.rpm
     
    例:rpm -qpi mplayer-1.0pre7try2-2.i386.rpm
    2)查看一件軟件包所包含的文件;
     
    語法: rpm -qpl file.rpm
     
    例:rpm -qpl mplayer-1.0pre7try2-2.i386.rpm
    3)查看軟件包的文檔所在的位置;
     
    語法: rpm -qpd file.rpm
     
    例:rpm -qpd mplayer-1.0pre7try2-2.i386.rpm
    4)查看一個軟件包的配置文件;
     
    語法: rpm -qpc file.rpm
     
    例:rpm -qpc mplayer-1.0pre7try2-2.i386.rpm
    5)查看一個軟件包的依賴關系
     
    語法: rpm -qpR file.rpm
     
    例:rpm -qpR mplayer-1.0pre7try2-2.i386.rpm

    3、軟件包的安裝、升級、刪除等; 安裝和升級一個rpm 包

    語法: 
      rpm -ivh file.rpm   % 這個是用來安裝一個新的rpm 包
     rpm -Uvh file.rpm   % 這是用來升級一個rpm 包
     
    % 如果有依賴關系的,需解決依賴關系。
    % 如果找不到依賴關系的包,可以用下面的命令強制安裝:
     
     rpm -ivh --nodeps --force file.rpm 
      rpm -Uvh --nodeps --force file.rpm
     
    例:
    rpm -ivh --test mplayer-1.0pre7try2-2.i386.rpm
    % --test表示測試,并不真正安裝。
     
    rpm -ivh --relocate /=/usr/local/mplayer mplayer-1.0pre7try2-2.i386.rpm
    % 為軟件包指定安裝目錄:要加 --relocate 參數
    % 安裝在指定目錄中的程序如何調用呢?
    % 通常可執行程序都放在安裝目錄下的bin或者sbin目錄中。

    刪除一個rpm 包

    首先查出需要刪除的rpm包,然后用下面的命令來卸載:
     
    rpm -e 軟件包名 
     
    例:rpm -e mplayer   % 卸載mplayer
    % 如果有其它的rpm依賴于該rpm包,系統會出現警告。
    % 如果一定要卸載,可以用選項 --nodeps 忽略依賴關系。但最好不要這么做。

    四、RPM管理包管理器支持網絡安裝和查詢

    rpm [選項] rpm包的http或者ftp的地址
     
    比如我們想通過 Fedora Core 4.0 的一個鏡像查詢、安裝軟件包。
     
    rpm -qpi http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm
    % 查詢
     
    rpm -ivh http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm
    % 安裝

    五、對已安裝rpm包查詢的一點補充

    可以用 locate來查詢一些軟件的安裝位置,可能需要先運行updatedb來更新已安裝軟件庫

    六、從rpm軟件包抽取文件

    rpm2cpio xxx.rpm | cpio -idmv
    % i 表示提取文件,v 表示指示執行進程
    % d 表示根據包中文件原來的路徑建立目錄 
    % m 表示保持文件的更新時間
    posted on 2008-03-24 14:17 流浪汗 閱讀(2379) 評論(1)  編輯  收藏 所屬分類: linux

    評論:
    # re: rpm 命令 2011-11-21 23:50 | dpc27149
    不錯,最近頻繁用到這些命令  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产精品亚洲专区在线播放| 亚洲免费电影网站| 一级黄色免费大片| 免费jjzz在线播放国产 | 亚洲系列国产精品制服丝袜第| 和老外3p爽粗大免费视频| 亚洲国产区男人本色在线观看| 精品久久8x国产免费观看| 亚洲精品国产手机| 噼里啪啦电影在线观看免费高清 | 国产无限免费观看黄网站| 亚洲精品无码激情AV| 久久国产一片免费观看| 亚洲一区二区三区免费| 学生妹亚洲一区二区| 啦啦啦www免费视频| 国产午夜亚洲精品不卡免下载| 国产青草视频免费观看97| 四虎影视永久在线精品免费| 国产成人精品久久亚洲| 久9久9精品免费观看| 亚洲欧洲国产视频| 国产真人无遮挡作爱免费视频| 男女作爱免费网站| 亚洲国产精品VA在线观看麻豆| 亚欧免费一级毛片| 亚洲另类无码专区首页| 亚洲乱码国产一区网址| 久久久久成人片免费观看蜜芽 | 3344免费播放观看视频 | 日韩一区二区三区免费播放| 亚洲av无码一区二区三区乱子伦| 麻豆视频免费播放| 免费人成视频在线播放| 亚洲V无码一区二区三区四区观看| 18禁免费无码无遮挡不卡网站 | 亚洲人成人网站18禁| 亚洲中文字幕在线第六区| 在线观看亚洲专区| 亚洲AV无码成人精品区在线观看 | 亚洲w码欧洲s码免费|