第一种方法:
1. 在server1上copy所有光盘的内容到/server/rhel5/i386/,并对此目录做好了NFS共享,然后把Server下repodata改名为repodata.ins
2. # createrepo -g /misc/cd/Server/repodata.ins/comps-rhel5-server-core.xml -v /server/rhel5/i386/Server/
3. # ls -al /server/rhel5/i386/Server/repodata/
-rw-r--r-- 1 root root 928710 May 2 06:42 comps-rhel5-server-core.xml
-rw-r--r-- 1 root root 2282389 May 2 06:42 filelists.xml.gz
-rw-r--r-- 1 root root 5570297 May 2 06:42 other.xml.gz
-rw-r--r-- 1 root root 747025 May 2 06:42 primary.xml.gz
-rw-r--r-- 1 root root 1158 May 2 06:42 repomd.xml
4. 在另一台机器server2把共享目录mount到本地(使用http当然也可以),然后设置rhel5.repo
[rhel5]
name=Red Hat Enterprise Linux $releasever - $basearch
baseurl=file:///server/rhel5/i386/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
5. # yum clean all
# yum grouplist
# yum search bind
关键就在createrepo的-g参数,是需要从一个现成的文件中去读取group信息的,然后再生成到你的repodata目录下。
第二种方法:
使用http作为仓库的发布
在rhel5.repo里写入
Server
[Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=http://192.168.1.101/server (localhost)
enabled=1
192.168.1.101是本机IP,如果其他机器用的话就必须使用192.168.1.101
我采用的安装光盘的5张cd,
第一步:
#mount /dev/cdrom /mnt
#cp -r /mnt/. /var/ftp/pub/RHEL5
第二步:
拷贝第一张安装光盘里的comps-rhel5-server-core.xml都拷贝任何目录下,这里是/tmp
第三步:
我用createrepo -g 来创建
# cd /var/ftp/pub/RHEL5/Server
createrepo -g /tmp/comps-rhel5-server-core.xml -v /var/ftp/pub/RHEL5/Server
其他几个目录都是一样的方法
第四部:
我编写repo文件
[server]
name=server
baseurl=http://192.168.0.101/rhel5
enabled=1
gpgcheck=0
第五步:
我在apache 做仓库的发布
Alias /rhel5 "/var/ftp/pub/RHEL5"
<Directory "/var/ftp/pub/RHEL5">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
第三种方法:
就是使用vsftp作为仓库发布
拷贝光盘内容 cp -prf /media/cdrom /var/ftp/rhel5
[root@localhost ~]# cd /var/ftp/rhel5/Server/
[root@localhost Server]# createrepo -g repodata/comps-rhel5-server-core.xml ./
创建.repo配置文件。
[root@localhost ~]# vi /etc/yum.repos.d/rhel5-rpms-from-lansvr.repo
[Server]
name=Server Directory
baseurl=ftp://192.168.4.1/rhel5/Server
enabled=1
gpgcheck=0