Infelizmente, o fusor não faz muito por você quando você está executando em contêineres de namespace sem privilégios diferentes, 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 é intransponível, mas significa que sua automação precisa ter uma maneira de evitar erros de agrupamento no apt durante a instalação do aptdcon, e você precisará de algum tipo de espera para qualquer coisa que precise serializar após a instalação de pacotes via aptdcon a menos que já exista algum tipo de sinalizador para isso.
O que funciona é rebanho. Isso também deve funcionar com o NFS etc., pois usa o bloqueio do sistema de arquivos da mesma maneira que o apt, apenas com o parâmetro -w segundos que ele aguardará no seu bloqueio em vez de gerar um erro.
Portanto, 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 a E / S, não permitindo o paralelismo no apt, para que você possa permitir que o cron acione atualizações à meia-noite em qualquer lugar, sem bater o disco.
#!/bin/bash
exec /usr/bin/flock -w 900 -F --verbose /var/cache/apt/archives/lock /usr/bin/apt-get $@
Um pedido de recurso muito agradável e simples para o apt-get seria um sinalizador -w para alternar para um bloqueio de bloqueio / espera.
sudo apt-get install packagename && sudo apt-get updatee eles acontecerão automáticos um após o outro.