We know that do-release-upgrade
“does a release upgrade”. But at a little lower level what does it really do?
I plan to do a more manual upgrade, for instance the Debian way: aptitude update
and aptitude full-upgrade
after setting up the sources. Actually, I plan to do it entirely interactive with aptitude
. But that leaves me curious about what else do-relase-upgrade
does, except hosing up my sources.list.
do-release-upgrade
is part of the package “update-manager-core”. The script seems to determine which release you are going to upgrade to, try to find out if it’s supported or not and complain about the latter. – If it’s convinced to work, it downloads the release-specific UpgradeTool and runs it.Part of the “update-manager-core” package is the file
/etc/update-manager/meta-release
, where you can find the URL http://changelogs.ubuntu.com/meta-release and there you find the URL for the UpgradeTool to download.The downloaded UpgradeTool tarball is packaged from the source package “ubuntu-release-upgrader” (before it was “update-manager”). The version corresponds to the latest updates for the target release.
The source has an old README from warty and hoary release times. It discusses what should be done during a release upgrade. It also mentions a link to a more detailed UpgradeTool proposal.
I list here the actions mentioned there and checked if they are actually implemented:
apt-get update
only)The UpgradeTool is configured for each release using the following files (open them to see!):
plugins
directory)from_nattyPreCacheOpen()
) and plugins specialcondition
attributes (e.g.*
orPostInitialUpdate
)StartUpgrade()
, is another grab-bag itself: among others it calls_applyPatches()
, which goes over the files in thepatches
directoryget_kernel_list.sh
(not in trusty) and makes sure one kernel is installedChecked versions: