yum詳解

    yum(全稱為 Yellow dog Updater, Modified)yum相對于rpm來說:rpm為基礎包管理器,yum則是rpm的前端工具。能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。,yum無法獨立存在,系統不允許有兩個yum命令同時運行,如果有兩個,第二次運行時會報錯。這是為了防止yum之間的沖突。

    yum接收到需要安裝的程序包的名稱之后,通過文件共享協議(或者文件傳輸協議),在配置文件中指向的yum倉庫(可以是多個)中查詢需要的程序包。找到之后,通過文件下載協議,將程序包下載至本地yum的緩存目錄中,當安裝完成后,緩存目錄便會被刪除

    但如果yum每次到yum倉庫都需要遍歷,就會導致速度很慢。而yum倉庫中有兩類數據:程序和程序的元數據。yum倉庫在創建時,會將所有程序的名字、大小、版本以及依賴關系這類的屬性信息提取出來并保存至repodata目錄中。所以在yum第一次訪問yum倉庫時,會獲取倉庫中元數據(repodata),并下載至本地。因此,下次需要安裝程序包時,只需從本地緩存中獲得信息,直接到倉庫下載即可

    如何保持本地緩存repodata和服務器端的repodata實時同步呢?yum每次訪問倉庫都會先獲取repodata目錄中每個文件的特征碼,并與本地的進行比較,如果不相同,就重新下載并覆蓋


yum repository:yum repo

存儲了眾多的rpm包,以及包的相關的元數據文件(放置于特定目錄下:repodata);

文件服務器

    URL:統一資源定制地址    

ftp://

http://

nfs://

file://


yum客戶端

rpm -q yum :查詢本地是否安裝了yum客戶端,如果安裝了則可以使用yum功能

rpm -qc yum :查詢yum的配置文件

    blob.png


