Introduction
In this digital era, things are changing rapidly. New technologies are springing up rapidly across the globe. If you check operating systems, many changes have occurred, and they are released to users in different versions. An operating system is an interface to enable communication between computer software and hardware resources, and, when they go through changes, it greatly impacts the software–hardware ecosystem. In this article, we learn about Linux distributions and the timelines of the systems.
Before we start, check out packagecloud’s free trial to find out how you could minimize the effort required to maintain Linux packages and maximize productivity for more important tasks.
Linux Operating System
Linux is an operating system just like Windows and MacOS. In fact, MacOS was built upon Linux, which was designed by Linus Torvalds. It is freely available to everyone under an open-source license. Users have the option to customize it by editing the source code thanks to its characteristics that are different from other operating systems. Indeed, Linux is actually a group of operating systems based on the Linux Kernel.
Linux operating systems are mostly used for servers as they have the command line and programming interface. These can be referred to as kernel features because they are built into the kernel of the operating system. If you want to know how to extract and disassemble a Linux Kernel image, check out this helpful article.
Linux Features
Linux has many core features. Among them, the following are six of its major strengths.
- Open source: Users can modify Linux thanks to its open-source license.
- Multi-user environment: It is a multi-user-friendly system. This means that more than one user can access system resources (memory, hard disk, etc.) at the same time through different terminals.
- Multitasking: Multiple applications can be run at the same time.
- Security: Linux is a highly secure system. Once a user installs Linux, there is no need to install and maintain antivirus software! Linux can become more robust and secure with updates. In addition, it provides secure features such as authentication, authorization, and encryption.
- GUI (Graphical User Interface): Linux mainly relies on the Command Line Interface (CLI), but there are many Linux distributions that come with GUI support.
- File System: It provides a standard file system in which system files and user files are managed.
Various Linux Distributions
Now that we’ve learned the fundamentals of Linux, this section touches upon Linux distributions. A Linux distribution is the procedure to provide or deliver a new Linux-based operating system to end users by developers. You can consider it as an operating system that’s made from a collection of software.
There are around 600 Linux distributions and approximately 500 Linux “distros” are implemented actively. Thanks to the wide range of available distributions, users can easily find one that matches their needs. When it comes to Linux distributions, it could be challenging to choose the one that best fits your needs. Some of the major Linux distributions are as follows:
1. Debian
2. Red Hat
3. Ubuntu
4. Manjaro
5. Linux Mint
6. Fedora
7. Open SUSE
8. Arch Linux
9. Gentoo
10. Slackware
11. Centos
Linux distribution timeline
The image below shows a basic outline of the timeline of different distributions. Due to the large number of distribution families, it’s difficult to show them all in a small image. You can find some intense representations of this timeline on the wiki page, but a more basic representation is enough.
What systems does Linux use to start and end a program?
Linux distros use systems called SystemV (abbreviated sysV or sysVinit), SystemD, Startup, and BSD system. Try using systemctl restart sshd.service to start and end. If this works, it means that users are on a SystemD system. Similarly, if you can use /etc/init.d/sshd start, it means that users are on a SystemV system.
The following are examples of distributions that use SystemD and SystemV:
- SystemD is used by Fedora, Cent OS, Red Hat, Debian, Ubuntu, OpenSUSE, Arch, etc.
- SystemV is used by Slackware, Gentoo, etc.
Differences between SystemV and SystemD
There are many differences between SystemV and SystemD. Let’s look at a few of their major differences.
SystemV is the classic init (initialization) system for the Linux OS, whereas SystemD is one of the newest systems, which was designed to implement faster boot time and is based on dependency management. This makes it easier to control processes and supervise and parallelize job execution. In SystemV, the Startup process is handled through shell scripts in /etc/init, while, in the case of SystemD, it is handled through service files.
The systems have different logout processes as well. During logout, there is the killing user process in SystemD, but this is not used in SystemV. If a user wants to know about the child processes currently running, SystemD has a complete list, whereas this list is not present in SystemV.
In SystemV, there is an option to easily start the extensible Startup script, but, in SystemD, no such facilities are available. Separate code and configuration files are present in SystemV, but there is no such option in SystemD. In addition, the static kernel module loading function is only available in SystemD.
The GUI is another major difference. SystemD has a GUI, but SystemV does not. SystemD also has the ability to manage services by groups instead of managing them individually.
Various Linux Distributions Using SystemV and SystemD
Linux has many distros, and as per their design constraints they are forced to use either SystemV or SystemD. Debian, Fedora, CentOS, Red Hat, Ubuntu, OpenSUSE, Arch, and Amazon Linux use SystemD, while Slackware and Gentoo use System V.
Why do different distributions use different systems?
Almost all Linux distros first used SystemV init theory with the exceptions of Gentoo, which has characteristic init, and Slackware, which has BSD style init theory. To create a more efficient and perfect init system for Linux, SystemV was replaced by other systems such as SystemD, Upstart, open RC, and runit. Since different distributions have different use cases, they also use different systems.
As mentioned above, Fedora, Cent OS, Red Hat, Debian, Ubuntu, OpenSUSE, Arch, etc. use System D. The main purpose is to initialize, manage, and keep track of all system processes in the boot process while the system is running.
Another system is Upstart, which is an event-based init system developed by the inventor of Ubuntu as an alternative to SystemV. It starts different system tasks and processes and investigates them while the system is starting. Then, it stops them during system shutdown. Upstart was originally developed for Ubuntu, but it can run on all other distros.
When did the various distributions change from SystemV to SystemD?
In 2011, many distributions started changing from SystemV to SystemD. SystemD was released in 2010, and it has been used by Fedora since 2011. From then on, it has been adopted by many other distros. Distributions mainly made this change because SystemD is much more than just an init replacement.
In fact, SystemV is the parent of all processes on a Linux/UNIX system. The Unix operating system was the first commercial operating system designed to use SystemV. It is an init process which starts serially. This means a new task starts only after the previous task successfully started up and was loaded into the memory. This causes a delayed and long booting time. Hence, SystemD was designed to avoid all these unnecessary delays.
Why were Fedora, CentOS, Debian, and SUSE moved from SystemV to SystemD?
Actually, the big players in the Enterprise Linux server market have all switched to SystemD. This has driven Fedora, Cent OS, Debian, and SUSE, among others, from SystemV to SystemD. If you are a server administrator, you probably have no choice but to switch to SystemD. Users cannot escape it in an enterprise environment.
If you are a desktop user, it probably does not matter which init system you use. However, there are some reasons to move. For example, it provides faster bootup times since the daemons start in parallel. This is easier for developers since they can configure daemons to automatically restart upon daemon crash. This also ensures better security and more consistent administration.
Conclusion
In this article, we discuss the various Linux distributions and the associated systems—both SystemV or SystemD. We also consider the differences between SystemV and SystemD. There are many issues to consider when choosing between them depending on the use cases and whether you are working on a desktop or server. Every year, the Developer Summit is held. In the Great Indian Developer Summit 2017, it was stated that “code makes computers do complicated stuff in small steps.” This is applicable to SystemV and SystemD.
Packagecloud is a cloud-based service for distributing different software packages in a unified, reliable, and scalable way, without owning any infrastructure. You can keep all of the packages that need to be distributed across your organization's machines in one repo, regardless of OS, or programming language. Then, you can efficiently distribute your packages to your devices in a secure way, without having to own any of the infrastructure involved in doing so.
This enables users to save time and money on setting up servers for hosting packages for each OS. Packagecloud allows users to set up and update machines faster and with less overhead than ever before.
Sign up for the packagecloud free trial to get your machines set up and updated easily!