First, some background. I am working on a new version of a product that will be adding a Linux version, consisting essentially of a daemon. The version of this product for other platforms will support periodic automatic updates, and we want to do this for the Linux version as well if possible. The product is intended for servers and not workstations/desktops and will be a mostly set-it-and-forget-it daemon that is configured ahead of time or via a remote console.
The idiomatic way to distribute software on Linux is via the distro's native package manager or by compiling it directly, but as far as I can tell it is also part of the culture for the packages to only be upgraded manually to leave the user in control.
We have two general groups of users: group A with large deployments that we assume will have access to management tools and fleet management that will be able to automatically run package manager upgrades, and group B with a single or a handful of servers that are mostly manually managed. We figure some among group B will want to opt into autoupdate functionality if available, and that group A will not want it to interfere with their automated solutions.
Taking Ubuntu as an example, is there a solution for automatically updating the package that is available, acceptable for most Linux administrators and reliable? Technically, automatically running
apt-get --only-upgrade install acme would do the trick, but previous answers verify my theory that it isn't considered acceptable for most Linux administrators for programs to initiate this by themselves.
In many cases, there will not be a local user logged in and monitoring the server that we can ask (we think a significant number of users will not even have the GUI installed or enabled), so I don't think "ask, then kick off autoupdate when they agree" is a solution that will address everyone.
Are there other options I should be looking into and/or a package that already does this in a great way?
(I have a hunch that the actual answer could be "if group B wants this functionality, let them install the solutions group A is using, otherwise let them update manually; don't offer any functionality at all". This question is to make sure we are not missing any options that would make both group A and group B happy and still be a good fit with package management, Linux and the distribution's own cultures.)