将Centos 6.4 DVD 1复制到文件夹并将其用作存储库,但DVD 2会返回错误

时间:2013-04-12 16:56:27

标签: repository centos

我下载了6.4 dvd的1和2 第一个是4.4 gb 第二个是1.4 gb

显然第二个也有回购文件。

所以安装它们然后将它们复制到2个文件夹。

home/a/repo_dvd_1
home/a/repo_dvd_2

然后我将它们添加到了回购站

我只是编辑了CentOS_Base.repo或该文件被调用的任何内容。

我在所有内容中添加了“enabled = 0”并将其置于顶部

[01]
name=01
baseurl=file:///home/a/repo_dvd_1
enabled=1
gpgcheck=0

[02]
name=01
baseurl=file:///home/a/repo_dvd_2
enabled=1
gpgcheck=0

然后我跑了

yum clean all

然后我尝试搜索php

yum search php

这是结果。

[root@localhost a]# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: 01 02
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@localhost a]# 
[root@localhost a]# yum search php
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
01                                                       | 4.0 kB     00:00 ... 
01/primary_db                                            | 4.4 MB     00:00 ... 
file:///home/a/repo_dvd_2/repodata/repomd.xml: [Errno 14] Could not open/read file:///home/a/repo_dvd_2/repodata/repomd.xml
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: 02. Please verify its path and try again

2 个答案:

答案 0 :(得分:1)

我知道这是一个老线程,但我刚到这里寻找完全相同的解决方案。

过了一会儿,我自己想出来了:如果你想要从DVD1和DVD2制作一个回购(没有弄脏' createrepo'),你需要的就是复制DVD2 rpms(来自它的' Packages'子目录)到您复制DVD1 rpms的同一目录中('包'如果您尊重树,则应如此)。就是这样:

  1. 将DVD2 iso挂载到目录中:

      

    mount -o loop CentOS-6.4-x86_64-bin-DVD2.iso somedir

  2. 从'包裹中复制所有rpms'子目录到您首先复制DVD1包的目录(' home / a / repo_dvd_1 / Packages'根据原始海报的帖子):

      

    cp somedir / Packages / * .rpm home / a / repo_dvd_1 / Packages

  3. 摆脱.repo文件中的DVD2部分(原帖中的[02]),只保留DVD1的[01],因为DVD1中的rpms列表实际上包含DVD2的那些。 / p>

  4. 现在DVD2 rpm将从DVD1 repo中拉出来。

    玩得开心!

答案 1 :(得分:0)

我是用另一种方式做的。

您可以安装两个图像,例如

mkdir myrepo myrepo/dvd1 myrepo/dvd2; 
cd myrepo
mount -o loop CentOS-6.4-x86_64-bin-DVD1.iso dvd1
mount -o loop CentOS-6.4-x86_64-bin-DVD2.iso dvd2

并使用createrepo脚本创建自己的repo配置,但如果直接调用它,则会丢失组配置,在第一个DVD上查看文件repomd.xml,有数据类型组部分,带有奇怪的xml文件名,包含组映射,因此您可以调用:

createrepo -g dvd1/repodata/2727fcb43fbe4c1a3588992af8c19e4d97167aee2f6088959221fc285cab6f72-c6-x86_64-comps.xml .

当然要检查此哈希名称是否适合您的版本。这将重新扫描iso内容并在myrepo目录中创建repodata,因此将yum指向它

这可能不是最整洁的解决方案,但对我来说这是最快的方式。