Gostaria de espelhar os seguintes repositórios Yum / RPM em http://yum.puppetlabs.com/ :
- http://yum.puppetlabs.com/el/6/products/
- http://yum.puppetlabs.com/el/6/dependencies/
- http://yum.puppetlabs.com/el/5/products
- http://yum.puppetlabs.com/el/5/dependencies/
O repositório Puppet contém todos os produtos Puppet já lançados e é bastante grande, com cerca de 8 GB. Eu só preciso espelhar as versões mais recentes dos arquivos.
Eu tentei espelhar o repositório usando reposync --newest-only
:
reposync --config=puppetlabs.repo.el6 --repoid=puppetlabs-products --repoid=puppetlabs-deps --newest-only --download_path=el/6 --quiet --downloadcomps
e isso baixa os pacotes mais novos que eu preciso. No entanto, reposync não cria automaticamente a estrutura de diretórios normal ( x86_64
, noarch
, SRPMS
, etc.) e não faz espelho repodata.xml
. Como resultado, meus clientes yum obtêm erros como este:
[root@web1 ~]# yum --quiet install puppet
http://mirrors.example.org/pub/puppet/el/6/puppetlabs-deps/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: puppetlabs-deps. Please verify its path and try again
[root@web1 ~]#
Existe uma maneira de espelhar programaticamente apenas os novos arquivos de um repositório Yum e seguir a estrutura de diretórios do repositório padrão?