The Registry vs Text Files

I think of the Windows Registry as the ultimate configuration database—thousands upon thousands of entries, very few of which are completely documented, some located on servers and some located on clients. While it is possible to edit Registry entries manually, the fact that one does so using a graphical tool doesn't make the process intuitive.

Consider this Windows .NET Server Registry setting: In HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters, set EnablePrefetcher to 0x00000003 to enable application and boot prefetching. Even assuming you know what prefetching is and want to enable it, that's a daunting configuration change, and not one that I remember offhand.

If you're not getting my message, I'm saying that the Windows Registry system is, at best, very difficult to manage. Although it's a good idea in theory, I've never emerged without injury from a battle with the Registry.

Linux does not have a registry. This is both a blessing and a curse. The blessing is that configuration files are most often kept as a series of text files (think of the Windows .INI files before the days of the Registry). This setup means you're able to edit configuration files using the text editor of your choice rather than tools like regedit. In many cases, it also means you can liberally comment those configuration files so that six months from now you won't forget why you set something up in a particular way. With most tools that come with Linux, configuration files exist in the /etc directory or one of its subdirectories.

The curse of a no-registry arrangement is that there is no standard way of writing configuration files. Each application or server can have its own format. Many applications are now coming bundled with GUI-based configuration tools, so you can do a basic setup easily and then manually edit the configuration file when you need to do more complex adjustments.

In reality, having text files to hold configuration information usually turns out to be an efficient method. Once set, they rarely need to be changed; even so, they are straight text files and thus easy to view when needed. Even more helpful is that it's easy to write scripts to read the same configuration files and modify their behavior accordingly. This is especially true when automating server maintenance operations, an ability that is crucial in a large site with many servers.

Because Linux configuration files are text files, configuring systems automatically can be done quickly and easily without special tools. Simple scripts can be written to set the configuration values, making deployment of a new operating system, software package, or utility very easy. Windows requires third-party software (often licensed on a per-machine basis, which can become very expensive for large projects) to perform similar feats.

Continue reading here: Domains

Was this article helpful?

+3 0