What are the main differences between the Windows registry and the approach used in UNIX/Linux, and what are the advantages and disadvantages of each approach?
closed as not constructive by Mat, jasonwryan, Michael Mrozek♦ Sep 13 '12 at 14:29
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
There is no real cognate in UNIX, but as wollud1969 says,
The primary advantage in the UNIX approach, from my perspective as a UNIX user these last 12 years, is that application config files, wherever they live, are usually just plain old text files, so can be read and edited by plain old humans. (Except, possibly, the sendmail config file, but that's a completely different religious war...). Many applications (browsers, desktop apps, etc) create config files for you, but they are text files, and the apps usually won't stop working if those files are then edited by hand, provided the edits don't break their syntax. The downside, though, is that there is no universal config language, so you need to learn the syntax for each app you manage. In reality, though, this is only a small annoyance at worst.
The Windows Registry was developed, at least in part, to address a similar state of affairs that was deemed problematic by Microsoft, where application ini files were not centrally managed, with no strict control on what values went in them, and no standard location for software to put them. The registry fixes some of those concerns (it is centrally managed, with specific data types that can be stored in it), but its disadvantages are its binary format, so that even experienced Windows admins need to use a GUI tool to look at it, it's prone to getting corrupted if you lose power, and not all software authors are sufficiently conscientious to clean up after themselves when you decide to uninstall their kewl shareware app. And, as with almost any other file in Windows, it's entirely possible for the various components of the registry to become fragmented on disk, resulting in painfully slow read and update operations. There is no requirement for software to make use of the registry, and even Microsoft's own .NET platform uses XML files instead.
The Wikipedia page about the registry is quite informative.
It is certainly not directly comparable, but I would think of the /etc directory as the counterpart of the Windows registry.
One major advantage, at least from my point of view, of the /etc directory is: you can open each and any file with your favorite text-editor and read, hopefully understand and modify or fix it.
The Windows registry is stored in some specific binary format and you read/write it with the registry editor, which does not simply show you what's in the file but which interprets it for you. Furthermore, everything is in one big file.
Why it is criticized so much? For me it's just for one point: transparency. The registry doesn't has any, imo. Objectively: