Estou adicionando isso como uma nova resposta agora que entendo melhor quais são os requisitos completos.
- Instale o SpiderOak, o Copy, o DropBox ou algum outro software de sincronização de arquivos em todas as máquinas.
- Configure o software no computador de origem para sincronizar um diretório que aqui nos referiremos como '~ / SyncDir'
- Programar uma tarefa cron para executar regularmente (diariamente?) o seguinte:
sudo dpkg --get-selections | sed "s/.*deinstall//" | sed "s/install$//g" > ~/SyncDir/packageList
-
No computador de destino, use o seguinte script para observar as alterações na lista de pacotes à medida que elas são sincronizadas:
while true; do change=$(inotifywait -e close_write,moved_to,create .) change=${change#./ * } if [ "$change" = "packageList" ]; then sudo aptitude update && cat ~/SyncDir/packageList | xargs sudo aptitude install -y; fi done
Isso deve ser feito. Você poderia, teoricamente, executar ambas as partes em todas as máquinas para que elas pudessem ver as alterações umas das outras, mas pode haver alguns ajustes necessários para impedir que ela seja atualizada continuamente. você também pode precisar mover a seção " sudo aptitude update && cat pkglist | xargs sudo aptitude install -y
" para um script shell, em vez de executá-la diretamente dentro do script 'watch'.