Temos um repositório personalizado do Yum para o qual nossos desenvolvedores carregam cria.
O problema é que, após algum tempo, torna-se cheio de versões antigas.
Remover as versões antigas manualmente é bastante irritante, portanto, antes de tentarmos automatizá-las, eu me pergunto se existe algum script que limpe os RPMs antigos com base na versão (preferencial) ou na hora do upload.
O melhor seria se pudéssemos especificar para salvar simplesmente as últimas versões do X e apagar qualquer outra coisa. Então poderíamos cronometrá-lo e deixá-lo funcionar diariamente.
Obrigado por qualquer idéia.
yum
repository
SyRenity
fonte
fonte
Respostas:
A maneira "simples" é simplesmente despejar tudo em um diretório e executar:
... a maneira mais complicada é configurar o koji / etc. para fazer suas construções e criar os repositórios.
fonte
xargs
, porque, caso contrário, poderá obterrm: missing operand
(se não houver RPMs antigos para remover). Então:repomanage --keep=2 --old /path/to/repo | xargs rm -f
rm $(repomanage --keep=2 --old /path/to/repo)
pode facilmente exceder o tamanho máximo do comando.xargs
vai cuidar de uma enorme lista de argumentos. Veja: offbytwo.com/2011/06/26/things-you-didnt-know-about-xargs.htmlConfira o utilitário "repomanage" no RPM do yum-utils. Faz exatamente o que você está procurando.
fonte
Eu aproveitaria o sistema de controle de versão ou rotulagem usado para identificar compilações. Você também pode identificar os pacotes por data com um script em execução no servidor que hospeda o repositório.
fonte
Se os uploads acontecem todos os dias, por que não considerar a exclusão dos arquivos antigos mais antigos, digamos, um determinado número de dias (em termos de tempo de acesso / modificação)? Encontre e apague-os. Se você puder fazer com que seus desenvolvedores enviem compilações de forma que eles incluam o nome do mês atual no nome do arquivo durante o upload, faria sentido a partir do nome do arquivo diretamente que o arquivo foi carregado no chamado mês do ano e faz sentido excluir apenas pela base de olhar para o nome do arquivo. Seria fácil para a automação de scripts considerar a remoção desses arquivos ou apenas manter os arquivos correspondentes ao mês anterior e ao mês atual. Apenas um pensamento.
fonte