先以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
阅读(501) | 评论(0) | 转发(0) |