Como parte de um projeto, preciso reconstruir os RPMs de origem do repositório Remi Yum realmente conveniente (RPMS de origem) .
A busca por alguma maneira de obter eficientemente esses pacotes não foi um empreendimento muito bem-sucedido (palavras-chave comuns levam a resultados muito poluídos em Google
). reposync
pode fazer isso, mas apenas como um complemento para clonar a parte RPM do repositório. O que eu preciso é de algo que faça isso apenas para as fontes.
Qualquer leva a fazer isso de forma eficiente?
Nota: Solução ineficiente já aplicada:
extractXPathAttr.pl 'http://rpms.famillecollet.com/SRPMS/' '//tr/td[2]/a[1]' 'href' |\
grep src.rpm |\
xargs -I{} wget 'http://rpms.famillecollet.com/SRPMS/{}'
( extractXPathAttr.pl
extrai o atributo obrigatório dos elementos especificados pelo XPath do URL fornecido. Vou colocá-lo no github assim que for limpo e documentado.)
reposync
pode ser usado apenas para as fontes.Não importa se o repositório de origem está ativado
/etc/yum.repos.d/
ou não. Contanto que haja um repositório de origem, ele será resincronizado com ele ativado ou não.Certifique-se de especificar o nome do repositório de origem junto com a
--source
opção:reposync -n --source -r foobar-source
Versões usadas nesta resposta:
rpm -q yum-utils yum-utils-1.1.31-42.el7.noarch cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
Você pode tentar espelhar o conteúdo do repositório:
A
mirror
opção já usa registro de data e hora, portanto, também é útil para atualizações do espelho local.Em seguida, use
createrepo
localmente.