Table of Contents
- Linuxconf is written in C++.
- It sports a translation system. Translation are available
in French, Italians and German. The last two are just starting
at this time but already some useful parts of Linuxconf are
- Help screens are written in linuxdoc-sgml, allowing production
of clean text and HTML versions.
- It has 3 functional user interfaces: text, HTML and graphical
- Modules may be written which access various APIs inside
Linuxconf. Module and core components are sharing the same
APIs. Module are currently written in C++ only.
- Modules may hook themselves in various aspect of Linuxconf
to enhance its processing. They can define new menu entries, new
command line options, new configuration file resources and
few others things.
- When installed setuid, Linuxconf support user privileges. This
lets one setup co-administrator with a fine granularity.
About configuration files
- Linuxconf edits directly the "well known" configuration files.
In most cases, comments are fully preserved. Linuxconf does
not use an intermediate repository. Updating configuration
files by hand or using scripts or other tools is not a problem.
- One can see all configuration file (and resources) Linuxconf
is using right from the user interface.
- In this dialog, Linuxconf presents various flags explaining
how the file is used. A file is potentially only probed (to see
if it has changed) or fully managed, or generate from scratch
(so far only sendmail.cf).
- Each configuration file is associated with a help screen so
one may learn about his usage.
- Modules may define configuration file (using the CONFIG_FILE
object) and they appears in the above dialog.
- The above dialog may be use to change the path of a
configuration file in case a user is installing a non standard
version of a software (in /usr/local for example).
- Any changes made to configuration file settings are
preserved while upgrading Linuxconf.
The conf.linuxconf file
- Information the fits nowhere is stored in this file.
- It has a very simple text format: key.subkey value ...
- A complete and simple API allows any part of Linuxconf
including modules to retrieve and update information
in this file.
- This file is broken down in a large list of subsystems, allowing
fine grain contribution to system profile versioning and
cluster management (multiple machines management).
- The management of this file is done using the CONFDB object.
One component (or module) of Linuxconf may elect to create its own
configuration file using this format.
- CONFDB objects are relying on CONFIG_FILE objects to
access their data. As such, they fully support all the
things you do with CONFIG_FILE (archiving, cluster management,
changing the path,...).
Table of Contents