如何練好yum的一招一式

 

工作時間越久,就越有這樣一個深刻體會,一個新知識或者新的技能一個人學習起來并不會覺得吃力,反而要想把你學習的新知識或者新技能給講清楚讓普通人聽得懂才是最難的,之前我寫過一篇博客講述linux下的RPM包管理器,今天寫的練好yum的一招一式,同樣都是都是在linux系統的軟件包的安裝、卸載、升級等功能的,為什么我們還需要yum那,記得一位大哲學家黑格爾說說過這樣一句話“存在即合理”,yum的存在也有合乎情理的,首先讓我們來弄明白yum是什么?

yum全稱為 Yellow dog Updater, Modified,是一個以rpm為基礎包能夠從指定的服務器自動下載rpm包,并且自動解決各軟件包的依賴性關系,一次性安裝好所有制定的軟件包的一個工具,我想,稍微接觸過linux的人都知道rpm包管理器出現,主要是解決早期linux系統管理過程中源代碼安裝的不便以及效率底下的問題,雖然rpm很好的提高了軟件安裝的效率,但是rpm依然沒有解決各軟件包之間的依賴關系,而yum的出現就是自行解決了各軟件包直接的依賴關系,從而又將軟件安裝的效率往前推了一步。

首先讓我們先了解一下yum能為我們做什么,yum的主要功能有三類,倉庫管理;軟件包管理;軟件包組的管理,接下來我們詳細來看yum的三大功能和使用方法:

yum的命令形式一般是如下:yum [options] [command] [package …]

其中的[options]是可選的, [command]為所要進行的操作,[package …]是操作的對象。

1、倉庫管理yum的倉庫管理主要有列出已經配置到的所有可用倉庫、緩存管理、以及自動連接至每個倉庫下載元數據,將其創建緩存

列出可用倉庫:yum     repolist [all|enabled|disabled]       

         緩存管理:yum      clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

         創建緩存:yum      makecache

2、軟件包管理yum對于程序包的管理主要包括:程序包的列出、程序包的安裝、指定程序包的重新安裝、程序包的升級、程序包的降級、程序包的卸載、程序包的查詢、程序包的搜索等功能;

程序包的列出:yum list

   

程序包的安裝:yum install

此時安裝程序包只需要提供程序包名就可以安裝指定的程序包,如果該指定的程序包有在指定的倉庫中有不同版本,默認會安裝最新版本。

指定程序包的重新安裝:yum reinstall

程序包的升級:yum update

程序包的降級:yum downgrade

程序包的卸載:yum remove

     執行該命令,所有依賴于正卸載的程序包也會一并卸載

程序包的查詢:yum info

程序包的搜索:yum search

3、程序包組管理:程序包組管理的與程序包管理類似,主要包括:顯示列出所有包組、顯示包組詳情、安裝包組、卸載包組、升級包組;

顯示列出所有包組:yum grouplist

顯示包組詳情:yum groupinfo
安裝包組:yum groupinstall

卸載包組:yum groupremove

升級包組:yum groupupdate

以上都是yum的常用命令,同時yum還有常用的選項

     -y:表示自動回答為YES

     –disablerepo=   :臨時禁用指定的倉庫

–enablerepo=    :臨時啟用指定的倉庫

–nogpgchenk:禁止包檢驗

 

 

知道了yum能為我們做什么,那如何使用yum的這些功能那,我們前面曾說過早期的linux安裝程序包是通過直接對源代碼的重新編譯、設置一系列的環境變量和配置文件來時間軟件的安裝,而rpm將安裝的軟件先編譯并打包,通過包裝好的套件中默認的數據庫記錄來實現對軟件包的安裝卸載等查詢工作,最大的特點就是省去編譯的過程,但是各軟件包之間的依賴關系卻需要管理員自行手動解決,而yumrpm為基礎包,通過讀取rpmheader對于該rpm的描述、功能、提供的文件、依賴性等信息,并加以分析出來,自行解決依賴各軟件包的依賴關系,大大提供的部署系統的效率,我們都知道,linux有一個重要的哲學思想,就是一切皆文件,所以對于yum的配置就不得不說yum的配置文件,yum的配置文件有兩類,下面來認識一下yum的配置文件;

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

    該配置文件是為各倉庫指向提供公共的配置信息

