Alternatives to the Registry

Microsoft Corp. now stores system configuration information in binary format in its Windows registry, but other vendors take different approaches to achieve the same goal.

The Linux operating system stores configuration information in flat text files that are organized in hierarchical fashion, says David Mason, manager of Linux operating system development at Red Hat Inc. in Raleigh, N.C. The /etc directory is used for host-specific system configuration data, and the /var directory contains variable configuration data, such as print spools, he notes, adding that this is the same mechanism used by other Unix systems.

"It's sort of like the Windows 3.1 era with their .ini files," Mason says.

But change is afoot. According to Mason, the GConf project aims to create a key and value system for configuration data and store that data in XML. "The idea of storing configuration data in a database is a good idea, because you can run queries on it easily," Mason says. "And a key and value system is a good idea as long as you can read and understand the data. ... With XML data, you will have a more standardized way of presenting configuration data."

Mason says developers working on the project aim to make it easy for systems administrators to push configuration data to thousands of users.

An early version of GConf shipped with the Red Hat Linux 7.2 operating system, "but nothing actually takes advantage of it yet," Mason says. He says he expects initial adoption to happen in the GNU Object Model Environment (Gnome), the graphical user interface for Linux. "I'm not sure how far it will go past that," Mason says. "I think a lot of people will prefer the text file."

Apple Computer Inc.'s Mac OS X already stores user settings in standard flat files using the XML format, company spokesman Bill Evans says. The operating system has an application called System Preferences that contains the controls users need to customize system settings.

Each user on a computer has a home directory for storing preferences, files and personal documents. "One of the advantages of this storage method is easy migration," Evans says. "Since there are no cryptic data stores to move -- only standard XML files -- a user can quickly migrate to a new Macintosh by simply copying the contents of their home directory to the new computer."

Evans says the operating system stores information about itself in a directory called NetInfo, which uses standard key-value pairs. IT administrators can inspect and modify the information using the NetInfo Manager application that ships with Mac OS X, he says.

Sun Microsystems Inc.'s Solaris operating system takes a network-centric approach to look up much of the information that Microsoft stores in its Windows registry, according to Derek Maxwell, a product line manager for Solaris systems management. Maxwell says system information is separated from user information in Solaris, which has three different mechanisms for accessing configuration data.

User-specific information, such as profiles and desktop preferences, is stored in files located in home directories and accessed via the Network File System (NFS), Maxwell says. The file format depends on the windowing system being run, such as Common Desktop Environment or Gnome, he notes.

When a user starts up a windowing system, the computer accesses the profile from the user's home directory on an NFS server to find out how his desktop environment should look, Maxwell says. A user who plans to work while disconnected needs to copy the files into a home directory on the computer so the machine can access the information from the local file system.

System-centric information such as passwords, user names, groups that can access a machine, network services and IP addresses is stored in namespaces that can be accessed via a network repository service, such as Network Information System (NIS) or a Lightweight Directory Access Protocol directory, Maxwell says. Namespaces are created in flat text files, and a program is run to compile them up to the name service, which centrally stores the information in binary file format, Maxwell says.

Maxwell says the system information used to be stored in flat text files on the local machine only, but Sun migrated to a name service like NIS to make it easier for systems administrators to make simultaneous changes on large groups of machines. Without the central name service, each Solaris workstation would need to maintain a local copy of the information.

Information about software and packages, however, is stored locally on the machine in the Solaris Product Registry, "because it's a property of the machine," Maxwell says.

"You're only storing the software and loading the software on the machine, so it's appropriate for that information just to be kept there," he says. The software registry can be queried using management tools, he says.

Read accompanying stories:

Copyright © 2002 IDG Communications, Inc.

Shop Tech Products at Amazon