yum前端軟件包管理器

yum是什么

    Yum (Yellow dog Updater, Modified) 由Duke University團隊,修改Yellow Dog Linux的Yellow Dog Updater開發而成,是一個基于 RPM 包管理的字符前端軟件包管理器。能夠從指定的服務器自動下載 RPM 包并且安裝,可以處理依賴性關系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。被Yellow Dog Linux本身,以及Fedora、Red Hat Enterprise Linux采用。

yum工作機制

    C/S架構:client –> server

    yum倉庫(server端):

        保存rpm包以及元數據,如:包名、版本信息、各包所包含的文件列表、依賴關系、包分組信息等。

    yum客戶端(client端):以安裝過程為例

        第一步:獲取倉庫元數據,緩存于本地,緩存目錄/var/cache/yum

        第二步:yum客戶端讀取并分析本地緩存的元數據文件,結合本地系統環境做出要安裝的程序包的決策,如依賴關系

        第三步:根據決策聯系yum倉庫,下載各程序包緩存到本地,一并進行安裝

yum倉庫:

    可以理解為rpm包的文件服務器,repodata目錄所在的父目錄就是一個可用倉庫。

    自建一個yum倉庫:

        1、把rpm包放到一個目錄

        2、通過createrepo命令分析該目錄的rpm包,然后生成元數據目錄repodata

        3、配置yum客戶端使用此倉庫即可,就是這么簡單。

yum客戶端:

    要想通過yum管理rpm包,需要讀取yum倉庫的配置文件,指明倉庫訪問路徑及各種屬性信息

    主配置文件:/etc/yum.conf

    一個或幾個相關倉庫的配置信息可保存為一個文件,文件名以.repo結尾:/etc/yum.repos.d

    文件格式:

[REPOID]
name=Some name for this repository    #設置該yum倉庫的名稱
baseurl=url://server1/path/to/repository/           #方式1:指定yum倉庫訪問路徑,支持多種url,如:ftp、nfs、http等,可指定多個url
        http://mirror.centos.org/centos/$releasever/os/$basearch/     #URL中也支持$releasever 、$basearch這樣的變量,指定系統版本號
        mirrorlist=/path/to/urlfile        #方式2:可以將多個url寫入一個文件,然后讀取這個文件    
enabled={0|1}        #是否啟用該yum倉庫,0為不啟用,1為啟用,默認為1
gpgcheck={0|1}       #是否校驗rpm包,0為不啟用,1為啟用
gpgkey=URL           #如果校驗,指定公鑰文件路徑

   yum配置文件中可用的四個變量:

          $releasever: 程序的版本,對Yum而言指的是redhat-release版本;只替換為主版本號,如RedHat 6.5,則替換為6;
          $arch: 系統架構
          $basearch: 系統基本架構,如i686,i586等的基本架構為i386;
          $uuid:
          $YUM0-9: 在系統中定義的環境變量,可以在yum中使用;

    一個配置文件支持多個yum倉庫

    1、列出所有repo

[root@qin ~]# yum repolist  {enabled|disabled|all}      #enabled列出可用的,disabled列出禁用的,all列出所有(默認)

    2、列出rpm包及包組

[root@qin ~]# yum list {all|installed|available}    #all列出所有包(默認),installed列出已安裝的包,available列出可安裝的包
[root@qin ~]# yum list KEYWORD*    #列出指定前綴的所有包,支持文件名通配

    3、包的描述信息

[root@qin ~]# yum info package_name

    4、列出所有包組信息

[root@qin ~]# yum grouplist

    5、顯示包組的信息:例如組中包含的程序包列表

[root@qin ~]# yum groupinfo "GROUP NAME"

    6、清理緩存

[root@qin ~]# yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}

    7、安裝程序包

[root@qin ~]# yum install package_name
[root@qin ~]# yum reinstall package_name    #重新安裝

    8、包的升級和降級

