Clever & Automatic Software Updates

Registered by Sergey "Shnatsel" Davidoff

Software updates which provide important security fixes should be installed automatically, but only on decent network connections (e.g. not slow&expensive cellular network).

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

I wonder if we could make an Upstart job to be triggered on connecting to a decent network. Also it would be great to collaborate with Ubuntu on that. --shnatsel

No password is needed during update installation, so maybe a Chrome or Windows-style background updater for all updates would work (for decent connections, of course).
-lordalpha1

we could do something like this:
https://saz.sh/2009/07/10/run-apt-get-update-automatically-under-debian/
-- julien-spautz

That's just a tutorial for unattended-upgrades, nothing interesting. The challenge is to make that anachronistic, adaptive to network presence and also wait for decent network connection before running it - so it won't e.g. clobber 3G connections. --shnatsel

shnatsel, network manager has vala bindings, so it wouldn't be difficult to select a preferred network. A speedtest could be run by running apt-get update, and seeing how long that takes/download size (smaller file would be preferable), and 3G connections could possibly be
found by querying mobile-broadband-provider-info. --ainq

Hi,
It might be a good idea to not limit it to security upgrade. I have install elementary OS to a few not tech savy people. They all just close the window when asked to update their system.
-- lasne olivier

(?)

Work Items

Work items:
On connecting to a decent network trigger something like unattended-upgrades cronjob for installing security updates: TODO
Create an option to control updates behavior in Switchboard: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.