yum命令用法:
yum倉庫配置:
配置文件:指向倉庫的位置以及相關的各種配置信息;每個yum命令行可以同時指向多個倉庫,倉庫間可以優先級等相關的配置;
有兩部分組成:
主配置文件:/etc/yum.conf
爲各倉庫指向提供公共配置文件;
各倉庫的定義:/etc/yum.repos.d/*.repo
配置文件在/etc/yum.repos.d/這個目錄下,進入後現將原有的CentOS-Base.repo改爲CentOS-Base.repo.bak,然後創建自己的yum倉庫,即創建一個以.repo結尾的文件,裏面的格式爲:
[repositoryid]
# 對於當前系統的yum來講,此repositoryid用於惟一標識此repository指向,因此,其必須惟一;中括號一定要有,裏邊的內容可以隨便寫,但不能有兩個相同的容器名稱。
name=
# 當前倉庫描述信息;
baseurl=url://path/to/repository/
# 指明repository的訪問路徑;通常爲一個文件服務器上輸出的某repository;
url:
ftp服務
ftp://SERVER/PATH/TO/REPOSITORY
http服務
http://SERVER/PATH/TO/REPOSITORY
本地目錄:
file:///PATH/TO/REPOSTIROY注:file:/// 第3個/代表根目錄
enabled={1|0}
此倉庫是否可被使用,1爲啓用,默認爲1
gpgcheck={1|0}
是否對程序包做校驗,1爲啓用
gpgkey=url://path/to/keyfile
指明gpgkey文件路徑;
例 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
cost=#
指明當前repository的訪問開銷,默認爲1000;
[root@localhost yum.repos.d]# vim ftpyum.repo.bak [yumrepo] name=my local ftp test yumrepo baseurl=ftp://172.16.249.206/pub/xen gpgcheck=0 enabled=1
[root@localhost yum.repos.d]# vim localyum.repo [local] name=my local cdrom in /data/mydata baseurl=file:///data/mydata gpgcheck=0
[root@localhost yum.repos.d]# vim httpyum.repo [sohurepo] name=http sohu repo baseurl=http://mirrors.sohu.com/centos/6.6/os/x86_64/ gpgcheck=0
yum有內置變量,用於保存當前平臺的相信息;
(1) $releasever: 當前OS發行版的主版本號;
例如,對CentOS 6.6 x86_64,主版本號爲6;一般http://mirrors.sohu.com/centos/6會指向http://mirrors.sohu.com/centos/6.6,是一個符號鏈接
(2) $arch:平臺
i386,i486
(3) $basearch: 基礎平臺, 例如i686, i586, i486以及i386的基礎平臺同爲i386;
假如:
baseurl=http://mirrors.sohu.com/centos/6.6/os/x86_64/
當前系統爲CentOS 6.6 x86_64
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch
[root@localhost yum.repos.d]# vim httpyum.repo [sohurepo] name=http sohu repo baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch gpgcheck=0
倉庫baseurl指向的路徑:repodata目錄所在的父目錄
因爲yum會先下載容器的清單到本機的/var/cache/yum裏邊去,修改了baseurl卻沒有修改容器的名字(中括號裏的文字),可能會造成本機的列表與yum服務器的列表不同步,就會出現無法更新的問題,此時就應刪除本機上的舊數據即可
配置完成後,執行yumclean all先清理下之前的緩存,再用yum repolist 重新獲取下激活的repo
yum命令常用使用方法:
倉庫管理:
repolist: 列出已經配置的所有可用倉庫
repolist[all|enabled|disabled]
緩存管理:
clean:清理緩存
clean[ packages | metadata | expire-cache | rpmdb | plugins | all ]
makecache: 緩存創建
自動連接至每一個可用倉庫,下載其無數據,將其創建爲緩存;
例:yum clean all 清理緩存
程序包查看:
yumlist [all | glob_exp1] [glob_exp2] [...]
例:yum list php* 列出php相關的程序包
yum list{available|updates|installed|extras|obsoletes} [glob_exp1] [...]
例: yum list installed|grep 'php' 查找安裝過的php相關的軟件
yum list updates 列出當前服務器上可以升級的軟件
yum info 軟件名 相當於rpm -qai 的結果
程序包安裝:
install package1[package2] [...]
例 yum install zsh
注意: 只需要提供包名;
如果某包有在不同倉庫中有多個不同版本,默認會安裝最新版本;
如果要安裝指定版本:install PACKAGE-VERSION ...
重新安裝(覆蓋安裝)
reinstall package1[package2] [...]
程序包升級:
update [package1][package2] [...]
程序包降級:
downgrade package1[package2] [...]
卸載:
remove | erase package1[package2] [...]
例:yum remove zsh
所有依賴於正卸載的程序包的程序包會被一併卸載;
查詢:
查詢程序的相關簡要信息:info PACKAGE ...
在包名和sumary信息中搜索指定的關鍵字:search KEYWORD ...
例:yum search zsh
查詢指定文件由哪個程序包安裝生成:provides|whatprovides /PATH/TO/SOMEFILE
安裝或升級本地的程序包文件:
localinstall rpmfile1[rpmfile2] [...]
用於安裝倉庫中並不存在的程序包文件,這些程序包有可能又依賴於倉庫中的某些程序包;
localupdate rpmfile1[rpmfile2] [...]
包組管理:
列出所有包組:grouplist
顯示指定包組詳情:groupinfo group1 [...]
安裝:groupinstall group1 [group2] [...]
卸載:groupremove group1 [group2] [...]
升級:groupupdate group1 [group2] [...]
Note: 可直接用install、remove或update來管理包組:
@GROUP_NAME
例:yum install@"Server Platform Development"
yum命令的可用選項:
-y: 自動回答爲“yes”
--installroot=/SOME/PATH:將該軟件安裝在/SOME/PATH中而不使用默認路徑
--disablerepo=: 臨時禁用在配置文件中配置並啓用的某repository;
--enablerepo=:臨時啓用指定的某repo;
--nogpgcheck: 禁止做包校驗;
如何使用發行版光盤作爲yum repository
(1) 掛載光盤到指定掛載點,如/media/cdrom /data/mydata
(2) 在/etc/yum.repo.d/下新建yum.repo配置文件,類似如下所示:
[dvdbase]
name=CentOS6.6 X86_64 on dvd1
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1