我维护所有安装包的本地存储库。我正在尝试使用 reposync (第一次,我通常使用 rsync 来镜像我需要的内容),但我遇到了一些奇怪的行为。我在系统范围内启用的任何存储库/etc/yum.repos.d/MYREPO.conf正在被拉入要同步的目录列表中。
./reposync -n -c vmware-tools.cfg -p tmp -u
我真的不想提供要包含的存储库列表 - 我只想简单地将必要的行添加到上面的文件中并使其工作。
vmware-tools.cfg 的内容。
[6-i386]
name=VMware Tools 6 x32
baseurl=http://packages.vmware.com/tools/esx/latest/rhel6/i386
enabled=1
gpgcheck=1
[6-x86_64]
name=VMware Tools 6 x64
baseurl=http://packages.vmware.com/tools/esx/latest/rhel6/x86_64
enabled=1
gpgcheck=1
[5-i386]
name=VMware Tools 5 x32
baseurl=http://packages.vmware.com/tools/esx/latest/rhel5/i386
enabled=1
gpgcheck=1
[5-x86_64]
name=VMware Tools 5 x64
baseurl=http://packages.vmware.com/tools/esx/latest/rhel5/x86_64
enabled=1
gpgcheck=1
如何纠正此行为和/或以更好的方式同步这些文件?
答案1
来自reposync
帮助:
-r REPOID, --repoid=REPOID
specify repo ids to query, can be specified multiple
times (default is all enabled)
这意味着您需要将-r
选项reposync
和存储库名称传递给同步。因此,您的命令应如下所示:
./reposync -n -c vmware-tools.cfg -p tmp -r 6-x86_64 -u
答案2
我遇到了同样的问题,但找到了一个可行的解决方案:
reposync
-c 选项正在寻找 yum.conf,而不是存储库定义,因此通过向其提供完整的 yum 配置并将其repodir
设置为空,它只会提取所需的 url:
[main]
reposdir=
[vmwaretools-rhel6-i386]
name=VMware Tools 6 x32
baseurl=http://packages.vmware.com/tools/esx/latest/rhel6/i386
enabled=1
gpgcheck=0
...
结果是:
[repo@repo reposync-test]# reposync -c reposync-yum.conf -p repos -u
vmwaretools-rhel5-i386 | 951 B 00:00
vmwaretools-rhel5-i386/primary | 17 kB 00:00
vmwaretools-rhel5-x86_64 | 951 B 00:00
vmwaretools-rhel5-x86_64/primary | 13 kB 00:00
vmwaretools-rhel6-i386 | 951 B 00:00
vmwaretools-rhel6-i386/primary | 17 kB 00:00
vmwaretools-rhel6-x86_64 | 951 B 00:00
vmwaretools-rhel6-x86_64/primary | 17 kB 00:00
http://packages.vmware.com/tools/esx/latest/rhel5/i386/kmod-vmware-tools-pvscsi-1.1.3.0-2.6.18.8.el5.5.el5.i686.rpm
http://packages.vmware.com/tools/esx/latest/rhel5/i386/kmod-vmware-tools-pvscsi-PAE-1.1.3.0-2.6.18.8.el5.5.el5.i686.rpm
http://packages.vmware.com/tools/esx/latest/rhel5/i386/kmod-vmware-tools-vmblock-1.1.2.0-2.6.18.8.el5.5.el5.i686.rpm
...