Chinaunix首页 | 论坛 | 博客
  • 博客访问: 129781
  • 博文数量: 38
  • 博客积分: 1277
  • 博客等级: 中尉
  • 技术积分: 450
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-11 23:24
文章分类

全部博文(38)

文章存档

2012年(2)

2011年(7)

2010年(24)

2009年(5)

分类: LINUX

2010-07-27 15:22:32

先以rhel-5-server-i386-dvd.iso为例,制作之前先来看下rhel5映像文件的目录结构,
主要有Cluster,ClusterStorage,Server和VT目录,目录里头除了含用rpm包文件外,
还分别含有一个repodata目录,这相当于对包进行了分组管理,所以在写baseurl路径时,
都要将它们的路径分写上,不过,平时用的软件包都在Server目录中,其它目录中的软件
包很少用到。注意:repodata目录中,除了含有那四个基本文件外,还将相应的comps.xml
组文件加了进去。

1. 设置 iso 文件的自动挂载并安装 createrepo
mkdir /media/rhel
mount -o loop rhel-5-server-i386-dvd.iso /media/rhel
# 如果是光盘,则mount –t iso9660 /dev/cdrom /media/rhel
vi /etc/fstab
/dev/cdrom /media/rhel iso9660 ro 0 0 #可设为开机自动挂载,看你需要啦!
mount –a #重新挂载所有
rpm -ivh /media/rhel/Server/createrepo-0.4.11-3.el5.noarch.rpm #repodata生成工具这个肯定要装

2. 配置 repo
cd /etc/yum.repos.d
mv rhel-debuginfo.repo rhel-debuginfo.repo~
vi rhel-media.repo

[Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Cluster
baseurl=file:///media/rhel/Cluster  # Cluster目录下存在repodata目录enabled=1
gpgcheck=1   ##1为激活gpg检测,0为否
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
##对应的rpm包的验证文件,若设置gpgcheck=0,则可以不用这一项

[ClusterStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - ClusterStorage
baseurl=file:///media/rhel/ClusterStorage #同上
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Server
baseurl=file:///media/rhel/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]
name=Red Hat Enterprise Linux $releasever - $basearch - VT
baseurl=file:///media/rhel/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

3. 创建所需目录(设置到这里个人认为可以完成了,但具体没有实践过)
mkdir -p /var/rhel/{Cluster,ClusterStorage,Server,VT}

4. createrepo:生成repodata软件信息仓库
createrepo -o /var/rhel/Cluster -g /media/rhel/Cluster/repodata/comps-rhel5-cluster.xml /media/rhel/Cluster
# -o选项为设置repodata目录的输出位置,没有的话就在当前目录中输出;
# -g选项指定查找组文件的位置;最后的路径表示rpm包目录的位置,并且只要在所查找的路径下含有此目录即可,程序会自动向下查找的了。
createrepo -o /var/rhel/ClusterStorage -g/media/rhel/ClusterStorage/repodata/comps-rhel5-cluster-st.xml/media/rhel/ClusterStorage
createrepo -o /var/rhel/Server -g /media/rhel/Server/repodata/comps-rhel5-server-core.xml /media/rhel/Server
createrepo -o /var/rhel/VT -g /media/rhel/VT/repodata/comps-rhel5-vt.xml /media/rhel/VT

5. 避免无谓的“下载”
mount --bind /var/rhel/Cluster/repodata /media/rhel/Cluster/repodata
mount --bind /var/rhel/ClusterStorage/repodata /media/rhel/ClusterStorage/repodata
mount --bind /var/rhel/Server/repodata /media/rhel/Server/repodata
mount --bind /var/rhel/VT/repodata /media/rhel/VT/repodata

6. 清除缓存
yum clean all
阅读(462) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~