Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。----來源 百度
1、yum命令:
yum [options] [command] [package ...]
command is one of:
* installpackage1 [package2] [...] 程序包安裝一次可跟多個包名如果某包在不同倉庫中有多個不同版本,默認會安裝最新版本;如果要安裝指定版本:install package_version
* update [package1] [package2] [...]程序包升級
* update-to [package1] [package2] [...]
*check-update 檢查有哪些升級可用:
* upgrade [package1] [package2] [...]
* upgrade-to [package1] [package2] [...]
* distribution-synchronization [package1] [package2] [...]
* remove | erase package1 [package2] [...]卸載所有依賴於正卸載的程序包的程序會包會被一併卸載
* list [...]
* info[...]查詢 info PACKAGE...
*provides | whatprovides feature1 [feature2] [...] 查詢指定文件由哪個程序生成、
* clean [ packages包 | metadata元數據 | expire-cache過期 | rpmdb | plugins插件 | all ] 清理緩存
* makecache 自動連接至每一個可用倉庫,下載其元數據將其創建爲緩存;
* groupinstall group1 [group2] [...] 安裝
* groupupdate group1 [group2] [...] 升級
*grouplist [hidden] [groupwildcard] [...]列出當前倉庫可用的包組
* groupremove group1 [group2] [...] 卸載
* groupinfo group1 [...] 顯示指定包組詳情
*search string1 [string2] [...] 在包和sumary信息中搜索指定的關鍵字:search KEYWORD...
* shell [filename]
* resolvedep dep1 [dep2] [...]
*localinstall rpmfile1 [rpmfile2] [...]安裝本地的程序包文件,用於安裝倉庫中並不存在的程序包文件,這些程序包有可能又依賴於倉庫中的某些程序包;
(maintained for legacy reasons only- use install)
* localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only- use update)
*reinstall package1 [package2] [...]重新安裝(覆蓋安裝)
*downgrade package1 [package2] [...] 程序包降級
* deplist package1 [package2] [...]
* repolist [all|enabled|disabled] 列出已經配置的所有可用倉庫
程序包查看:
yum list [all |glob_exp1] [glob_exp2] [...]
yum list {available未安裝包的包|updates可升級的|installed安裝過的|extras本機安裝過但是倉儲沒有此包|obsoletes(本機有新版本可被廢棄的包)} [glob_exp1] [...]
grouplist [hidden][groupwildcard] [...]
程序包安裝:
install package1[package2] [...]
Note: 只需要提供包名;
如果某包有在不同倉庫中有多個不同版本,默認會安裝最新版本;
如果要安裝指定版本:install PACKAGE-VERSION ...
重新安裝(覆蓋安裝)
reinstall package1[package2] [...]
程序包升級:
update [package1][package2] [...]
程序包降級:
downgrade package1[package2] [...]
檢查有哪些升級可用:
check-update
卸載:
remove | erase package1[package2] [...]
所有依賴於正卸載的程序包的程序包會被一併卸載;
查詢:
查詢程序的相關簡要信息:info PACKAGE ...
在包名和sumary信息中搜索指定的關鍵字:search KEYWORD ...
查詢指定文件由哪個程序包安裝生成:provides|whatprovides /PATH/TO/SOMEFILE
安裝或升級本地的程序包文件:
localinstall rpmfile1[rpmfile2] [...]
用於安裝倉庫中並不存在的程序包文件,這些程序包有可能又依賴於倉庫中的某些程序包;
localupdaterpmfile1 [rpmfile2] [...]
包組管理:
列出所有包組:grouplist
顯示指定包組詳情:groupinfo group1 [...]
安裝:groupinstallgroup1 [group2] [...]
卸載:groupremovegroup1 [group2] [...]
升級:groupupdategroup1 [group2] [...]
Note: 可直接用install、remove或update來管理包組:
@GROUP_NAME
yuminstall @"Server Platform Development"
2、yum 核心其實在於yum倉庫 首先我們看一下YAM倉庫的創建
yam倉庫配置文件
Cat /etc/yum.conf yum [main]核心配置項倉庫共享的公共信息
[main] 核心配置段,提供公共配置信息
各倉庫放在yum.repos.d 下以.repo結尾
Yum.conf配置詳解
Cachedir:緩存目錄
Keepcache:緩存包是否保存在緩存中
Debugleve1:調試級別
logfile:日誌文件存放位置
exactarch:是否和當前版本匹配
obsoletes:是不是檢測安裝包是否被遺棄
gpgcheck:配置是否在安裝前檢測安裝包來源合法性和完整性
plugins:yum是否支持插件
installonly_limit:一次安裝程序包個數顯示
bugtracker_url:bug追蹤
distroverpkg:發行版版本包
各倉庫配置
[repositoryid]
#對於當前系統的yum來說,此repositoryid用於唯一標識此repository指向,因此其必須唯一;
Name=
#當前倉庫描述信息;
Baseurl:
#指明repository的訪問路徑;通常爲一個文件服務器上輸出的某repository;
url:
ftp服務器
ftp://SERVER/PATH/TO/REPOSITORY
HTTP:服務器
http://SERVER/PATH/TO/REPOSITORY
本地路徑:
Enabled={1 |0}
此倉庫是否可被使用
Gpgcheck={1|0}
是否對程序包做校驗
Gpgkey=url://path/to/keyfile
校驗地址,如果gpgcheck啓用必須開啓gpgkey
Cost:
開銷小優先級越高。指明當前repository的訪問開銷,默認爲1000
配置yum倉庫
Cd /etc/yum.repos.d/
Mv centos6.6.repo centos6.6repo.old
Vim test.repo
內容如下
[base] 單個單詞不能和其他同名
Name=centos 6.6 x86_64 DVD1
BASEURL=file:///data/mydata
Gpgcheck=0
Enable=1
Yumrepolist 列出可用倉庫
清理緩存: yum clean all 或直接刪除目錄
Rm –rf /var/cache/yum/*
Yum repolist 重新建立列表
Tree /var/cache/yum 使用tree查看目錄信息
確定repository 的輸出方式;
本地輸出:提供一個放置rpm包的本地路徑
網絡輸出:提供一個文件服務器,配置好FTP服務器或HTTP服務器;
Ftp服務;
安裝程序包:vsftpd
http服務:
安裝服務包:httpd
倉庫管理:
repolist: 列出已經配置的所有可用倉庫
repolist[all|enabled|disabled]
緩存管理:
clean:清理緩存
clean[ packages | metadata | expire-cache | rpmdb | plugins | all ]
makecache: 緩存創建
自動連接至每一個可用倉庫,下載其無數據,將其創建爲緩存;