第一種方法:
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