各倉庫定義的配置文件:/etc/yum.repo.d/*.repo

    給配置文件是倉庫位置的指向以及各種配置信息,該配置文件都以”.repo”結尾,每個repo配置文件中可以配置一個或多個倉庫;

[  ]  :當中是唯一表示該倉庫的名字,所以必須唯一,不能與其他倉庫重復,

name= :是對當前倉庫的描述信息

baseurl=  :指明repositouy的訪問路徑,支持ftp服務器、http服務器、nfs服務器、或本地目錄;

enabled= 0|1}:指明該倉庫是否可被使用

gpgcheck=0|1}:指明是否對程序包做合法性、完整性驗證

gpgkey=  :指明gpgkey的文件路徑

cost=  :指明當前repositouy的訪問開銷

 

下面我們將以CentOS6.7為平臺,創建自己的第一個本地yum

通常情況下,創建本地yum源,也就是以CentOS6.7光盤為yum倉庫從而實現對yum源的配置,步驟如下:

     1:掛載光盤到:/mnt/cdrom

          mount  /dev/cdrom /mnt/cdrom

     2:創建配置文件:vim  /etc/yum.repo.d/localbase.repo

          [localbase]

name=centOS6

baseurl=file:///mnt/cdrom/

gpgcheck=0

enable=0

注意:如果是以本地某個目錄為yum源,需要檢查該目錄是否有repodata文件,如果沒有該文件需要執行createrepo

 

    3:執行yum repolist查看創建的yum源是否生效

repolist.jpg    4:測試安裝httpd軟件

install.jpg

       這時候我們已經看到yum為我們找到了安裝http軟件包,并且安裝成功

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

(1)
zhangzhang
上一篇 2015-11-10
下一篇 2015-11-10

相關推薦

  • 小巧精悍——常見文本處理工具用法及技巧總結

    小巧精悍——常見文本處理工具用法及技巧總結 Linux最重要的哲學思想就是:一切皆文件??梢娢募拔募僮髟贚inux當中是多么的重要。在Linux系統中我們也會經常用到各種文本文件處理的操作,熟練使用這些小巧精悍的文本處理工具,在關鍵時刻往往展現非凡的神奇功效。常見文本處理小工具:cat、hexdump、nl、less、head、tail、cut、tr、r…

    Linux干貨 2016-11-05
  • 第一周 計算機/Linux基礎入門

    1、描述計算機組成及其功能 計算機組成主要分為五個部分:控制器、運算器、存儲器、輸入設備、輸出設備 ENIARC: CPU:運算器、控制器、寄存器、緩存 存儲器:內存,RAM(Random Access Memory)???????? Input:下指令,提供數據等 Output:輸出數據加工的結果         &…

    2017-12-02
  • N25第二周視頻作業:用戶、組與權限管理詳解

    此篇博客是根據視頻要求寫的,因為馬哥在視頻中說了,用戶組、權限在linux運維過程中比較重要,所以一定要深入學習 首先,先介紹一下用戶、組與權限是什么:     用戶:用戶時指你在服務器上的標識,通過不同類型的用戶,你享受到不同的待遇,而待遇就是權限的大小。每個用戶在服務器上都有唯一的id標識,即使你將此用戶刪除,再建…

    Linux干貨 2016-11-26
  • CentOS 5和6的啟動流程

    Linux: kernel+rootfs  kernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能 rootfs: glibc 庫:函數集合, function, 調用接口 過程調用:procedure 函數調用:function 程序  內核設計流派: 單內核設計:Linux 把所有功能集成于同一個程序; 微內核設計…

    Linux干貨 2016-08-23
  • BIND在生產環境中的創建

    一、實驗:BIND二級域的搭建(均以yum安裝bind),從實驗圖中可以看出需要五臺虛擬機進行測試 一、準備五臺虛擬機 二、配置root服務器 1、YUM安裝bind的程序 2、配置bind的主配置文件 3、配置區域文件 4、為了實驗的方便進行,把防火墻和SElinux關閉,并留意區域文件的屬主屬組 5、檢查named的主配置文件和區域文件是否語法錯誤,并啟…

    Linux干貨 2016-10-05
  • LVM 邏輯卷管理器-增大LV容量

    LVM 邏輯卷管理器-增大LV的容量   步驟: (1)新增一個8e systemID的分區; (2)用pvcreate命令構建PV; (3)用vgextend命令將PV加入vg_1; (4)用lvresize命令將新加入的PV內的PE加入lv_1中; (5)通過resize2fs命令將LV的容量擴充到整個文件系統;   (1)新增一個8…

    Linux干貨 2016-09-19

評論列表(1條)

  • stanley
    stanley 2015-11-10 22:42

    名字起的很吸睛,內容也有血有肉,格式上稍做修改優化一定上頭條!

欧美性久久久久