I'm afraid I must be very dense or make very unusual configuration changes
since sysmerge-ing my systems takes at absolute minimum two hours each
and the gateway and major servers take more. It is true that some of that
time is spent preserving changes to configuration files for various
installed packages which is an orthogonal problem.
A great deal of the time is spent figuring out which changes are noise.
Cross-checking to be sure that the changes are correct takes even longer.
Eliminating duplicated changes (i.e. changes I installed which are included
as standard in the next release) is also tricky.

The noise presented by sysmerge is a major reason I find it very difficult
to upgrade my systems as often as I would like. I usually reinstall about every
three releases since that is far less work than three upgrades. Of course,
reinstallation has its own perils.

In the best of all possible worlds, sysmerge would use diff3 or a similar tool. It would take some previous release, the new release, and the modified /etc and /var so that the administrator could see which were his changes and which were changes between releases. It could use a set of diffs between released versions as input so that the administrator did not need to save the unmodified previous /etc & /var.

One possible variant of this could create a "reinstall tarball" which
would allow an administrator to extract all relevant changes from an obsolete
installation to apply to a fresh installation of the most recent version.

I looked at this some time ago. I didn't pursue it because of lack of time
and wanting to see if sysmerge would do what I needed.
I didn't want to propose something that sysmerge did already.
A good 3-way editing tool that could be used on a regular terminal window
didn't seem to be easily found, either.

Another aspect I explored was how to handle the general case of derived
configuration files such as sendmail.cf - there is no useful standard place
where these are generated (/usr/share/sendmail is not a good place).
sysmerge has special cases for passwd, etc, but those are hard-coded.

If there is any consensus that this would be useful to anyone else,
I would be glad to contribute to any project of this sort if one exists,
either to test or to work on any part of it.

Geoff Steckel

Reply via email to