InstallUpdatesWhenInstallingUbuntu

Revision 5 as of 2009-06-12 11:16:43

Clear message

Summary

ubiquity will grow the ability to download updates while it copies files to the installation target.

Release Note

Updates will now be downloaded while you install Ubuntu, making them immediately available to install upon first login. This will not occur on 3G connections, and users wishing to avoid this feature can disable it when the installation begins.

Rationale

There may be a number of important updates available after installation. However, these could amount to a rather large download, and since we're mostly IO bound during the installation it would make sense to try to start this download then, letting the user finish downloading or start installing the updates once they've rebooted into the new system.

User stories

  • Mark installs Ubuntu 9.10 in March of 2010. As roughly five months have passed since the release, there are nearly 100MB of updates to download.
  • Bob installs Ubuntu 9.10 on a laptop with a 3G modem that he has configured in the live environment. As he pays per megabyte on his data plan, he does not want to download anything until he returns to an unrestricted connection.
  • Luke lives in Australia. As using a non-local mirror would cost him a fortune, he needs to be certain that the installer chooses an appropriate one.

Assumptions

  • If the user has chosen to set up a 3G connection, they have done so using NetworkManager.

  • As this functionality requires a good mirror selection, this specification depends on the GEOIP timezone selection work.

Design

+---------------------------------------+
|  Installing system                    |
|  [///////         15%              ]  |
|  Detecting file systems...            |
|                                       |
|  [X] Download available updates now.  |
+---------------------------------------+
  • We will not indicate progress, as this might lead the user to believe that they have to wait for the download to finish before they can reboot the computer.

Implementation

  • This will need to be preseedable, to allow OEMs like Dell who want to keep the installer from attempting to access the Internet.
  • The language pack download functionality that already exists will be merged into this feature, but the language pack installation will be a separate piece that occurs during installation.
  • If NetworkManager is present and a 3G connection is active or no network connection is present, the download updates option will be unchecked and greyed out.

  • The download will not start until 20 seconds have passed, to allow sufficient time to uncheck the box if this is not desired.
  • The download will write package files to /target/var/cache/apt directly, rather than using an intermediary and then copying the files in at the end.
  • When we are done downloading, ubiquity will send SIGTERM to apt.

Test/Demo Plan

  • During development, the user agent will be changed so that we can track whether a large number of people are making use of this feature.

Unresolved issues

  • Should the download continue until they press either the "continue using the live CD" or "reboot now" button?

BoF agenda and discussion

Preseedable option for Dell.
Move the language pack download in this, moved earlier than 80%.
Actual language pack installing still happens later.
We don't want a progress meter because we don't want to make the user think they have to wait for the updates to finish downloading.
Put as a checkbox on the summary page or the advanced page instead of having a cancel button?
 - AU problem.
GEOIP would let us select a good timezone point and a good local mirror, somewhat limiting the AU problem, though we'd still want to let them disable this download somehow.
Offer a checkbox that's checked by default and says "Download updates while installing" that sits just below the install progress.
You would have to act quickly if you wanted to uncheck the box.
 - We can wait a few seconds, or after partitioning to start.
We may want to explicitly not offer this option at all when on 3G.
 - PackageKit as an example.
 - Default the checkbox as off in this case?
 - Colin to talk to Michael
Fragmentation a problem?
 - "Let the filesystem sort it out"
 - We do lots of things at the same time, this is not an issue.
Measure how often people are using this?
 - Change user-agent.
Announce during milestone, doing this, what do you think?
Colin thinks it will need more than a preseed.
We disable update-notifier on the live cd.
Not start the download until we're at copying files.
Disable the checkbox if NM reports no network connection.
Use subprocess and send SIGTERM to it when done.


CategorySpec