工作時間越久,就越有這樣一個深刻體會,一個新知識或者新的技能一個人學習起來并不會覺得吃力,反而要想把你學習的新知識或者新技能給講清楚讓普通人聽得懂才是最難的,之前我寫過一篇博客講述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將安裝的軟件先編譯并打包,通過包裝好的套件中默認的數據庫記錄來實現對軟件包的安裝卸載等查詢工作,最大的特點就是省去編譯的過程,但是各軟件包之間的依賴關系卻需要管理員自行手動解決,而yum以rpm為基礎包,通過讀取rpm中header對于該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源是否生效
4:測試安裝httpd軟件
這時候我們已經看到yum為我們找到了安裝http軟件包,并且安裝成功
原創文章,作者:zhang,如若轉載,請注明出處:http://www.www58058.com/9194
名字起的很吸睛,內容也有血有肉,格式上稍做修改優化一定上頭條!