配置文件:

    指向倉庫的位置以及相關的各種配置信息。每個yum命令行可以同時指向多個倉庫,倉庫間可以進行優先級等相關配置,優先級是由開銷決定的。

   配置文件有兩部分組成:主配置文件以及各倉庫的配置文件。因為如果所有的配置信息都放在一個文件中就顯得太臃腫、不方便。其中主配置文件所在路徑為/etc/yum.conf,它為各倉庫指向提供公共配置文件;而各倉庫的配置文件所在路徑為:/etc/yum.repos.d/*.repo,里面都是以賦值的格式存在

/etc/yum.conf:為所有倉庫提供公共配置

/etc/yum.repos.d/*.repo:為倉庫的指向提供配置信息

倉庫指向的定義

[repositoryID]

name=some name for this repository

baseurl=url1://path/to/repository/倉庫指向的路徑

url2://path/to/repository/

url3://path/to/repository/

enabled={1|0}:是否啟用此倉庫;默認為啟動

gpgcheck={1|0}:是否檢查完整性及來源合法性

repogpgcheck={1|0}:是否檢測源數據文件的gpgcheck

gpgkey=URL:檢查所需的密鑰文件

enablegroup={1|0}:是否支持在此倉庫上使用組:默認為啟用 

failovermethod={roundrobin|prioity}:輪循,優先級取安裝包路徑;默認為roundrobin(輪循),意為隨機挑選。

cost=1000(默認)開銷     

        1:表示開

    0:表示關

yum命令

yum [options] [command] [package …]

  顯示倉庫列表:

     repolist [all|enabled|disabled]

  顯示程序包

     list

        yum list [all | glob_exp1] [glob_exp2] […]

        yum list available|install|updates [glob_exp1] […]

  安裝程序包

     install

        安裝時可以指定版本號

        reinstall package1 [package2] […](重新安裝)

  升級程序包

        update [package1] [package2] […]

        downgrade package1 [package2] […](降級)

  檢查可以升級

        check-update

  卸載程序包

        remove | erase package1 [package2] […]

  查看程序包的infomation

        info […]

  查看指定的特性(可以是某文件)是由哪個程序包提供;

        provides | whatprovides feature1 [feature2] […]

  清理本地緩存:

        clean [ packages | metadata |  expire-cache  |  rpmdb  | plugins | all ]

  構建緩存:

       makecache

  搜索:

       search string1 [string2] […]

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

  查看指定包所以來的capabilities

       deplist package1 [package2] […]

  查看yum事物歷史

       history   [info|list|packages-list|packages-info|sum-mary|addon-info|redo|undo|rollback|new|sync|stats]

  安裝及升級本地程序包

       localinstall rpmfile1 [rpmfile2] […](maintained for legacy reasons only – use install)

       localupdate rpmfile1 [rpmfile2] […](maintained for legacy reasons only – use update)           

  包組管理的相關命令:

       groupinstall group1 [group2] […]

       groupupdate group1 [group2] […]

       grouplist [hidden] [groupwildcard] […]

       groupremove group1 [group2] […]

       groupinfo group1 […]

       mount -r /dev/cdrom /media/cdrom

       mount 掛載

  yum的命令行選項

        –nogpgcheck:禁止進行gpg check;

        -y:自動回答為“yse”

        -q:靜默模式

        –disablerepo=repoidglob:臨時禁用此處指定的repo

        –enablerepo=repoidglob:臨時啟用此處指定的repo

        –noplugins:禁用所有插件

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

        $releasever:當前os的發行版的主版本號

        $arch:平臺

        $basearch:基礎平臺

        $YUM0-$YUM9

        http://mirrors.mageedu.com/centos/$releasever/$basearch/os

  如何使用光盤當作本地yum倉庫

      (1)掛載光盤至某目錄,例如/media/cdrom

          #mount -r -t iso9660 /dev/cdorm /media/cdrom

      (2)創建配置文件

        進入/etc/yum.repos.d目錄下創建一個名為.repo結尾的配置文件,并編輯以下信息

        [base]

           name=

           baseurl=

           gpgcheck=

           enabled=

           gpgkey=

        blob.png

        使用yum repolist查看yum倉庫列表

        blob.png

        安裝報錯問題

     gpg key parsing failed:no key found in given key data

      使用yum makecache和yum update 解決,并且成功安裝軟件               blob.png 創建本地yum源倉庫

    

    createrepo 選項 目錄

      首先使用命令yum install createrepo安裝createrepo文件,這個文件是可以幫我們組織和管理創建出rpm包的相關的repodata目錄文件,

    blob.png

    然后使用lftp命令鏈接到FTP服務器上去下載rpm包(以教室環境為例)

    lftp 10.1.0.1:/pub/Sources/6.x86_64/xen4centos/x86_64/Packages> mget *.rpm 

    blob.png

    cd到下載RPM包的指定目錄(目錄需事先創建)中可看到剛才下載的包

    blob.png

    然后cd到下載包的目錄中執行createrepo ./(直接指定當前工作目錄)命令生成repo目錄

    blob.png

    命令執行成功后及可在路徑下看到已經生成了repodate目錄

    至此!本地yum源已經創建完成了,此yum源可以放在ftp或http服務中被遠程使用,也可以在本地使用。

    在/etc/yum.repos.d/base.repo將此yum源添加進配置文件

    blob.png

    使用yum repolist命令查看yum源列表可看到此源已經被添加,并且可以正常安裝

    blob.png

    blob.png

命令整理

    

  • -y:自動回答為yes

  • list:列出所有倉庫中的程序包,支持通配符

  • all:所有程序包

  • available:可用的,倉庫中有尚未安裝的

  • installed:已經安裝的

  • clean:清理緩存。yum緩存路徑:/var/cache/yum/

  • yum clean all:清除所有緩存信息,但不會清除目錄

  • repolist:顯示倉庫列表及其簡要信息

  • all:所有的倉庫

  • enabled:已經啟用的倉庫

  • disabled:未啟用的倉庫

  • install:安裝

  • yum install [-y] PACKAGE_NAME

  • remove|erase:卸載。和此程序包有依賴性的其他包也會被一并卸載

  • infoPACKAGE … :查詢程序的相關簡要信息。這個包裝不裝都沒有關系,只要倉庫中有就行

  • grouplist:列出所有包組

  • groupinstall:安裝包組

  • 可直接用install、remove或update來管理包組,在包組前面加@用以區分:yuminstall @"Server Platform Development"

原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/37963

(0)
M20-1馬星M20-1馬星
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • 周期性計劃任務Cron詳解

    概述 cron 是Linux 或者類 Unix 系統的作業調度程序。利用它,我們可以配置某些命令或者腳本,讓命令和腳本在某個設定的時間內周期性地運行。本文主要以描述了 CentOS 6的cron命令的詳細知識。 了解cron組件 cron程序由程序包cronie提供,我們可以通過rpm -qi cronie查看cronie的信息。 cron 的組件包括: 1…

    Linux干貨 2016-09-18
  • Linux無人值守安裝

    前言     通常情況下,我們安裝Linux操作系統的時候需要從光盤啟動,通過系統光盤bootloader啟動安裝程序,進入交互式安裝模式,由用戶配置安裝選項,如磁盤分區、選擇安裝包等操作;安裝完畢后重啟結束安裝。在生產環境中,成百上千臺服務器需要安裝操作系統的時候如果也采用交互式安裝模式,無疑是極其低效的。本文主要介…

    Linux干貨 2015-05-18
  • N-22-南京-修 第三周博客作業

    #1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [xujie@localhost ~]$ who | cut -d " " -f1 | sort -u #2、取出最后登錄到當前系統的用戶的相關信息。 [root@localhost xujie]# last -x | head -1 #3、取出…

    Linux干貨 2016-09-15
  • httpd服務歸納:httpd基本配置(https原理以及配置 )

    一 https介紹以及實現機制   1. https協議:      在傳統的http協議中,文檔是明文傳送的,網頁涉及敏感信息是,將變得很不安全。為了保證敏感信息的安全,httpd結合加密庫openssl或openssh 產生了https 協議。這就好比兩個黑社會團伙交易,都怕出事被抓,…

    Linux干貨 2015-05-23
  • N27_第二周作業

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關演示。 ?A、copy命令 ? ? ?? a、 單元復制:cp [OPTION]… [-T] SOURCE DEST 1、? 如果dest不存在:則事先創建此文件,并復制源文件的數據流至dest中; [root@localhost /]# ls -l /tmp total 0 [r…

    2017-09-07
  • 馬哥教育網絡第21期-第1周課程練習

    第一周博客 1、描述計算機的組成及其功能。 計算機的組成:運算器、控制器、儲存器、輸入設備、輸出設備 運算器+控制器 = CPU 儲存器 = RAM(內存) I/O(輸入/輸出)設備 = 硬盤、打印機、鼠標、鍵盤、顯示器 CUP:運算和邏輯運算 儲存器:緩存和儲存數據 I/O設備:計算機與用戶交互的設備 2、按系列羅列Linux的發行版,并描述不同發行版之間…

    Linux干貨 2016-06-26
欧美性久久久久