概述:
基於Debian的發行版類似,基於Red Hat的系統也有幾種不同的可用前端工具。常見的有以下三種。
□yum: 在Red Hat和Fedora中使用。
□urpm:在Mandriva中使用。
□Zyper:在openSUSE中使用。
這些前端都是基於rpm命令行工具的。重點是基於Red Hat,yum來管理軟件包的
一、yum倉庫(服務器端):
repodata這個路徑就是訪問到YUM倉庫的路徑
紅帽5,yum倉庫分爲4個目錄
紅帽6,yum倉庫就分爲1個目錄
最後用createrepo創建YUM倉庫源
[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
其中mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
$releasever:當前主發形版本,不包括子版本號。對紅帽來5來說它就是5,對紅帽6來說它就是6。
&arch:取得當前服務器處的系統平臺是32位還是64位的,類似於 uname -m
$baserch:取得32位平臺的基本平臺i386
二、yum(客戶端):
配置文件/etc/yum.conf
[main]#每一個倉庫配置一個main cachedir=/var/cache/yum/$basearch/$releasever#緩存目錄 keepcache=0#rmp在本地是否長久保存 debuglevel=2 logfile=/var/log/yum.log#日誌文件 exactarch=1#精確匹配系統平臺版本1是“YES”0是“NO” obsoletes=1 gpgcheck=1#檢查RPM來源合法性 plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_repor t_page.php?category=yum distroverpkg=centos-release
[root@TP-CW-WS-PH-01 ~]# cd /etc/yum.repos.d/ [root@TP-CW-WS-PH-01 yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
在/etc/yum.resops.d下的目錄中,只有CentOS-Base.repo是有效的,其它三個可以刪除
查看配置文件
[base] #repository_ID 只要唯一就可 name=CentOS-$releasever - Base #倉庫名 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch& repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ #倉庫源頭的URL gpgcheck=1 #需要gpg驗證 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #所以rpm包來源驗證的存放位置,如果gpgcheck=0,可以不指定
yum客戶端命令操作:
yum SUBCOMMAND;
list {all|installed|available}
all:
屏幕顯示installed和@開頭的表示已經安裝。
屏幕顯示base表示尚且未安裝,可以安裝的包
installed:已安裝的包
available:可安裝的包
update:顯示可更新的包
extras:額爲的包,無法歸類的包
recent:新添加yum源的包
repolist命令:
顯示所有包
[root@localhost ~]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: mirrors.grandcloud.cn * base: mirror.esocc.com * extras: mirror.esocc.com * updates: mirror.esocc.com repo id repo name status addons CentOS-5 - Addons enabled: 0 base CentOS-5 - Base enabled: 2,770 extras CentOS-5 - Extras enabled: 276 updates CentOS-5 - Updates enabled: 508 repolist: 3,554
也可以用通配符查找,所需要的軟件包
[root@TP-CW-WS-DL-01 ~]# yum list all nginx* Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: mirrors.yun-idc.com * extras: centos.ustc.edu.cn * updates: mirror.esocc.com Installed Packages nginx.i686 1.0.15-3.el6 @epel Available Packages nginx.i686 1.0.15-5.el6 epel
yum
info packge_name:查看包信息
group list:查看軟件包組
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
本地的包 源數據 過期緩存 緩存 所有
makcache:手動創建緩存
install package_name~ 可以有多個
yum -y:自動回答爲yes;
reinstall package_name~:重新安裝軟件包
check_update:檢查可升級的包
update packeage_name~:升級軟件包
update-to:升級到指定版本
remove package_name~:卸載包,記住會卸載依賴的包
provides:查詢提供軟件包的出處
search :模糊匹配查詢
groupinstall
開發組:RHEL6“Development tools"、”Server Platform Development" "Desktop Platform Development"
RHEL5 “Development tools"、“Development Libraries"
localinstall:本地安裝RMP包,好處比直接用rpm來安裝,可以將依賴的包全部裝上。
三、本地光盤掛載做YUM源
1、首先將光盤鏡像掛載到/media/cdrom/
mount -o loop -t iso9660 /root/CentOS-6.3-x86_64-bin-DVD1.iso /mnt/cdrom [root@TP-CW-WS-PH-01 cdrom]# ls CentOS_BuildTag EULA p_w_picpaths Packages repodata RPM-GPG-KEY-CentOS-Debug-6 RPM-GPG-KEY-CentOS-Testing-6 EFI GPL isolinux RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-CentOS-Security-6 TRANS.TBL
2、配置本地光盤YUM倉庫配置文件base.repo
[base] name=Centos 6.4 baseurl=file:///media/cdrom/ #本地yum倉庫需要用file:/// enabled=1 gpgcheck=0
3、創建yum緩存
yum makecache
4、yum repolist就可以看到本地光盤的repo name了