Linuxconf 1.10r2


Miscellaneous

User interface

System profile versioning

User interface

The current "selected" version is now shown in various menu making it more obvious. There was also a strange bug with this feature: When switching to a new version, Linuxconf was loosing track of which version is now selected (odd to explain). I think this bug shows itself only for those managing more than two system profile versions.

New command line options

There are two new command line options to play with system profile versions:

linuxconf --diff [ sub-system ... ] linuxconf --history [ sub-system ... ]

The first one compares the current configuration file with the last version archived. The second one shows all the revision of all the configuration file of the given sub-systems. All configuration file are presented if no sub-system are supplied on the command line.

These options are limited and could be enhanced. Comments and requests are welcome.

Boot time mode selection

Now all operation mode are password protected (root password required) except the default mode.

LILO management

LILO commands unknown to Linuxconf are now properly preserved.

Architecture changes

Various changes where made to make module more complete. These includes:

Per distribution configuration files

Per distribution configuration files are now more complete. There is two types of files: *.daemons and *.paths. Initially, there was only one conf.daemons file per distribution directory (/usr/lib/linuxconf/DIST). Now each part of Linuxconf (or each module) may deliver one. These files are used to tell what is the exact path and argument of the commands Linuxconf is using.

The *.paths are new. There is one Linuxconf.paths per distribution and each module may supply one. The CONFIG_FILE object has been enhanced. The path provided to this object has now two functions: It is both a default path for this configuration file and a key in the *.paths. Those *.paths are simple lookup allowing one to redefine the standard path for a configuration file in one distribution.

Better binary compatibility for modules

Some rework of the various objects has been done to make them more opaque. As such, some internal changes in those objects won't affect the binary compatibility of modules when newer version of Linuxconf are released.

A document will be written to explain the various strategies used in Linuxconf to expand modules compatibility.

Command line for modules

modules may define their own command line options. The user most use the following construct:

linuxconf --modulemain module args ...

Internal services turned into modules

Linuxconf's modules are sharing the same API as internal services. As such, it is possible to move internal services into modules an yet deliver them as internal service, as part of the main Linuxconf binary. In the future, expect more internal service to be changed this way. Currently, only the uucp configurator has been changed this way (5 minutes job).

Various strategies are studied to decide how a given service must be delivered (as a module or built-in). Comments and ideas are welcome.

Sendmail configuration

Sendmail.cf generation

Linuxconf now uses more modern Sendmail template files to generate its sendmail.cf. Because of this, Linuxconf now support anti-spamers rules and relay control right from its user interface.

Linuxconf has now some ability to detect if a new sendmail.cf file is required after a configuration change (whatever it is). Before replacing it, it checks that the one in place was generated by itself. Linuxconf records the MD5 checksum of the sendmail.cf it generates so it knows if the one in place was generated by itself.

Before replacing a modified (manually I guess) sendmail.cf. Linuxconf requires confirmation of the operator and produces a backup.

Various changes were done to move to this new strategy which was debugged over various test release. It is believed to be reliable (and very useful, from the comment received). It is also documented in the various help screens.

Anti-spam and relay control

There is a check-box in the basic configuration to turn all this to off. It defaults to off. Turning it on without supplying rules disable all relaying. This check-box setting is export as part of the relayctrl sub-system, so may be shared between various servers using the netadm module.

Virtuser support

If you have a file /etc/mail/virtusertable, Linuxconf will generate a suitable sendmail.cf to support it. Linuxconf does not have a user interface to manage this file yet.

Map file update

Linuxconf has now a new strategy to detect if a map file (file produced by the makemap utility such as the .db files) must be updated. It checks the date of the .db file compared to the date of the data file as well as the last database format used to generate that file. This way, if you decide to move from a DBM format to a BTREE format, Linuxconf will update the map even if it looks up to date.

Sanity checks

Linuxconf does more sanity check to find out if some domains are doubly defined as virtual and as aliases for other domains.

Fixperm and pseudo-tty

At boot time, Linuxconf always does some sanity checks. This includes file permissions. It also check and fix the permission of the pseudo-tty. This is done only at boot time. Whenever a fix is required, Linuxconf prompts the operator (with a timeout) to request permissions to fix those permissions. This behavior was annoying, as it is always OK to fix the permission of the pseudo-tty at boot time and also because it is quite common that they are not right. So now, Linuxconf fix those pseudo-tty permissions without asking permissions.

netadm module: multiple machines management

The netadm modules provides a way to synchronize various sub-systems accross multiple machine. This provide a very novel and open architecture to solve this specific problem.

To enable this feature, just add the netadm module to your configuration using the "Control file and systems" menu and then the "Linuxconf's module" menu. A new top level menu will appear named "Cluster administration".

Here is the help screen for this module which you give you a nice introduction to the concepts. Just click here.

DNS management

When setting a reverse domain, Linuxconf was accepting an simply the network number to identify the reverse domain. Now it accepts this format and the longer IN.ADDR-ARPA one. So people use to setup DNS won't be surprised and people who are new to that will still continue to use the easier syntax.

A DNS can't be configured anymore as a primary and a secondary. Some users have tried this one... Much more sanity checks has been added to the DNS management.

Apache management

The serveralias directive was not managed,

Networking

bootp and dhcp support
Some work has been started to support bootp and dhcp directly from the basic host information screen. This is not completed yet.

One nice feature of the bootp support is the ability to check with the bootp server each time linuxconf does its sanity check. This means that if you are doing some adjustment to your bootp configuration on the bootp server, just by doing a "linuxconf --update" on the workstation using bootp is enough to make those changes effective (no reboot).

Linuxconf will fix the /etc/resolv.conf with this information. Currently, the bootp support is done, except for a buglet to fix. dhcp support is not done. The button is there in the "basic host information" dialog though.

dhcp server configuration

The dhcpd support has been turned into a normal module. It has been enhanced to manage the various lease time. Before those parameter were not presented in the dialogs.

MRTG (Multi Router Traffic Grapher) module

A new module has been created to manage this nice utility. See http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html to learn more about mrtg. It is still rather crude. It is the basis for the new tutorial on module available at http://www.solucorp.qc.ca/linuxconf/tech/modtutor . Expect this module to be expanded a lot to show various linuxconf's programming techniques. Expect the tutorial to follow ...

PPP dial-out

The file /proc/sys/net/ipv4/dynaddr is properly managed when using on demand connectivity (using diald) for dynamic IP configuration.

IP accounting (fire-walling)
The menu "accounting rules" is now operational to setup IP accounting rules in the kernel. The operation is the same as the other section of the fire-walling support in Linuxconf.

Kernel 2.1

Minor adjustments were made to Linuxconf to support the kernel 2.1. It is not completed yet.

Documentation

More documentation have been written about Linuxconf. Much more will be written in the near future. Check out http://www.solucorp.qc.ca/linuxconf/tech/ .

/etc/fstab management

Some enhancements have been done in the way Linuxconf parses this file. Linuxconf used to reformat the lines, even if they were not edited by the user. This is no more the case.

Some more work will be done to enhance the way Linuxconf reformat the line it edits. It will make it nicer for those who still edit this file by hand!

User accounts

When deleting a user account, this account is removed from all groups it was as member.

Empty shell field was not accepted. It is.