红联Linux门户
Linux帮助

Fedora 7配置用yum使用iso DVD镜像源安装软件

发布时间:2007-07-20 00:42:13来源:红联作者:hospcuq
  说明:本例系统是 Fedora 7,默认目录是 /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 包的安装情况不一致,源将不可用。
文章评论

共有 1 条评论

  1. zhuhehz 于 2007-07-24 15:27:26发表:

    1)备份/etc/yum.repos.d下的所有升级配置文件
    #cd /etc/yum.repos.d
    #mkdir backup
    #cp * backup
    2)建立本地添加删除的配置文件
    #vi local.repo #文件名可以任意,但最后必须是repo
    文件中输入:
    [local] #标记,必须在文件中唯一
    name =Fedora software from local #一段描述
    baseurl=file:///mnt/local #这里的local必须和上面的local一样。

    按ESC键,进入命令状态,然后输入:wq,保存退出。

    说明:
    #baseurl表示软件来自/mnt/local。不论是将安装光盘全部复制到/mnt/local或者将光驱挂载到/mnt/local都是一样的。注意,安装光盘内容的结构不能改变。如果是CD版的,从第一张复制到最后一张,覆盖重复的文件即可。如果是DVD版的,直接复制即可。

    3)挂载光驱
    #挂载安装镜像的方法很多,可以直接挂载iso文件,不伦是否DVD的,方法一样:
    #mount -o loop fedora6.iso /mnt/local #挂载镜像文件
    #umount /dev/hdc #我的电脑,fedora6中将光驱识别为/dev/hdc
    #mount /dev/hdc /mnt/local #挂载我的光驱到/mnt/local

    4)修改配置文件/usr/lib/python2.4/site-packages/yum/yumRepo.py
    #vi /usr/lib/python2.4/site-packages/yum/yumRepo.py
    按下/,输入remote,将找到的行中的url修改为"/mnt/local",注意不能去掉引号!
    保存退出即可。
    5)清除yum缓存
    #yum clean all
    6)运行桌面环境下的“应用程序/添加删除...”就可以方便地添加删除了。