yum軟件包管理器

1、 yum軟件包管理器

 一、 yum的做用

  YUM: Yellowdog Update Modifier,rpm的前端程序,可解決軟件包相關依賴性,可在多個庫之間定位軟件包,up2date 的替代工具。
  yum repository:(yum資源庫) 以.repo結尾的yum庫文件中存儲了衆多rpm包,以及包的相關的元數據文件(放置於特定目錄repodata下)
  yum庫文件中支持的文件的服務器:
   http:// (外部網站的rpm包地址)
   https:// (外部網站的rpm包地址)
   ftp:// (內部網的共享rpm包地址)
   file:// (本機上存儲的rpm包地址)前端

 二、 yum客戶端配置文件:

  /etc/yum.conf:爲全部倉庫提供公共配置
  /etc/yum.repos.d/*.repo:爲倉庫的指向提供配置
  下面咱們來看看這兩個文件:
yum軟件包管理器
  cachedir :指定緩存目錄
  logfile : 日誌文件
  gpgcheck : 是否查包的合法性
yum軟件包管理器
  [repositoryID] (標題,這個庫的id,至關於×××號,不可重複)
  name=Some name for this repository (庫名字,名字能夠重複)
  baseurl=url://path/to/repository/ (指定rpm包的路徑)
  enabled={1|0} (是否有效0表示這個repo無效,1表示有效,默認值爲1)
  gpgcheck={1|0} (是否檢驗包的合法性默認爲1)
  gpgkey=URL (公鑰路徑)
  enablegroups={1|0} (是否開啓組功能)
  failovermethod={roundrobin|priority} (一個源是能夠跟多個地址(baseurl)的,此選項是設置多個地址的使用順序的)
   roundrobin:意爲隨機挑選,默認值
   priority:按順序訪問
  cost= 默認爲1000(優先級)centos

 三、 yum的repo配置文件中可用的變量

  $releasever: 當前OS的發行版的主版本號
  $arch: 平臺,i386,i486,i586,x86_64等
  $basearch:基礎平臺;i386, x86_64
  $YUM0-$YUM9:自定義變量
  例如:
   http://server/centos/$releasever/$basearch/
   若是當前服務器是centos7版本x86_64平臺的
    則實際網址爲http://server/centos/7/x86_64
   若是當前服務器是centos6版本i384平臺的
    則實際網址爲http://server/centos/6/i384緩存

 四、 yum源

  yum源路徑指定的不是包含軟件包的那個目錄,而是指定在包含有repodata的目錄的上一級目錄
  阿里雲repo文件:http://mirrors.aliyun.com/repo/
   CentOS系統的yum源
    阿里雲: https://mirrors.aliyun.com/centos/$releasever/os/x86_64/
    教學環境: http://172.16.0.1/cobbler/ks_mirror/$releasever/
   EPEL的yum源:
    阿里雲: https://mirrors.aliyun.com/epel/$releasever/x86_64
    教學環境: http://172.16.0.1/fedora-epel/$releasever/x86_64/服務器

 五、 yum命令

  1. yum命令的用法:

   yum [options] [command] [package ...]
   yum的命令行選項:
    -y: 自動回答爲「yes」,避免交互式
    -q:靜默模式(可是仍會顯示安裝的過程,完全靜默建議使用yum -y install pkg1 &> /dev/null,把結果扔進垃圾桶)
    --nogpgcheck:臨時不進行gpg check(不檢驗包的合法性)
    --disablerepo=repoidglob:臨時禁用此處指定的repo
    --enablerepo=repoidglob:臨時啓用此處指定的repo
    --noplugins:禁用全部插件ide

  2. 顯示倉庫列表

   yum repolist [all|enabled|disabled]
    all 顯示所有repo
    enabled 只顯示生效的repo
    disabled 只顯示無效的repo工具

  3. 顯示程序包

   yum list [all] 顯示全部的程序包
   yum list available 顯示全部可用的,且未安裝的
   yum list installed 顯示全部已安裝的包
   yum list updates 顯示可更新的包網站

  4. 安裝程序包

   yum install package1(包名) [package2]…
    安裝軟件包,能夠同時跟多個包名,安裝多個包
   yum reinstall package1 [package2]
    從新安裝一個或多個已安裝的包this

  5. 升級程序包

   yum update [pkg1] [pkg2] (升級安裝)(後跟多個包名可升級多個包)
   yum downgrade pkkg1 [pkg2] (降級安裝)阿里雲

  6. 檢查可用升級

   yum check-updateurl

  7. 卸載程序包

   yum remove 包名1 [包名3]… 刪除程序包(後跟多個包名可同時刪除多個包)
   yum erase 包名1 [包名2]… 卸載程序包

  8. 查看程序包

   yum info pkg 顯示包的詳細信息

  . 查看指定的特性(能夠是某文件)是由哪一個程序包所提供

   yum provides 文件路徑(支持文件名通配符) 查詢一個文件來自哪個rpm安裝包(不論這個包是否已安裝)
   yum whatprovides 文件路徑(支持文件名通配符) 查詢一個文件來自於哪個rpm安裝包(不論這個包是否已安裝)

  10. 清除本地緩存

   yum clean all 清空全部緩存

  11. 構建緩存

   yum makecache

  12. 搜索以指定的關鍵字搜索程序包名及summary信息

   yum search str1 [str2] (str表明關鍵字文本)

  13. 查看指定包所依賴的功能

   yum deplist pkg1 [pkg2]…

  14. 查看yum事務歷史(下列#表明一個具體的數字)

   yum history 顯示yum的歷史操做
   yum history info # 詳細顯示某條歷史記錄
   yum history undo # 撤銷某條yum的操做
   yum history redo # 從新執行一遍某條yum的操做

  15. 安裝升級本地程序包(下列|表明或)

   yum localinstall |install rpm路徑 安裝本地的rpm包,並用yum解決依賴性關係
   yum localupdate |update rpm路徑 更新本地的rpm包,並用yum解決依賴性關係

  16. 包組管理的相關命令

   yum groupinstall grppkg1 安裝該包組(grppkg1)
   yum grouplist 列出全部的包組
   yum groupinfo grppkg1 顯示該包組包含的rpm包
   yum groupremove grppkg1 卸載包組

  17. 建立yum倉庫

   爲何yum能幫咱們解決一些依賴性關係呢?實際上是由於在yum倉庫下有一個repodata的目錄,而在這個目錄下就保存着各個包的信息及其依賴性關係,因此yum倉庫指定的位置必須指定在有repodata目錄的上一層目錄,而若是想本身建立一個yum倉庫,除了在該目錄下拷貝一些包之外還須要自動建立一個repodata的目錄。createrepo這個命令就會幫助咱們自動搜索該目錄下的全部包及依賴性關係,並建立repodata目錄將其保存在該目錄下語法格式以下:
     createrepo 倉庫路徑(存放着rpm包的路徑)
   建立一個yum倉庫的步驟:

   一、 建立一個yum倉庫的目錄

   二、 拷貝一些rpm包至該目錄下

   三、 使用createrepo命令建立repodata目錄

   四、 在目錄/etc/yum.repos.d下建立一個以.repo結尾的倉庫文件,建立一個yum庫,指定該yum倉庫的路徑

   提示:在centOS6中默認createrepo命令是沒有安裝的,因此可能會出錯,想要安裝createrepo命令能夠用如下步驟哦:
   一、yum list createrepo 查詢yum倉庫裏是否有createrepo的包
yum軟件包管理器
   查出createrepo命令的安裝包名爲createrepo.noarch
    二、yum install createrepo.noarch 安裝createrepo安裝包
yum軟件包管理器
   安裝成功
   三、若是全部的rpm安裝包都在/dvd目錄下,想要將此目錄設置成一個yum倉庫來使用,如何使用createrepo命令來建立repodata目錄?
yum軟件包管理器
   如此這個/dvd目錄就能夠在yum倉庫的配置文件中使用了

相關文章
相關標籤/搜索