[root@qin ~]# yum check-update    #檢查可用的升級包
[root@qin ~]# yum update package_name    #可以指定升級包的版本號升級;如果不指定包名,就升級所有可用的升級包
[root@qin ~]# yum downgrade package_name    #包降級

    9、包的卸載

[root@qin ~]# yum {remove|erase} package_name

    10、查詢某文件是由哪個包安裝生成的

[root@qin ~]# yum {whatprovides|provides} /path/to/somefile

    11、安裝包組

[root@qin ~]# yum groupinstall "GROUP NAME"

    12、卸載包組

[root@qin ~]# yum groupremove "GROUP NAME"

    13、只下載包,不安裝

[root@qin ~]# yumdownloader package_name    #此命令由yum-utils包提供

    14、另外一些常用選項介紹

--nogpgcheck    #不對包做校驗
--disablerepo=[repo]    #安裝時禁用某些yum倉庫
-y:    #對所有交互式操作返回yes
[root@qin ~]# yum history    #顯示yum的歷史記錄
[root@qin ~]# yum history list X    #X是歷史事務ID,顯示指定事務明細操作
[root@qin ~]# yum history redo X    #重新執行指定事務
[root@qin ~]# yum history undo X    #回滾指定事務
[root@qin ~]# yum makecache         #生成元數據
[root@qin ~]# yum search  STRING    #查找包含指定關鍵字的包

原創文章,作者:秦,如若轉載,請注明出處:http://www.www58058.com/4241

(0)
秦
上一篇 2015-05-13
下一篇 2015-05-13

相關推薦

  • 八大排序算法

    概述 排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。 我們這里說說八大排序就是內部排序。     當n較大,則應采用時間復雜度為O(nlog2n)的排序方法:快速排序、堆排序或歸并排序序。    快速…

    Linux干貨 2015-04-07
  • cobbler實現centos7和centos6的無人值守安裝

    環境:系統: CentOS 7.2  ip: 172.16.0.11 一. Cobbler安裝準備 Cobbler是一個Linux服務器安裝的服務,可以通過網絡啟動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機,同時還可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),…

    Linux干貨 2017-06-04
  • 網絡這塊一些有趣的感想

    還記的那天老師讓我們做兩臺主機的nexthop就是自己的ip地址,然后互相ping測試能否互相聯通的實驗,昨晚之后我就在想能不能進行一些改進,因為在我看來這種級別的互相ping的前面一個網絡段相同太沒意思了。 接著我就嘗試了幾種IP地址 主機A 主機B 192.0.0.1 192.1.0.1 192.1.1.1 192.2.2.2 192.2.1.1 192…

    Linux干貨 2016-09-13
  • linux系統從windows xp上同步時間

    最近公司客戶的調度系統GPS天文時鐘出現故障,導致整個調度系統失去時間源,時間積累誤差達十幾分鐘。去現場更換時鐘很不方便,所有就想用現場的一臺win xp(可上網)的遠程機器做NTPserver,然后給linux系統對時。上網查了好多資料,終于找到了一個有效的解決方案,具體內容和步驟如下:首先下載一個Windows下的NTP服務軟件。這個軟件可以搭建wind…

    Linux干貨 2015-03-27
  • web服務介紹(三)

    狀態碼分類:1xx:100-101  額外信息提示2xx:200-206  表示成功類響應3xx:300-305  重定向4xx:400-415  錯誤類響應碼,由于客戶端發送錯誤,如客戶端請求一個根本不存在的資源5xx:500-505  錯誤類信息,服務器端錯誤,服務器本身一些問題導致請求無法成功 常用狀態…

    Linux干貨 2017-04-22
  • 深入Php底層,用c為php編寫拓展

    1.前言              隨著lamp/lnmp架構的流行,Php語言越來越得到廣泛的使用。php語言在表現層有著非常優異的表現,部署方便,開發迅速。但Php語言也有著天生短板以及局限性—-對多線程以及多進程的支持不甚如意,以及…

    Linux干貨 2016-10-29
欧美性久久久久