1、YUM簡介
php
1. YUM: Yellowdog Update Modifier前端
完成RHEL系列前端自動解決依賴關係安裝工具,依賴rpm存在centos
2.工做模式:C/S 架構緩存
Server端(yum倉庫):依賴關係庫、原文件、校驗碼文件網絡
Client端:yum客戶端程序、配置文件(鏈接Server路徑信息)架構
3.設計缺陷:ide
某一次安裝過程當中半途終止,再次重啓後將沒法解決程序間的依賴關係工具
yum升級版dnf就是爲了解決此類問題this
2.yum repository: yum repo,yum倉庫url
存儲rpm包,以及包的相關的元數據文件(放置於特定目錄下:repodata);
2、YUM客戶端配置
1.yum配置文件路徑
/etc/yum.conf:爲全部yum倉庫提供公共配置
/etc/yum.repos.d/*.repo:爲倉庫的指向提供配置
2./etc/yum.conf主配置定義
[root@localhost ~]# man 5 yum.conf #可得到yum.conf的詳解
[root@localhost ~]# cat /etc/yum.conf
[main] #通用主配置段
cachedir=/var/cache/yum/$basearch/$releasever # 緩存文件路徑
keepcache=0 # 緩存到本地的文件是否保存
debuglevel=2 # 調試級別
logfile=/var/log/yum.log # 安裝的日誌文件
exactarch=1 # 精確嚴格的平臺release匹配
obsoletes=1
gpgcheck=1 #檢測來源合法性和完整性
plugins=1 #支持插件機制
installonly_limit=5 #同時安裝多少程序包
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bu # 追蹤bug路徑
distroverpkg=centos-release # 當前發行版版本號從哪兒獲取
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
3.倉庫(*.repo)配置文件定義:
[repositoryID] #倉庫ID,惟一標識別,不能重複
name=Some name for this repository # 完整的倉庫名稱
baseurl=url://path/to/repository/ # yum倉庫指明的訪問路徑
enabled={1|0} #是否啓用此yum倉庫,默認啓用
gpgcheck={1|0} #是否檢查完整性和來源合法性
gpgkey=URL #祕鑰文件位置,多是對方倉庫提供
enablegroups={1|0} #是否基於組來批量管理程序包
failovermethod={roundrobin|priority} #故障轉移方法:輪詢、根據優先級選擇; 默認roundrobin隨機
cost=# #設置開銷,默認爲1000
… ...
說明:
1)*.repo能夠將多個[repositoryID]的配置信息放在一個而文件內,也能夠切成多個方便管理
2)baseurl可使用:ftp:// 、http:// 、nfs:// 、file:/// 指明URL路徑
3)baseurl等號兩邊不能有空格,其後能夠填寫多個鏡像訪問路徑,每行一個,不能頂行寫
多個訪問路徑間聯繫是鏡像相同,目的是爲了作備用訪問
4)更多選項使用man 5 yum.conf查看,基本配置只需前三行就能夠
5)發行版光盤鏡像安裝可能會自動配置網絡鏡像URL地址
3、yum命令的用法
yum [options] [command] [package ...]
1.OPTIONS
--nogpgcheck:禁止進行gpg check;
-y: 自動回答爲「yes」;
-q: 靜默模式,不輸出顯示信息;
--disablerepo=repoidglob:臨時禁用此處指定的repo;
--enablerepo=repoidglob:臨時啓用此處指定的repo;
--noplugins:禁用全部插件;
2.經常使用COMMAND
(1)顯示倉庫列表:repolist
# yum repolist [all|enabled|disabled] [全部|可用的|不可用]
(2)顯示程序包:list
# yum list [all | glob_exp1] [glob_exp2] [...] [全部的|符合glob通配條件的]
# yum list {available|installed|updates} [glob_exp1] [...] 可用還沒有安裝的,已經安裝的,可升級的
(3)安裝程序包:install
# yum install package1 [package2] [...]
# yum reinstall package1 [package2] [...] (從新安裝)
(4)卸載程序包:此時依賴於此安裝包也會被卸載
yum remove | erase package1 [package2] [...]
(5)升、降級安裝程序包:update、downgrade
# yum update [package1] [package2] [...] 升級操做
# yum downgrade package1 [package2] [...] 降級操做
(6)檢查可用升級:check-uodate
# yum check-update
(7)查看程序包簡要信息:info
# yum info [package1] [package2] [...]
(8)查看指定的特性(能夠是某文件)是由哪一個程序包所提供:provides
yum provides | whatprovides feature1 [feature2] [...]
(9)清理本地緩存:clean
# yum clean <packages | metadata | expire-cache | rpmdb | plugins | all >
包、源數據、過時緩存、rpmdb、插件、全部
包安裝完了會自動清除、而元數據(依賴關係等)不會自動,但下次yum安裝會自動從新校驗
(10)構建緩存:從新yum安裝會自動建立緩存數據:makecache
# yum makecache
(11)以指定的關鍵字搜索程序包名及summary信息:search
# yum search string1 [string2] [...]
(12)查看指定包所依賴的功能(capabilities):
# yum deplist package1 [package2] [...]
(13)查看yum事務歷史:history
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
3.COMMAND:安裝及升級本地程序包
指定安裝本地的*.rpm,可是會根據yum源現有依賴關係,解決此安裝可能出現的依賴關係
# yum localinstall rpmfile1 [rpmfile2] [...]
# yum localupdate rpmfile1 [rpmfile2] [...]
4.COMMAND:包組管理的相關命令:
包組:一堆程序的一個集合,用於一塊兒安裝,由於某些程序安裝須要依賴包組內容
# yum groupinstall group1 [group2] [...] 安裝包組
# yum groupupdate group1 [group2] [...] 升級包組
# yum grouplist [hidden] [groupwildcard] [...] 顯示包組列表
# yum groupremove group1 [group2] [...] 移除包組
# yum groupinfo group1 [...] 顯示包組信息
4、建立yum倉庫
1.使用光盤看成本地yum倉庫:
光盤的鏡像自己就是一個yum源,本身安裝系統時候選擇安裝工具時就是藉助yum自動安裝
(1)掛載光盤至某目錄,例如/media/cdrom # mount -r [-t iso9660] /dev/cdrom /media/cdrom
(2)建立配置文件
[ID]
name=
baseurl=file:///… …
gpgcheck=
2.yum的repo配置文件中可用的變量:
$releasever: 當前OS的發行版的主版本號;
$arch: 平臺;
$basearch:基礎平臺,同一系列最基本的架構,如32、64;
$YUM0-$YUM9 可作自定義
3.手動建立yum倉庫:
(1)安裝工具:createrepo
(2)下載所須要的全部文件到本地某個路徑
(3)建立關聯關係: createrepo - Create repomd (xml-rpm-metadata) repository
命令:createrepo [options] <directory>
當完成狗會生成repodata便可
(4)配置yum源文件,建立*.rope寫入信息便可