1、簡介html
YUM: Yellowdog Update Modifier,rpm的前端程序,用來解決軟件包相關依賴性,能夠在多個庫之間定位軟件包,以解決軟件安裝或卸載與升級的問題。前端
2、yum配置文件centos
1.主配置文件:緩存
/etc/yum.conf,爲全部倉庫提供公共配置;
bash
/etc/yum.repos.d/*.repo,爲倉庫的指向提供配置;
服務器
2.各倉庫指向的定義: 網絡
directive=VALUE,例如: name=baseide
注意:文件以.repo結尾,每一個repo配置文件中能夠配置一至多個倉庫;測試
[main]:提供公共配置信息;this
倉庫配置:
[repositoryID]
##必須惟一
name=Some name for this repository
##當前倉庫描述信息,能夠不寫
baseurl=url://path/to/repository/
##指明倉庫的訪問路徑,一般爲一個文件服務器上輸出的某倉庫;
##url支持的類型:
ftp://
http://
file:///
enabled={1|0}
##倉庫是否可被使用,默認不寫表明使用;1:是;0:否;
gpgcheck={1|0}
##是否對程序包作校驗;
gpgkey=URL
##指明gpgkey文件路徑;
enablegroups={1|0}
##是否使用倉庫組
failovermethod={roundrobin|priority}
##設置多個倉庫時,須要指明優先使用那個倉庫安裝包;默認爲:roundrobin:意爲隨機挑選
;priority:優先級;
cost=
##指明當前倉庫的訪問開銷,默認爲1000;
3、yum命令使用
語法:yum [options] [command] [package ...]
1.yum倉庫列表
yum repolist:列出已經配置的全部可用倉庫;
yum repolist [all|enabled|disabled];
2.yum查看程序包
yum list:列出全部程序包;
yum list [all | glob_exp1] [glob_exp2][...]
yum list {available|installed|updates}[glob_exp1] [...]
3.yum安裝程序包
yum install package1 [package2] [...]
yum reinstall package1 [package2][...](從新安裝)
注意:
1.只須要提供包名;
2.若是某包在不一樣倉庫中有多個不一樣的版本,默認會安裝最新版本;
3.若是要安裝指定版本:yum install package-version...
4.yum升級程序包
yum update [package1] [package2] [...]
yum downgrade package1 [package2] [...](降級)
5.yum檢查有哪些可用升級
yum check-update
6.yum卸載程序包
yum remove | erase package1 [package2] [...]
注意:全部依賴於正卸載的程序包的程序包會被一併卸載;
7.yum查詢程序包的相關簡要信息information
yum info package...
8.查看指定的特性(能夠是某文件)是由哪一個程序包所提供:
yum provides |whatprovides feature1 [feature2] [...]
eg:yum provides /bin/cat
9.清理本地緩存
yum clean [packages | metadata |expire-cache | rpmdb | plugins | all]
10.構建緩存
yum makecache
11.yum搜索
yum search string1 [string2] [...]:以指定的關鍵字搜索程序包名及summary信息
12.yum查看指定包所依賴的capabilities
yum deplist package1 [package2] [...]
13.查看yum事務歷史
history [info|list|packages-list|packages-info| summary|addon-info|redo|undo|rollback|new|sync|stats]
yum history(查看歷史信息
yum history info 6 (查看第6條歷史信息)
yum history undo 6 (撤銷第六條信息執行的操做)
日誌文件:/var/log/yum.log
14.安裝或升級本地的程序包文件
yum install rpmfile1 [rpmfile2] [...]
yum update rpmfile1 [rpmfile2] [...]
15.包組管理的相關命令
yum grouplist [hidden] [groupwildcard] [...](列出全部包組)
yum groupinfo group1 [...](顯示指定包組詳情)
yum groupinstall group1 [group2] [...](安裝包組)
yum groupremove group1 [group2] [...](卸載包組)
yum groupupdate group1 [group2] [...](升級包組)
16.yum的命令行選項
- -nogpgcheck:禁止作包校驗
-y: 自動回答爲「yes」
-q:靜默模式
- -disablerepo=repoidglob:臨時禁用此處指定的repo
- -enablerepo=repoidglob:臨時啓用此處指定的repo
- -noplugins:禁用全部插件
17.yum的repo配置文件中有一些內置的變量,用於保存當前平臺的相關信息,經常使用變量有
(1)$releasever: 當前OS的發行版的主版本號;
(2)$arch: 平臺,i386,i486,i586,x86_64等;
(3)$basearch:基礎平臺;i386;
(4)$YUM0-$YUM9:自定義變量;
示例:
http://mirrors.aliyun.com/centos/$releasever/$basearch/
http://mirrors.sohu.com/centos/7/x86_64
http://mirrors.163.com/centos/6/i384
4、製做本地yum源
使用本地yum源有兩種方式,第一種直接使用光盤鏡像,不過此種方法僅限本機使用;第二種建立本地yum倉庫,而後使用http或者ftp等方式向外部提供yum倉庫。
(1)使用發行版光盤做爲yum倉庫:
步驟: ①掛載光盤到指定掛載點:例如:/mnt/cdrom; # mount /dev/sr0 /mnt/cdrom ②建立yum倉庫配置文件,以.repo做爲後綴名,例如:CentOS-Base.repo [sr0] name=centos 7 base baseurl=file:///mnt/cdrom/ gpgcheck=1 gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1(不寫默認值爲1) ③清楚本地緩存:yum clean all ④查看可用的yum倉庫:yum repolist
(2)建立本地yum倉庫
語法:createrepo [option] <directory>
步驟: ①createrepo命令默認是沒有安裝的,可使用rpm或yum事先安裝好createrepo程序包; ②建立好yum倉庫目錄;例如/testdir/repodb/,這個目錄用來存放rpm程序包文件;倉庫的訪 問路徑; ③肯定yum倉庫輸出方式: 本地輸出:提供一個放置rpm包的本地路徑,file:///的形式; 網絡輸出:提供一個文件服務器,配置好ftp服務或http服務; ftp服務: 安裝程序包:vsftpd 文件存放路徑:/var/ftp/pub 啓動服務:service vsftpsd restart http服務: 安裝程序包:httpd 文件存放路徑:/var/www/html 啓動服務:service httpd restart ④在準備好的目錄放置rpm程序包文件; #能夠經過cp命令將光盤中的程序包拷貝到此輸出目錄中 ⑤cd進入到此目錄,運行createrepo .命令,會生成一個repodata目錄; #把當前目錄做爲yum倉庫數據所在地; #至此就完成了yum倉庫的建立; 注意:倉庫指向的路徑爲repodata目錄所在的父目錄;
(3)測試建立的yum倉庫是否可用
①在/etc/yum.repos.d/目錄下建立一個以.repo結尾的配置文件,例如my.repo,內容以下: [myrepo] name=my repo base baseurl=file:///testdir/repodb/ gpgcheck=0 ②清除緩存 yum clean all:清理緩存 yum makecache:構建緩存 ③查看可用倉庫 yum repolist ④安裝程序包 yum -y install httpd