Table of Contents
What is the Registry in Windows?
Simply put, the registry present in windows is a database. It stores thousands of the low-level settings for windows and for applications that use it. It can be accessed by using the “regedit” command in the run dialog box. The registry stores the settings as well as various values for the software and hardware. The registry was first released with windows 3.1. Windows 95 and Windows NT further extended the registry’s use. When first released, it stored information for COM (Component Object Model) based components. Around this time, it was known as the Registration Info Editor. Now, used for basically all the PC settings and information, it seems to be a big deal. But why does Windows have it and Why does Linux not have it? We’ll need to look into the key differences between windows and Linux.
Windows and Linux - Key Differences
Let us first understand the file structure and file system present in Linux OS. The fundamental design of Linux is completely different from that of windows. There is one single file tree in Linux and All the drives are mounted there. It is a whole new file structure. Windows, on the other hand, uses a hierarchical structure. Therefore, there are various drives present in windows like the C: drive and the D: drive.
The fundamental design philosophy of Unix (and Linux) is using standardized text formats. On the other hand, Windows Registry is a proprietary binary format with .bin and .ini files. Linux doesn’t have a monolithic registry.
The applications store the information in a hidden file. This hidden file can be accessed in the user’s “home” directory. In the home directory, we can find configuration files stored as text files and can easily open them with any text editor. The system configurations are stored in
/etc the directory. The system state lives under /var. And all the user settings live under files starting with the dot ( . ) prefix like .var, .config, etc. While there are some exceptions to the rule, this is how it works generally.
Why does Windows need the Registry?
The registry helps Windows manage, operate and change critical settings of the computer. It helps in resource management, program configuration, and settings configuration. It is a hierarchical database made of keys and values. The keys are containers that act like folders with values or subkeys within them. When an app is uninstalled, the app’s files are deleted from the registry.
However, sometimes these files don’t get deleted. So, you’ll have to delete them by yourself through the registry. This gets rid of the junk present in the computer. It also helps deal with any virus on a deep level if there is one present.
The Registry works with branches. The main 5 branches (in most cases) of a registry are called hives. These hives store folders called keys. Keys contain values that are settings. They are as follows:
The functions of these are as follows:
|Current Config||It has a real-time measurement of Hardware information. This information isn’t permanently stored and keeps changing in real-time.|
|Local Machine||It has passwords, boot files, software installation files, and so on. It is very critical to the functioning of the computer.|
|Users||It has the settings specified by multiple users logged in to the same computer. It is similar to the HKEY_CURRENT_USER hive.|
|Classes Root||It has default file associations. It ensures that your default browser is opened when you click a link in other apps.|
|Current User||It stores the settings specified by the current user of the computer.|
Why Does Linux Not Have the Registry?
Linux stores all the configuration files in the home directory of the PC. Using the terminal, we can easily access these files. This is a step-by-step on how to access /etc on the terminal.
- Open the terminal
- Enter the command “cd ..”
- You will see that you are in the home directory
- Enter the command “cd /etc”
- You’ll see that you are in the /etc directory
- Type in the ls command
- You’ll see the files present in the /etc location as shown in the above picture
The reason Linux doesn’t have a registry is that it was built as a multi-user system. At its core, the registry system doesn’t sit well with the multi-user system. In Linux, we can just move and copy the home directory to another machine and load up applications.
Also, there is less chance of failure in Linux. If one of the configuration files is corrupted, only that function is disabled while the others continue to function. It does not prevent you from working in general. In contrast, deleting or modifying the registry may have an impact on your system.
All the configuration data in Linux and Unix is stored in text files. One can simply access it without the registry as shown in the above steps. Having the data stored like this means that it’s manageable and faster to access. However, this comes as both a boon and a curse. We’ll discuss the benefits and curses in the next part of the article.
Another reason why Linux systems don’t use the registry is that having a registry is simply a nightmare. When working, the registry is a good strong part of the OS. But when something goes wrong, it gets really ugly really soon. Text files, on the other hand, can store configurations efficiently. They rarely need to be changed. It’s also very easy to write scripts for the configuration of such files. This comes in handy when automating server maintenance.
Where and How Do Linux Store Files?
Within Linux, specific implementations of configuration storage might be different in systems because they are different architectures. Generally, Linux distros store files in /proc for kernel-related things and they store files in /etc for software-related stuff. These files are hidden. So if you want to see them, you can use the terminal as shown above or you can check the “show hidden files” options. Here’s how:
- Go to the location of the hidden files
- On the top right, there are more options [I’m using Pop! OS, you might find it different]
- Click on the “Show Hidden Files” Option.
No Registry - Boon or Curse?
Not having a registry is both, a blessing and a curse. It depends on where you draw the line. It is a blessing because all the config files are kept as text files. This means that we can make a bunch of comments on these files. Over the long run, this means that we can take a look at these comments. By doing so, we can understand why a configuration is set up the way it is. It also means that the text editor of choice can be used by users. It also means that editing these files and configurations is easier because of the simple text format.
So, where’s the curse? Well, the curses start when we sit down to edit the files. This is because there is no standard way of writing the configuration files. It can get very confusing very fast.
Personally, the registry feels like a clunky and big database for storing configurations. It isn’t needed anymore. It is a single point of failure of a lot of configuration options in Windows. If anything goes wrong or any file gets corrupted on the registry, you’ll have to replace it with a new registry. This also means that all your installed programs will lose entries along with the OS. It’s possible you’ll have to reinstall the OS in case the registry fails. Therefore, in this regard, you’re better off looking at systems without registries. Which tend to cause fewer problems and are also easier to configure.
Since Ubuntu is a Linux-based operating system, this operating system does not have a registry either.
Article by: Adamya Neupane