Industrial Linux administration I manage a bunch of servers, more or less 1000 VMs, running either Debian (lenny,wheezy, jessie) or CentOS (5,6,7). In order to handle this, I use CFEngine. I mostly: Create the VM Add CFEngine repository (apt or yum) Install CFEngine (via apt or yum) Bootstrap CFEngine State of the nation I performed the same steps for all VM I installed for the last 3 years. The main problem I face is the fragmentation of the agents versions: some old installations are still with CFEngine 3.5.x and the latests are on 3.8. This is not a bearable situation: I need to align versions. Methods and attempts My attempts to upgrade CFEngine from CFEngine did not pass tests, mostly because promising version from within CFEngine will remove the package (the running process) and leave the system in an anormal state. I tried several other ways to do it and specifically for the case of CFEngine package, I will manage it with a script that I'm going to lau