How to upgrade an appliance

Before you start, we recommend you fully backup your system, so you can go back if anything goes wrong.

TurnKey Linux appliances are configured by default to automatically install the latest security updates. Non-security package updates are not automatically installed, because there is always the risk that a new version of a package will somehow break existing functionality.

Since a TurnKey Linux appliance is pretty much a standard Ubuntu system under the hood it can be updated at the package-level just like any other Ubuntu or Debian based system:

apt-get update
apt-get dist-upgrade

The result is a system that has the latest package versions available in the base distribution (e.g., Ubuntu Hardy). Keep in mind that some appliances may include components that can not be managed through the APT package management system and may need to be upgraded by other means (e.g., Ruby gems).

Note that upgrading packages to the latest versions is not exactly equivalent to upgrading to a new version of an appliance because a new appliance may include a different configuration of components (e.g., the new Rails appliance is based on Phusion Passenger and not mongrel).

Backup and migration - a work in progress

Users often ask for an easy way to upgrade one appliance version to a newer appliance version. This is technically problematic because we don't want to prevent users from customizing an appliance to fit their needs. We just give users a better starting point by pre-integrating the best selection of components. Since it's impossible to anticipate all the possible ways in which an appliance has changed since installation it's dangerous to try and change the configuration automatically in place.

Rather than trying to upgrade in-place, a technically safer solution is to separate the system from the data it works on and then provide a backup and migration mechanism so users that are interested can move their data from one appliance version to another and re-apply any tweaks they made to the old system, if necessary.

We're working on that.