我下载了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
答案 0 :(得分:1)
我知道这是一个老线程,但我刚到这里寻找完全相同的解决方案。
过了一会儿,我自己想出来了:如果你想要从DVD1和DVD2制作一个回购(没有弄脏' createrepo'),你需要的就是复制DVD2 rpms(来自它的' Packages'子目录)到您复制DVD1 rpms的同一目录中('包'如果您尊重树,则应如此)。就是这样:
将DVD2 iso挂载到目录中:
mount -o loop CentOS-6.4-x86_64-bin-DVD2.iso somedir
从'包裹中复制所有rpms'子目录到您首先复制DVD1包的目录(' home / a / repo_dvd_1 / Packages'根据原始海报的帖子):
cp somedir / Packages / * .rpm home / a / repo_dvd_1 / Packages
摆脱.repo文件中的DVD2部分(原帖中的[02]),只保留DVD1的[01],因为DVD1中的rpms列表实际上包含DVD2的那些。 / p>
现在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指向它
这可能不是最整洁的解决方案,但对我来说这是最快的方式。