详细步骤如下
----------------------------------------------------------------------------------------------------------------------
说明:本例系统是 Fedora 15,默认目录是 /media。
一、挂载 iso。本例中都在 /media 下完成。
#cd /media
#mkdir iso
#mount -r -o loop /path/to/Fedora-7-i386-DVD.iso /media/iso/
二、在本地文件系统建立 repo 源目录,这和 FC6 下不一样,必须重挂载到本地系统,而不是建立符合链接。
#cd /media
#mkdir repo
#cd repo
#mkdir Fedora
#mount --bind /media/iso/Fedora Fedora
三、在本地文件系统建立 repodata 数据文件。
首先确定系统安装了 createrepo,如果没有,需先安装好该工具:
#rpm -ivh /media/iso/Fedora/createrepo-0.4.8-4.fc7.noarch.rpm
制作数据文件:
#cd /media/repo
#createrepo -g /media/iso/repodata/comps-f7.xml .
注意:命令 "createrepo -g /media/iso/repodata/comps-f7.xml ." 的最后有一个点".",表示当前目录,不然将报错,无法生成数据文件!createrepo 执行完以后,/media/repo 目录下就产生了一个 repodata 目录,里面放置的就是 repodata 数据文件。
四、使用已准备好的 iso 文件。
备份 /etc/yum.repos.d 目录,并删除该目录下的所有文件。修改 /etc/yum.conf ,将 gpgcheck=1 这一行注释掉,看起来是这样:
#gpgcheck=1
并且在文件末尾加入以下内容:
[ISO]
name=iso
baseurl=file:///media/repo
清除先前保存的 cache:#yum clean all
现在,yum 就可以像使用网络资源一样使用 iso 镜像了,并自动安装依赖关系要求的的 rpm 包。
注:
有几个和 FC6 不同的地方,其一是要重挂载 RPM 存放目录到本地系统,而不是建立符号链接;其二是 createrepo rpm 包的存放目录改变了。如果是建立符号链接,生成 repodata 时将不重新生成数据库文件,而是直接复制 iso 文件里面的目录,这样产生的 repodata 是不可用的;对于特定的系统,使用 iso 文件作为 yum 源时,repodata 必须由本地系统生成,否则和本地 rpm 包的安装情况不一致,源将不可用。