Eu encontrei a solução.
repoquery -a | xargs repotrack -a x86_64 -p .
wget -A rpm -r -l 5 http://mirror.centos.org/centos/7/os/x86_64/Packages/ -P .
Eu tenho um servidor que deve conter todos os pacotes RPM baixados do repositório do CentOS para que eu possa acessar esse servidor de outro servidor que não tenha acesso à Internet e obtenha os pacotes atualizados para si mesmo.
O problema é que, por causa do problema de dependência, não consigo baixar todos os pacotes. Abaixo estão os comandos que eu tentei.
$ repotrack -p . -a x86_64 *.rpm
Acima, o comando faz o download de 194 pacotes RPM. Quando tento com * rpm, novamente o mesmo resultado.
$ yum install --downloadonly --installroot=/etc/yum.downloads/packets-installroot --downloaddir=/etc/yum.downloads *.rpm
Acima, o comando faz o download de 179 pacotes RPM. Quando tento com o * rpm, a contagem de pacotes diminuiu.
$ yumdownloader --resolve --destdir=/etc/yum.downloads/ *.rpm
O comando acima baixa apenas 48 pacotes.
$ yum install --downloadonly --downloaddir=/etc/yum.downloads/ *rpm
O comando acima baixa apenas 48 pacotes.
Esses comandos devem baixar todos os pacotes e dependências do RPM enquanto não o fazem. Eu estou tentando os comandos com 1 pacote específico também e eles baixam suas dependências, mas sempre que eu tento baixar todos os pacotes, ele não consegue fazer isso, eu acho.
ATUALIZAÇÃO:
Eu tentei abaixo do comando
$ repoquery --qf=%{name} -g --list --grouppkgs=all [groups] | xargs repotrack -a x86_64 -p .
Baixou 4640 pacotes, mas ainda há um problema. -g comanda grupos de consulta em vez de pacotes. Então, existem pacotes que não têm grupos e eu preciso baixá-los também.
-a
parâmetro é a solução para isso eu acredito pois no manual ele diz que -a
"consulta tudo". Mas ainda não consegui encontrar a verdadeira sintaxe para isso. Alguém sabe?