Skip to main content

What is Linux?






 
Introduction to Linux:

Linux is a type of Unix-like operating system that is open-source and uses the Linux kernel. It was first created by Linus Torvalds and released on September 17, 1991. Typically, Linux comes in the form of a Linux distribution, which includes the kernel, supporting libraries, and system software. Some of these distributions are provided by the GNU Project, and while many use the term "Linux" in their title, the Free Software Foundation prefers to use "GNU/Linux" to emphasize the importance of GNU software, which has caused some controversy.


Several well-known Linux distributions include Ubuntu, Fedora Linux, and Debian. The latter is composed of various modifications and distributions, such as Xubuntu and Lubuntu. Commercial distributions include SUSE Linux Enterprise and Red Hat Enterprise Linux. Linux desktops use windowing systems such as Wayland or X11 and desktop environments such as KDE Plasma and GNOME.


Linux was originally designed for personal computers based on Intel x86 architecture, but it has since been adapted for use in various other environments. Linux is currently the most widely used general-purpose operating system in the world due to the popularity of Android, which is based on the Linux kernel and controls many smartphones as of May 2022. However, only about 2.6% of desktop computers use Linux as of November 2022. Linux is also used in many embedded systems, such as spacecraft, automobiles, televisions, video game consoles, smart home devices, automation controls, and routers.


Linux is an excellent example of open-source and free software collaboration. The source code can be distributed, modified, and used by anyone, either commercially or non-commercially, under the conditions of the relevant license, such as the GNU GPL. For example, the Linux kernel is licensed under the GPLv2.


Components of Linux System:

The components of a Linux system that are typically installed include the following:


A bootloader, such as LILO, GNU GRUB, SYSLINUX, or systemd-boot, which loads the Linux kernel into the computer's memory after firmware login when the computer is turned on.

An init program, like systemd, Upstart, OpenRC, or sysvinit, that starts the first process announced by the Linux kernel and serves as the root of the process tree. This program initializes processes like system services and login prompts in graphical or terminal mode.

Software libraries, which are sets of code that can be used by running processes. The GNU C Library (glibc) is the most widely used software library on Linux systems, and there are other libraries like Mesa and SDL. The Id-linux.so dynamic linker handles the usage of dynamic libraries, and header files define the interface of installed libraries if the system is configured for the user to gather software.

A C standard library, which is required to run C programs on a GNU C library standard system. Alternatives include musl, EGLIBC, and uClibc, although the latter two are no longer maintained. Android has its own C library known as Bionic.

A user interface, known as a shell, that can be either a graphical user interface (GUI), a command-line interface (CLI), or hardware-attached controls for embedded systems. The default user interface on desktop systems is typically graphical, with a range of GUI shells available, including Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME, and KDE Plasma. The bash shell is the dominant CLI used in Linux and is compatible with inter-process communication and task automation.

The X Window System, known as "X," is the most popular GUI shell used in desktop systems, allowing graphical applications to be shown on another system to enable collaboration with applications. However, certain X Window System extensions may not work on a network.

Video input infrastructure that requires two kernel-userspace APIs to handle video input devices: V4L2 API for radio and video streams and DVB API for TV reception. Due to the diversity and complexity of different devices and the number of standards and formats managed by those APIs, this infrastructure needs to evolve to better fit with other devices. A better userspace device library is also required to have userspace applications that can work with every format supported by devices.


Uses of Linux:


Web servers:

According to W3Cook's statistics based on the top 1,000,000 Alexa domains, as of May 2015, Linux was used by 96.55% of web servers, while Windows and FreeBSD were used by 1.73% and 1.72%, respectively.


Laptops and desktops:

As of May 2022, web server statistics indicate that Linux has an estimated market share of around 2.5% on desktop computers. Microsoft Windows, on the other hand, has a market share of approximately 75.5%, while macOS has a share of about 14.9%.


Mobile devices:

Android, a Linux kernel-based OS, is the most widely used OS for smartphones, with 71.9% of smartphones worldwide using the internet using Android as of July 2022. Android is also a popular OS for tablets, accounting for over 60% of tablet sales as of 2013.


Film production:

For many years, Linux has been the preferred platform in the film industry. Linux was used to release the first major film, Titanic, in 1997, and since then, major studios such as Industrial Light & Magic, Weta Digital, Pixar, and DreamWorks Animation have switched to Linux.


Government use:

Several national and local governments have adopted Linux distributions. Kerala has mandated that every state high school use Linux on their systems. China uses Linux exclusively as the OS for its Loongson processor family to achieve technology independence. In Spain, some regions have integrated their own Linux distribution, which is extensively used in official and educational institutions. Germany and France have also taken steps towards Linux adoption. North Korea's Red Star OS is based on a version of Fedora Linux that has been under development since 2002.







Comments

Popular posts from this blog

Linux basic commands

 Linux basic commands: du  -sh  *  |  sort  -h  -r   |  head  -n  40  :    list out first 40 files in the directory that are taking more space in the directory.  cd : change directory Is-l listing the items in long listing format  pwd : print working directory Is-I format: type :no of links:owner : group:size :month :day :time :name cd/: go to/directory whoami: tells us by which username we are logged in. touch jerry: creates the file named jerry in present working directory. cp jerry lex: copy the content of jerry file and paste it to lex file. vi text1: creates the file text1 and open it in vi editor mkdir superman: creates the directory called superman mkdir abc def  : creates 2 folder in one command. touch filename wont work in /etc/ folder if logged in by normal account. man cp: shows manual for cp command. echo "india is my country"> file1 puts the text in file1. rm filename: remove the filename  mv lex luther renames the file from lex to luther  mv luther /h

patching tasks

 Patching a Linux system is a critical task to ensure that the system remains secure, stable, and up-to-date with the latest features and fixes. Here’s a comprehensive guide to the tasks involved in Linux patching: 1. Pre-Patching Preparation Backup System : Ensure you have a full system backup, including critical data, configuration files, and applications. Test the backup to verify its integrity. Check Disk Space : Verify that you have enough disk space, particularly on /var , /tmp , and /boot partitions. Review Current Patch Level : Determine the current patch level and installed packages using package management tools like yum , apt , dpkg , or rpm . Check System Logs : Review system logs to identify any issues that might affect the patching process. Test in a Staging Environment : If possible, apply patches in a staging environment that mirrors production to identify potential issues. Notify Stakeholders : Inform stakeholders about the scheduled maintenance window and expected do