總結rpm和yum實現程序包的管理功能

程序包的管理器,其功能有打包、後續的包管理(安裝,升級,卸載,查詢及校驗)  
    deb:debian系列系統    
    rpm:功能的提高使得rpm包管理器成爲linux主流的標準    
       
    程序包的組成四部分:    
        1.二進制程序:程序的源代碼存放/bin, /sbin,/ /usr/bin, /usr/sbin,    node

        2.庫文件:某些         二進制程序可能會被多個程序包調用,將這些被多個調用的稱               之爲庫文件存放在/lib64,/usr/lib64    
        3.配置文件: 大型程序執行過程當中須要許多命令選項,經過配置文件肯定大型程序的工做特性         存放在/etc    
        4.幫助文件:得到程序的使用幫助 manual, infolinux


    包管理器功能:  
        打包:將程序包組成部分打包成一個單一的歸檔文件中;    
        安裝:將程序包展開,將每一個部分存放到相應的路徑供系統使用該程序;    
        卸載    
        升級    
        查詢    
        校驗:查詢程序包安裝完之後相關內容是否被修改    
       
       
    rpm包管理器    
        打包工具rpmbuild:基於爲每一個應用文件提供的specs文件打包    
   
        應用程序包根據應用程序的功能經常使用否分爲    
            核心包:testapp-VERSION 
            支包:testapp-devel-VERSION    
                VERSIOND的格式:major.minor.release    
       
        rpm包的命名機制:    
            包名-應用程序本身的版本號-rpm包本身的release.ARCH(適用的平臺架構).rpm    
            rpm包是經過rpm打包工具將應用程序包打包所得    
           
        包和包以前存在依賴關係。由於一個大型程序由若干小的程序組成    
   
    得到rpm包的途徑:    
        一、發行版的提供鏡像中有一個存放rpm包的文件夾    
        二、Fedora-EPEL    
        三、某些項目的應用程序官方網站提供項本身作的的RPM包    
        四、四、搜索引擎    
            http://rpmfind.net    
            http://rpm.pbone.net    
            http://pkgs.org    
       
    最安全可靠的RPM包獲取方法爲掛載各發行版提供的鏡像中RPM包文件    
        centos識別光盤的文件/dev/cdrom爲標準路徑    
       
       
    RPM命令的使用 實現程序包管理:    
        安裝:rpm { -i | install} 【install-options】 PACKAGE_FILE。。。    
                    -v:實現詳細過程    
                    -h:顯示過程的進度(用#表示)               
                   
                    經常使用的install-options    
                    --nodeps:忽略包之間的依賴關係安裝rpm包,在包安裝完後可能沒法使用    
                    每一個RPM包都提供一個或多個capabilities,某些RPM包的安裝須要別的包所提供                     的capabilities。稱之爲RPM包之間的依賴    
                    --replacepkgs:實現包的重裝centos

                    示例1:rpm包的安裝和重安裝  
                    p_w_picpath緩存

                   示例2:忽略包的依賴關係安裝rpm包安全

                   p_w_picpath    
        升級:    
               rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...    
               rpm {-F|--freshen} [install-options] PACKAGE_FILE ...    
                    -Uvh:若是已舊版本的RMP包,則升級到新版本的RPM包;若是沒有安裝過,則安                     裝新版本的。過程和進度都顯示出來    
                    -Fvh:若是已舊版本的RMP包,則升級到新版本的RPM包;若是沒有安裝過,就不                     作任何操做。過程和進度都顯示出來    
                    
                    升級經常使用到的install-options服務器

                    --nodeps:忽略依賴關係  
                    --oldpackage:將已安裝的新版本的RPM包降級到老版本的    
                    --force:強制升級,升級的RPM包被其餘包所依賴會被拒絕升級須要強制升級架構

                    示例:包的存在的前提條件下使用-FVH升級包  
                    app

           p_w_picpath

                    

           p_w_picpath  

                    示例:對已安裝的包降級ide

                    

          p_w_picpath

                    
        卸載:    
                rpm {-e|--erase} [--nodeps] [--noscripts] [--notriggers] [--test]                           PACKAGE_NAME ...      卸載只須要指定包名便可    
                    --nodeps:卸載一個被依賴的包後 依賴該包的包會失去做用    
                    工具

         p_w_picpath    
        查詢:    
                rpm {-q|--query} [select-options] [query-options]    
                    -qa:查詢已安裝的全部rpm包    
                    -qf /PATH/TO/SOMEFILE:查詢此路徑的文件是由哪一個包安裝生產的    
                    -qc:查詢指定rpm包安裝生產了哪些配置文件    
                    -qd:查詢指定rpm包安裝生產了哪些幫助文檔    
                    -qi:顯示指定rpm包的相關信息    
                    -ql:查詢指定rpm包安裝生產了哪些的全部文件列表    
                    -qR::查詢指定rpm包依賴那些個數據包    
                    -p:查詢對象爲未安裝的rpm包

        

         p_w_picpath    
                    
        校驗:檢測rpm包安裝後生產的文件是否有被修改的

       包校驗:  

               驗證包完整性:經過單向加密(md5|sha1)效驗碼

               驗證來源合法:公鑰加密(RSA)

 

            導入製做者的公鑰:CentOS發行商的公鑰在ISO文件 「RPM-GPG-KEY-CentOS-6」  
            rpm --import 導入祕鑰能進行包校驗(祕鑰必須是來源可靠的)    
            rpm -K /PATH/TO/RPM_FILE

YUM:  
    工做原理是由於他抽取了包與包之間依賴關係。依賴外在的yum的rpm包倉庫    
   
    本地運行yum程序,它尋找rpm包倉庫(不止一個),在倉庫中找到後下載回本地    
   
    倉庫中有大量rpm包 有元數據文件記錄包名 有多少包 以及包的依賴關係。yum程序會先把倉庫的元     數據文件緩存在本地,方便查看。    
   
    yum程序的配置文件:    
        /etc/yum.conf 
            定義全集配置:對全部倉庫都適用的配置    
        /etc/yum.repos.d/*.repo    
            一個.repo文件對應一個或一組rpm包功能相近或相依賴的倉庫    
                       
        定義一個倉庫指向:    
            [REPO]    
            name=指定名字    
            baseurl=指定路徑  路徑能夠多個隨機抽取每一個必須同樣    
                    使用路徑中有定義倉庫指向可用變      

                               $releasever: 引用當前系統的主版本號;  
                               $basearch: 當前系統的基本架構;

                               方便指定路徑根據自身當前的系統選擇合適的版本  
            #mirrorlist    
            enabled 1表明啓用0不啓用    
            gpgcheck 1表明啓用0不啓用                                

            cost指明倉庫的開銷,開銷越小越先採起    
            

     yum程序的配置文件指定對應服務器訪問方式:

         ftp    ftp://server/path/to/repo

         http   http://server/path/to/repo

         nfs    nfs://server/nfs_path

         file   file:///path/to/repo


    yum命令    
       
        經常使用選項    
        安裝:install 所依賴的包一併安裝    
        卸載:remove  那些依賴要被卸載包的包會被詢問是否卸載    
        升級:update   yum check-update檢查系統已安裝的包有那些包能夠升級    
        查詢:    
                info    不管安裝與否均可以查詢rpm包的簡要信息    
                search KEYWORD 基於包名的關鍵字進行搜索查詢    
                list all|installed|avail    查詢全部包|已安裝|能夠安裝的    
                provids /path/to/somefiel: 查詢指定文件是由哪一個包安裝生成的    
        從新安裝 reinstall    
        降級:downgra    
        清理緩存:清理對象能夠指定    
        手動生成緩存:makecache    
        包組:    
                groupinfo 「指明包組名」 查詢一個包組的信息    
                groupinstall 「指明包組名」整組的安裝包

        倉庫:  
            repolist:列出可以使用的包倉庫    
           
    使用光盤當作本地倉庫:    
        1.掛載光盤    
        2.建立指向光盤掛載路徑的本地倉庫(爲了優先使用能夠設置較低的開銷值)    
       
    DNF:下一代的包管理器功能接近yum,功能更強大

建立本地源

        p_w_picpath

        使用yum安裝解決包之間的依賴關係  
        p_w_picpath

       列出可用的yum源

       p_w_picpath

相關文章
相關標籤/搜索