como criar um espelho de rpm sob demanda

2

Eu gostaria de criar um repositório rpm para pacotes fedora na minha rede local. devido a limitações de armazenamento, eu quero que o repositório esteja vazio inicialmente e faça o download dos pacotes assim que eles forem acessados.

Antecedentes

eu trabalho muito com VMs locais. Toda vez que eu crio uma nova VM e instalo o fedora muitos pacotes são baixados da internet. A maioria dos pacotes baixados é a mesma. Para acelerar o processo, gostaria que os RPMs fossem armazenados em cache em um servidor localizado na mesma rede.

perguntas semelhantes foram respondidas com uma combinação de createrepo & %código%. Eu não gosto da parte reposync , porque eu não quero clonar todo o repositório na frente quando eu só preciso de alguns dos pacotes.

Solução Ideal

Eu gostaria que o servidor da minha rede local funcionasse como um repositório rpm para as minhas instalações do fedora. Ele deve passar pelos metadados de qualquer configuração em reposync . O servidor deve entregar o RPM solicitado se estiver presente no cache local ou baixá-lo se não estiver e entregá-lo.

Uma abordagem menos ambiciosa seria configurar um único repositório rpm em vez de /etc/yum.repod.d/* e apenas usar um proxy http.

Atualização: 02 de novembro de 2015

Já tenho um https://mirrors.fedoraproject.org/... em execução na rede, por isso brinquei com uma combinação de nginx e proxy_pass . Isso funciona, mas tem mais desvantagens do que benefícios:

  • uma configuração separada para cada repo configurado em proxy_cache .
  • não pode usar /etc/yum.repo.d/* de metadata devido a espelhos alternativos.

eu deixei cair o nginx e instalei https://mirrors.fedoraproject.org/ como sugerido nos comentários. squid funciona muito bem para mim. Com a configuração squid eu ainda sou capaz de usar os espelhos alternativos e ainda atingir o cache, não importa de onde o RPM veio originalmente.

    
por Yevgeniy 31.10.2015 / 20:31

3 respostas

2

Aqui você pode encontrar o squid.conf ajustado para o armazenamento em cache do rpm:

link

Você deve modificar a configuração de memória e porta.

    
por 03.11.2015 / 02:01
1

Não tenho certeza se você encontrou uma boa solução para isso, mas acabei escrevendo um pequeno programa Go. Ele atua como um proxy de armazenamento em cache e mantém em torno de RPMs, mas faz o proxy de upstream para arquivos de banco de dados, portanto, está sempre correto. Está configurado para o CentOS, o Fedora EPEL e o Arch Linux por enquanto.

Você pode vê-lo no link

    
por 20.07.2016 / 00:15
-1

apt-cacher-ng também pode funcionar. Eu ainda não tentei!

link

    
por 24.02.2018 / 18:52