Offline Updates using systemd and PackageKit
Make updating of system components more reliable by doing it in an minimal, controlled environment.
- Targeted release: Fedora 18
- Last updated: 2012-06-06
- Percentage of completion: 50%
The necessary systemd infrastructure has landed in rawhide with the systemd 183 release. The PackageKit and GNOME pieces are still being developed.
By "offline" OS updates we mean package installations and updates that are run with the system booted into a special system update mode, in order to avoid problems related to conflicts of libraries and services that are currently running with those on disk.
The system update mode is implemented by booting into a special target. The target installs the downloaded updates and then reboots back into the regular default target. For more details, see http://freedesktop.org/wiki/Software/systemd/SystemUpdates
Installing updates will still be the users choice - if system updates are available, we will offer 'Restart and install updates' in addition to a plain 'Restart' in the menus.
Note that this feature does not prevent you from using yum to install updates whenever you want to. We also differentiate updates of 'OS components' (which we want to do in this offline fashion) from application updates and installations, which should still be possible from the UI without restarting the system.
Also note that this feature is about implementing offline updates for GNOME. Other spins are not affected, although they could choose to use the same systemd and PackageKit infrastructure, and provide a similar experience.
Benefit to Fedora
Replacing libraries and files while the OS is running can cause problems ranging from application crashes to inconsistent system states where processes are using different versions of a library at the same time. By installing system updates 'outside' the normal system operation, we avoid these problems.
Secondary benefits of the work done for this feature include that we are downloading all updates before we notify the user about available updates, and thus avoid unpleasant wait times.
- Update systemd to version >= 183 (done in rawhide)
- Complete the PackageKit support for offline updates (mostly done upstream)
- Update gnome-packagekit to support offline updates
- Update gnome-shell to offer 'Install updates and restart' when updates are available ([#677394])
How To Test
The desired user experience for System updates is described in https://live.gnome.org/GnomeOS/Design/Whiteboards/SoftwareUpdates
none outside of systemd, packagekit and GNOME components
If offline updates don't work in time for F18, we can go back to installing all updates while the system is running.
- Fedora 18 introduces offline system updates, which means that updates of system components are installed in a special environment outside the normal system operation.