DeLia intends to address those problems as a universal packaging, configuration and administration system. Instead of setting exact requirements for the configuration of a system the intention is to provide a flexible approach to the configuration within a fixed, but general framework of options. However, at this stage it does not aim to replace the common packaging systems, but rather provide an alternative for system administrators and providers of special packages. The common package formats should be included as special cases.
The basic approach consists of three logical units of the system covering the packaging of the files and the grouping of the packages, the configuration of the packages and the package groups and other administrative tools for the maintenance of the software provided by the packages. The system should be suitable for larger computer networks as well as single computers allowing local as well as global configurations and installations and updates.
This includes tools and specifications for creating, installing and updating software packages. Each package is part of a hierarchy of packages where the hierarchy determines the groups the package belongs to and higher levels of configuration data relevant to the package. The general system should be designed such that the location of the package is as flexible as possible and updates of local packages as well as updates of the package in a whole pool are simple. Various different specific package formats may be supported. It should also distinguish between source packages, where we assume for each package there is only one source and alternative modified sources of the same package are identified by different names, and binary packages from different providers for the same source package. Different source packages may also provide the same kind of application.
The configuration system is separate from the packages and each package and package hierarchy identifies the configuration options available which can be set either locally or globally. The configuration can be changes at any time over various methods where an option of editing the actual configuration files should have the same effects than using some configuration tool (this may also set requirements for the software itself). For computer networks the configuration data should be hierarchical such that the computers can be grouped with different configurations depending on the class of the computer.
There are various administration and maintenance tasks related to the packages. Each package should identify those tasks and enable them to configure over the configuration system. For each kind of application (which may be provided by different source tasks) there should be standard interfaces to perform certain tasks related to the program (for instance, adding cron jobs). Similarly to the configuration and administration hierarchy this may also be arranged hierarchical.
During my work as system administrator at the Mathematical Institute A and B at Stuttgart University I developed a complete Linux distribution especially tailored for the needs of the two institutes, which also included a system to distribute and maintain a pool of networked computers. This project is intended to generalise the methods developed for this. The original system cannot easily be modified for the general case, though. Thus I intend to develop the system from scratch starting with some general specifications for the components, etc. However, currently my time is too limited to spent a lot of time on it.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.