Infelizmente, o fusor não faz muito por você quando você está executando em diferentes contêineres de namespace não privilegiados, como o lxc.
Além disso, o aptdcon não é instalado por padrão (pelo menos no 18.04) e coloca sua tarefa em segundo plano em uma fila, para que você perca a serialização. Isso não é insuperável, mas significa que sua automação precisa ter alguma maneira de evitar erros de flock no apt ao instalar o aptdcon, e você precisará ter algum tipo de loop de espera para qualquer coisa que precisar serializar após instalar os pacotes via aptdcon a menos que haja algum tipo de sinalizador para isso já.
O que funciona é o bando. Isso também deve funcionar sobre o NFS, etc., já que ele usa o bloqueio do sistema de arquivos da mesma forma que o apt, apenas com o parâmetro -w seconds que irá aguardar no seu bloqueio em vez de lançar um erro.
Seguindo o modelo do wrapper, adicione-o como apt-get em / usr / local / bin / e compartilhe.
Isso também tem o benefício de limitar o IO ao não permitir o paralelismo no apt, para que você possa permitir que o cron acione atualizações à meia-noite em qualquer lugar, sem precisar bater o disco.
#!/bin/bash
exec /usr/bin/flock -w 900 -F --verbose /var/cache/apt/archives/lock /usr/bin/apt-get $@
Uma requisição de recurso muito agradável e simples para o apt-get seria um sinalizador -w para alternar para um bloqueio de bloqueio / espera.