Debian-Edu
Upgrading a preconfigured CDD


Some thoughts and observations from trying to upgrade debian-edu.

http://www.skolelinux.org/

Petter Reinholdtsen pere@hungry.com
Debconf5, Helsinki, 2005-07-16

Overview

Informal talk, questions are welcome at any time.

Seamless upgrades?

When I can install a package, add configuration to it and then upgrade it while keeping the configuration without any interactive fuzz, that is seamless upgrade.

If it was working before the upgrade, it should keep working after the upgrade.

Upgrading with no local configuration

Install a package, and upgrade it to sarge - does not always work!.

apt-get -y install xdvi
[...]
apt-get update && apt-get -y upgrade
[...]
Setting up tetex-base (2.0.2-6) ...

Configuration file `/etc/texmf/mktex.cnf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : background this process to examine the situation
 The default action is to keep your current version.
*** mktex.cnf (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing \
tetex-base (--configure):
 EOF on stdin at conffile prompt

Upgrade with user configuration

Upgrading KDE from woody to sarge did not work very well.

Upgrade with server configuration

Upgrading squid is painful. Simple configuration changes require a rewritten file - breaking seamless upgrade.

debian-edu example configuration:

maximum_object_size 20480 KB
refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880
acl schoolnet src 10.0.2.0/255.255.254.0
acl ltspnet src 192.168.0.0/255.255.255.0
http_access allow schoolnet
http_access allow ltspnet

Proposed solution 1 - hidden debconf questions and preseeding

Fetch values from debconf at install time, and use this to set the configuration.

Proposed solution 2 - multilevel conf

Proposed solution 2 - multilevel conf (cont)

Squid example

Read config from /usr/share/doc/squid/squid.conf, and then read overrides from for example /site/etc/squid/squid.conf and final overrides from /etc/squid/squid.conf. Provide hidden debconf questions to fill in /etc/squid/squid.conf.

Allow simple common values to change using preseeding, for example maximum_object_size and allowed clients (acl)

CDD can provide a file in /site/etc/squid.conf with overrides, or use preseeding.

References

Thank you very much

Questions?