Paisagem pode ser do seu interesse. Esta é a ferramenta de gerenciamento "oficial" para gerenciar grandes implantações do Ubuntu, e a Canonical provavelmente está muito interessada em obter seu dinheiro pelo uso.
REEDIÇÃO:
Primeiro, um aviso; Eu não usei o espelhamento para o Debian ou Ubuntu, então não estou familiarizado com o software.
Segundo, parece que o apt-mirror seria uma solução "muito pesada", minhas desculpas. A idéia original era que você teria uma máquina de teste separada (ou ambiente de teste, provavelmente uma máquina virtual?) Para implantar a atualização. Quando estiver satisfeito com o desempenho da atualização, você puxará / colocará o pacote no seu espelho "deploy" (haveria o espelho local das fontes oficiais e um espelho secundário para apenas as atualizações que você deseja implantar). As máquinas remotas executariam uma atualização em um horário predefinido e a retirariam do espelho "implantar" em cada máquina, uma tarefa cron que consiste em:
apt-get update && apt-get upgrade --quiet --assume-yes
Infelizmente, quando comecei a ler os detalhes, parece que apt-mirror
isso atrai todo tipo de coisa e não apenas os pacotes que você procura. Então, vou abandonar essa ideia, embora o conceito tenha algum mérito.
Um colega de trabalho descobriu e examinou brevemente o apt-dater, que é um "gerenciador de atualização remota de pacotes baseado em terminal".
Você usa uma interface baseada em maldições para gerenciar atualizações em todos os hosts ou grupos de hosts, etc.
Confia no ssh e no sudo nas máquinas gerenciadas.
consulte http://www.ibh.de/apt-dater/
Eu não o usei, então não posso endossá-lo, mas soa próximo ao que você está procurando.
fonte
Como você já está usando o Puppet, a maneira mais fácil de fazer isso (e a melhor para controle de alterações / rastreamento) é especificar a versão desejada dos pacotes que você deseja instalar no manifesto do fantoche. Você fica de olho na lista de anúncios de segurança e, quando aparecer alguma coisa, basta atualizar o Puppet para dizer "instale esta nova versão deste pacote". Supondo que você esteja usando o controle de revisão em seus manifestos, você saberá quando a "política" foi alterada e os relatórios do Puppet mostrarão exatamente quando a alteração foi realmente feita (para que você possa se correlacionar facilmente com eventos de log posteriores).
fonte
Dê uma olhada no clusterssh (apt-get install clusterssh):
$ cssh server1 server2 server3 ...
fonte
Sem realmente ter pensado nisso antes, minha primeira ideia seria algo semelhante ao que avery sugeriu, especialmente se você já tem um ambiente de teste.
Basicamente, você define suas máquinas de produção para atualizar automaticamente a partir de seu próprio repositório local e só atualiza esse repositório depois de atualizar seu ambiente de teste para a versão mais recente do que quer que seja executado.
O Apticron não escala bem, foi projetado para ser executado em ambientes bem pequenos, mas tem alguns bons pontos:
fonte
Às vezes, escrevi um script Fabric de automação de baixo nível / sujo (fabfile) para atender a requisitos semelhantes. Você pode verificá-lo em:
https://gist.github.com/lgaggini/2be3c5bb47b8ce9267bd
fonte