概述:
基于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 images 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了
本文出自 “奋斗中的老兵” 博客,转载请与作者联系!