Ao usar createrepo posso colocar rpms em vários diretórios?

3

Quando eu uso o comando createrepo posso colocar RPMs (dentro do diretório base) em múltiplos diretórios (acho hierárquico) e ainda ter o yum recursivamente em todos os RPMs dos diretórios dentro do diretório base?

Exemplo:

createrepo /srv/my/repo 
/srv/my/repo/vendor1/package1/first.rpm
/srv/my/repo/vendor1/package2/first.rpm

/srv/my/repo/vendor2/package1/third.rpm

Eu pergunto porque coloquei um dos RPMs em um diretório, fiz um createrepo --update e um yum clean all , mas ainda assim não o peguei. Agora eu estou querendo saber se precisa estar em uma estrutura de arquivos simples em vez de estrutura hierárquica?

    
por kaizenCoder 02.10.2014 / 01:23

1 resposta

3

Tem sido minha experiência que não, createrepo não pode percorrer recursivamente uma árvore de diretórios. Você, portanto, tem que achatar a estrutura de diretórios do repo. Eu costumo usar esse tipo de construção de loop no meu script de construção de repo.

destdir="/path/to/my/yum-repos/Fedora/14"
for arch in i386 x86_64 noarch; do
  printf "\n\n==== creating repo: %-50s [%-s]\n" $destdir $arch
  pushd ${destdir}/${arch} >/dev/null 2>&1
  createrepo -dp .
  popd >/dev/null 2>&1
done
    
por 02.10.2014 / 01:58