This module is dedicated to learning the basics of Linux.
UNIX, the “mother ship” to the Linux operating system, is not unlike a continuous flow of hot magma; always evolving. Since its inception in the 1960s, it has undergone drastic changes that have made it a favourite for most developers, both software and mobile application. Perhaps, this is due to its open source nature.
Linux is an open source Operating System based on Linux Kernel. Before getting into the puzzlement of further details, let us understand the basic blocks of the definition, one at a time. First being the Operating system and next being the Linux Kernel.
An operating system is the system software which provides a generic platform for the programs to run on physical components of a computer.
It helps various applications to run on any platform, independent of the physical components specifications like the processor model and memory type or graphics card.
For instance, assuming there was no OS, we had to develop applications, say, for example, Video games specific to each assembly specification. The app developed on one desktop might fail on a laptop having the assembly of components from a different manufacturer, with varying specifications. Imagine the frustration level while having to face these issues!
Below is a diagrammatic representation of the anatomy of a system with the role of OS clearly depicted.
Hence, an OS is used to abstract the details of a system providing a comprehensive platform for any kind of software program to run smoothly.
Some of the commonly used OS across the world are:
The kernel is the core program of the operating system (OS), around which the whole of the OS is developed. It is the first program loaded upon restart, after the boot loader. It handles the entire basic operations of a system like memory allocation, data-processing, scheduling of the input/output requests along with managing external peripherals like keyboards, monitors, printers, speakers, etc.
Linux kernel is the monolithic, Unix-type OS kernel which is an open source software. All the Linux based operating software descends from this kernel and is deployed on systems like PC & servers, in the form of the Linux distributions.
As read earlier, the Linux kernel is extensively used in most of the devices and servers, including the 500 most powerful supercomputers of the world as per 2017 stats.
Now, you can recollect and correlate the definition of the Linux OS.
Linux is as good as any other normal OS, but with several distinct features, which makes it the most extensively used software in the majority of systems across the world.
Linux OS essentially serves all the purposes of a general OS. However, uniqueness is offered by its open source feature, which allows anybody on earth to install it, free of cost. There is no official package of Linux available anywhere.
Many developer communities have worked on Linux extensively to generate unique Linux versions for specific purposes, offering the users a lot of options to look for, while downloading Linux.
We would have unknowingly used Linux in many ways, by now. Applications of Linux has spread wide across. Some of the areas in which Linux is used are:
We might wonder as to why we have to use Linux when we are comfortable using the popular & default OS of PCs, like Windows and MacOS?
Here are a few reasons that support the choice of Linux over other OS-es.
It hence doesn’t demand higher-end hardware with every new release.
Linux has a number of variations which suits for various requirements. Ranging from a beginner to an expert, each one can find a "flavor" that would match their need. Each of these flavors/versions is called a distribution.
Every distribution available is free and can be loaded into a USB or burned into a disk and installed.
Below is a list of most popular Linux distributions:
For servers, below are few of the distributions (distros) available:
Two of the above server distros are paid ones (Red Hat Enterprise Linux and SUSE Enterprise Linux) while the other two are free of cost.
The architecture of Linux explains what makes up the Linux system as a whole. The components of Linux are explained below.
Hardware: This speaks about the physical devices connected to the system, like modem, keyboard, mouse, speakers, etc.
Kernel: Kernel is the core portion of Linux OS. It is responsible for the basic configuration and communication between the computer and external devices. It also manages memory allocated to various applications running on the computer.
Shell: This is the mediator that performs information exchange between the user and the kernel. It takes input from the user and delegates the kernel to execute some function and in turn informs the user regarding the action status and details.
Applications: These are the software programs which run on the Linux system. It can be the simplest application like notepad to a complex application like a browser.
Linux is the open-source OS that is loved by many because of its very unique, hassle-free environment. Various distributions of Linux are developed and are available on the internet for anybody to download and install. However, few companies have developed their own versions of Linux privately, which are inaccessible to the public as they contain sensitive data.
To install any version of the Linux, which is available as open source, perform the following steps. It can be installed on Windows as well as on Mac OS.
Steps to install Linux
If you are a beginner, consider installing the lightweight and simpler distributions such as Ubuntu or Linux Mint.
1. Download the distro of your choice
Each distro is available in ISO format. You can find the ISO of your choice on the distribution's website. In order to use the particular ISO, burn it into a CD or USB Stick. This creates a live CD or live USB.
A live CD or USB contains a preview version of your OS, which can be directly run into the system. It is basically a device that you can boot into for installing the OS.
To burn the distro image into the USB stick or CD, use the image burning program or any built-in burning tool available in your system, if you are using Windows 7, 8, or Mac OS X.
Pen Drive Linux and UNetBootin are popular burning tools used to burn Linux distros into your boot device.
Source: Creative Commons
2. Boot into the live CD or USB
Mostly, all the systems will be set to boot from the hard drive by default. Change this setting to boot from a USB or CD. To begin with, reboot your system first.
Once the system starts to reboot, press F12/F2/Del to enter the boot menu. The key varies with your system configuration. This information can be obtained from the screen where the manufacturer's logo will be displayed.
If you are a Windows user, hold Shift Key and select Restart. This will open the Advanced Startup Options to boot the OS from CD.
Source: Creative Commons
Windows 10 users should go to advanced boot in settings and select the "Restart Now" option.
If you are not able to see the boot menu directly, you might have to access it through the BIOS menu. It can be open from the manufacturer's splash screen in the same way as the Boot Menu. The required key would be intimated on the screen.
Once the boot menu is up, select the bootable device. Once the settings are corrected, save & exit from the menu. Your system will continue to boot.
3. Try the distribution to be installed
Most of the live CD or USB allows you to try out the new OS by running them as a live environment. Though you won't be able to create any new file here, you can still navigate around and experience the distribution environment.
Source: Creative Commons
4. Starting the installation
The installation can be started from the boot menu. The installation asks you the basic configuration details like the time zone, language, and the keyboard input.
In order to install Linux, you need to provide a username and password. The user details are required to log in to your account and perform admin tasks.
5. Setting up the partition
If you are intending to dual boot your system, you need to set up a partition on your disk to install Linux. Generally, 20GB is required to have a full-fledged OS running smoothly on your system. So, ensure that the partition is sufficiently distributed between the OS-es.
Source: Creative Commons
Distros like Ubuntu will generally recommend partition automatically during installation. If that doesn't happen, make sure that the partition created is formatted as Ext4.
6. Boot into Linux
Once the installation of Linux is completed, your system will reboot. "GNU GRUB" will be seen once the system boots up. This is the boot loader responsible for the Linux installations. Select your choice of distro here.
7. Check the hardware configurations
Generally, all the hardware connected should work like a flash in Linux. However, some additional drivers are needed to be installed, to help certain hardware work. This is generally the case with Graphic Cards.
You will have to download the drivers from the corresponding proprietors to make the graphics cards work properly on Linux.
In Ubuntu, you can download corresponding drivers from the System Settings menu. Select the Additional Drivers option and then choose the graphics driver from the list of drivers available.
Source: Creative Commons
This completes the installation of the Linux. You can now start using your favorite distro version without any interruption.
Besides using Linux OS in the Desktops and the servers, it is also used in many embedded systems, computer architectures, and other handheld devices. The ways in which Linux is employed in these environments are discussed below:
The Linux desktops have had an increasing demand of late. KDE Plasma Desktop and Xfce are most popular Linux Desktops as of 2015.
There is no single official Linux desktop existing. It is always a combination of the desktop environments with the open-source Linux distributions, which construct a GUI using certain design rules.
The collaborative nature of the software development in Linux allows for multiple customizations, pertaining to the needs. This includes the possibility of language localization or integration of human-machine interface model which defines Linux use in high-end applications.
Linux OS has found its place in Netbooks since 2009. Asus Eee PC and Acer Aspire One have customized Linux distributions installed, which are dedicated to perform some specific functions, unique to Netbooks. This was later developed into Chromebooks which came into the market in 2011.
3. Servers, mainframes, and supercomputers
Linux is the topmost operating system software used in servers.
Linux distribution forms the fundamental of LAMP server-software combination (Linux, Apache, MariaDB/MySQL, Perl/PHP/Python), which is the most popular platform used for website hosting.
Mainframes are increasingly depending on Linux distributions for the operating system, mainly because of the open source model. In 2009, IBM reported that it would largely market mainframe-based Enterprise Linux Server.
Linux OS is also adopted for Supercomputers. As of 2017, top 500 supercomputers run some variant of Linux as operating systems.
4. Smart Devices
Major smart devices in the market like phones, tablets, smart TVs, in-vehicle infotainment, etc., are based on Linux. The platforms that run on Linux mainly include Android, Firefox OS, Mer, and Tizen.
Mozilla Firefox contains Linux Kernel, a hardware abstraction layer, UI and run-time environment and an integrated web browser.
Nokia's Maemo, one of the initial mobile OS, was based on the Debian version. Most of the smartphones and mobile devices use Android or Tizen, which are Linux based primarily.
5. Embedded Systems
Because of the open-source nature of Linux, most of the embedded devices are Linux based systems. Majority of customer premises equipment (CPE) uses some Linux based software.
For example, Linux is used in stage lighting control systems, digital piano, firewalls, and routers, etc.
The implementation is endless, due to its seamless behaviour.
6. Specialized Uses
Due to easy customizability, flexibility, and open-source model, Linux has found its endless applications in various domains. The distributions generally used are Debian, Fedora, Ubuntu, Arch Linux, Gentoo, and Slackware.
SpaceX uses a fault tolerant model of flight computers in Falcon 9rocket. Linux is not by default fault tolerant but is made so in SpaceX to match the necessity. NASA uses Linux based robots in the Mars Rover and the Jet Propulsion Laboratory has used Linux in the construction of many unnamed satellites for deep space exploration.
Linux Distro called Kali Linux comes with an inbuilt design for digital forensics and penetration testing.
Ubuntu derived Backox implements the security and network analysis tool for ethical hacking.
OpenELEC is a Linux distribution that incorporates the media center software Kodi, which is customized Linux distro for Home Theatre PC(HTPC).
There are many more such high-end, secured and specialized applications of Linux distros, which has eased the technology to a large extent both in development and deployment.
Owing to various advantages of Linux over other OS both in the phase of development and deployment, Linux is widely used in many platforms.
Linux comes with incredible support through developer communities, helping the beginners to pick up the basics easily. Here are a few examples of the applications of Linux in the day to day environment.
Learning Linux is a process. Mere theory and videos won't suffice to master Linux. Dive into Linux through hands-on experiments and start supporting it with theoretical explanations. This enhances your learning curve profusely and will make you more comfortable with the OS as itself.
There are many online course materials and lectures that help you begin your learning. However, there is an extensive self-help online training available by Mindmajix, which ensures a complete understanding and practical experience of Linux.
Mindmajix Linux training provides fundamentals of Linux, along with a hands-on working guide for installation, integration (with Windows), configuring, monitoring and maintaining a Linux server and more. It also emphasizes on topics like security and customization.
Mindmajix Linux training is available in 2 modes:
It ensures a dedicated learning experience with certifications upon course completion.
Some of the salient features of Mindmajix Linux training course are:
To be a thorough Linux developer, this is the best choice of learning course. To know more about the courses offered and other details, please visit here: Linux course
Free Demo for Corporate & Online Trainings.