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 18:37
下一篇 2015-05-13 18:39

相關推薦

  • Linux終端類型

    前言     終端是一種字符型設備,它有多種類型,通常使用tty來簡稱各種類型的終端設備。而linux的終端類型有物理終端,虛擬終端,串行終端,偽終端。  1.物理終端  /dev/console     在linux系統中,計算機顯示器通常被稱為控制臺終端(console)。系統控制臺,和系統相關…

    Linux干貨 2016-10-14
  • Linux 常用命令之cp,一個可以煮飯的工具;

    cp 復制目錄和文件 對于系統管理員來說,在文件系統中將文件和目錄從一個位置復制到另外一個位置是家常便飯,而cp就是可以煮飯的工具之一。cp需要源對象和目標對象,源對象在前,目標對象在后面。 1. 常用選項 基本用法 [root@local tmp]# ll total 0 -rw-rw-r–. 1 gen…

    Linux干貨 2016-08-02
  • iptables/netfilter入門到進階

    iptables從入門到精通 本文主要圍繞以下七點進行闡述:   一、防火墻簡介 二、Iptables簡介 三、Iptables的四張表及五條鏈 四、Iptables的filter應用詳解 五、Iptables的nat應用詳解       一、防火墻簡介: 在網絡中,所謂的防火墻是指一種將內部網絡和公眾訪問網分開的方法…

    Linux干貨 2017-03-15
  • Linux運維不想早死的方法 一

    Linux運維不想早死的方法 一 為了提高工作效率,減少工作時間,愛惜生命,遠離輻射;務必做好以下幾點: 1,一定用快捷鍵         這里簡單的說下幾個常用的快捷按鍵。 Ctrl + l     清屏,相當于clear命令。 Ctrl…

    Linux干貨 2017-03-26
  • vim的基本使用

    前言:     Vim是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。VIM是自由軟件。    Vim普遍被推崇為類Vi編輯器中最好的一個,事實上真正的勁敵來自Emacs的不同變體。1999 年Emacs被選為Linuxworld文本…

    Linux干貨 2017-07-30
  • 第一篇博客

    我的第一篇博客以及接下來的每一篇都要獻給linux運維了。第一次接觸linux是在大三的時候,當時并沒有想到以后還會和linux邂逅并以此謀生。 首先就從最基礎的linux分區與掛載點開始了解介紹,我們熟悉的Windows系統下的分區都分配有盤符,像c盤,d盤之類的,用來存放各種軟件和文件。而linux也有自己的分區,并將分區掛載到不同的掛載點上,掛載是指將…

    2017-07-16
欧美性久久久久