I've worked on an upgrade advisor tool for Lenny. The idea is to do some
sanity check to then warn the users of potential problems (and also
advertise some best practices). The example below should be quite
It isn't finished. My roadmap include :
* More explicit messages (!)
* Add links to Release Notes.
* Check for discontinued/renamed modules.
* Fix bug with dash (it switch debug)
* Find appropriate description, so users don't rely exclusively on it.
But there are many other tests that could be implemented, like :
selinux, kernel's origine, detect sysfs, check free space, check
filesystems, detect live-cd, NFS and read-only root, detect risks of
non-persistent device names after reboot, etc.
Finally it could list applications that may require substantial
intervention from the user to work after upgrade.
Your comments are welcome, your patchs too (and a sponsor for some space
The script is available at :
bash upgrade-advisor --verbose
I: Checking Operating System.
I: Checking Operating system version
I: Checking the presence of required utils
I: Checking architecture
I: Checking /etc/apt.sources
I: Retreiving installed packages data (this can take a while).
I: Fetching lenny (main, i386) Package_list.
I: Check contrib and non-free packages, since last release.
I: The following contrib or non-free packages were fount.
I: | agrep
I: | libbeagle0
I: | python-beagle
I: Checking installed packages, for obsolete packages.
W: Obsolete and Locally Created Packages should be removed.
I: | di-netboot-assistant
I: | live-helper
I: Check discontinued packages, in next release.
W: Following package aren't available in lenny.
I: | libecal1.2-6
I: | libeel2-2.14
I: | libgail17
I: | liblzo1
I: | libmozjs0d
I: | libnss3-0d
I: | libwnck18
I: | libxklavier10
I: | libxul0d
I: Checking installed packages, for orhpan packages.
I: The following 'Orphaned Packages' have been reported by deborphan.
I: | libsasl2
I: | libc6-xen
I: | libconsole
I: Checking /dev filesystem.
I: Checking Xen Hypervisor.
W: An hypervisor (xen) was detected.
I: It may require additional configuration steps.
I: Verify kernel availablability/compatibility before upgrade.