1. Who invented Linux? Explain the history of Linux?
Linus Torvalds created Linux. He was a student at the University of Helsinki, Finland in 1991. He started writing code on his own to get the academic version of Unix for free. Later on, it became popular as Linux Kernel.
2. What is the Linux Kernel?
A Linux kernel is the core of the Linux system. It interfaces the underlying hardware with the operating system.
3. What are the Linux basic components?
Kernel: This is the core of the Linux system. It's responsible for interacting with the hardware components and ensuring the operating system communicates with hardware devices.
Shell: A shell is an interface between the Linux user and the kernel.
System libraries: These are special programs or functions which are responsible for implementing a majority of the functionalities of the operating system without relying on the kernel modules code access rights.
System Utilities: These are specific programs that executed certain tasks. e.g LibreOffice, Brasero, Gparted.
4. What is BASH?
Bash is a Unix shell and command processor written by Brian Fox for the GNU project. It is free software and acts as a replacement for Bourne Shell. It is an interpreted and not compiled process which can also be run in the terminal window. This allows users to write commands and cause actions. Bash is capable of reading commands from shell scripts.
5. How many types of Shells are there in Linux?
They are five Shells in Linux:
• C Shell (csh): It is like C syntax and provides spelling checking and job control.
• Korn Shell (ksh): Is a high-level programming language shell.
• Z Shell (Zsh): It provides some unique nature like it observes login/logout watching, file name generating, startup files, closing comments.
• Bourne Again Shell (bash): It is the default to Linux distributions.
• Friendly Interactive Shell (Fish): It provides web-based configuration, auto-suggestions, etc.
6. Explain Root and it’s significance in the Linux system?
The root is the most privileged account in Linux for the system administrator. The root user has you full access to the system to perform all kind of access. The root is default account of Linux, created with Linux installation only. The root user is also known as the Root account or superuser. Due to uncontrolled access of Root account, this account needs to be secured and used crucially and carefully.
Some of the functions can be performed by the Root account:-
• The root can create/delete/ modify any user, user group, files, directory and permissions.
• The root can connect by using any user without password
• System / Library / function calls
• Managing hidden & config files
• System administrator commands
7. List down some of major Linux distributions?
Linux is an open-source operating system which allows users to modify kernel as per their requirement. This facilitates the different part of Linux to be deployed, modified and tested by a different organization. This result in multiple flavors of Linux available in the market and each has its own feature.
Major Linux distributions are as below:-
Ubuntu: It’s the most common and well-known distribution. It has lots of free installed apps for user’s easiness. It’s very easy to use and available in the command line and GUI both.
Red Hat Enterprise: Red Hat Enterprise Linux or RHEL is commercial Linux distribution. It stale, tested, user-friendly and most important NOT free to use.
Debian: Debian is one of the fastest and user-friendly Linux version.
Linux Mint: Its a special type of distribution works on the windows system as well. This for beginners to get hands-on the Linux system.
Fedora: Fedora is not in use on high numbers due to less stability. It supports a GNOME3 desktop environment by default.
8. What is the minimum requirement for Linux installation?
With newer Linux distributions being launched every other week or month, there's no clear cut minimum requirement. Newer versions will demand higher minimum requirements than older versions due to revamped GUI features and architecture. Nevertheless, any Linux distribution should work with a PC with the following minimum requirements:
25 GB of hard disk space
2 GB RAM
2 Ghz dual core processor
A screen resolution of 1024x768
A CD/DVD ROM or USB port for inserting installation media
9. Explain Command Line Interface?
Command Line Interface is also known as CLI. This is an interface for users to interact and instruct system in command line fashion. CLI is the basis on text-based interact to accept user request and response. While comparing with GUI, CLI is lightweight and consume less CPU & Memory resources.
considering the GUI of different versions and flavour, User needs to change there way of working and need additional learning. Whereas CLI is independent of this and allows the user to use any Linux system in the same manner. CLI also comes up with help option so that users need not remember all commands and option and they can refer help or man page for details options and definitions.
• Easy, Fast & Flexible
• Very less load on CPU or Memory
• Commands syntax is a bit tricky and tough to learn
• Long Text inputs can be problematic
• In Compare of GUI, bit tuff to use
10. What is LILO?
LILO is a boot loader for Linux. LILO stands for Linux Loader that is used to load Linux into memory.
It is used mainly to load the Linux operating system into main memory so as to begin operation.
Lilo handles some tasks such as locating the kernel, identifying other supporting programs, load memory and starts the kernel. The configuration file of lilo is located at “/etc/lilo.conf”. Lilo reads this configuration file and it tells Lilo where to place the bootloader.
11. What is GNU project?
The GNU Linux project was created for the development of a Unix-like operating system that comes with source code that can be copied, modified, and redistributed. Richard Stallman announced the GNU Linux project in 1983 and, with others, formed the Free Software Foundation in 1985.
According to the GNU Linux project, there is no independent GNU operating system. Furthermore, they claim that there is no independent Linux operating system either. The OS known as Linux is based on the Linux kernel but all other components are GNU. As such, many believe that the OS should be known as GNU/Linux or GNU Linux.
GNU stands for GNU's not Unix, which makes the term a recursive acronym (an acronym in which one of the letters stands for the acronym itself).
12. Explain the importance of the GNU project?
The GNU project was begun to make a working framework which will be free for clients. The clients would have the opportunity to run, share, circulate, study, change, and enhance or roll out new improvements to the product.
The point of this task was to construct a working framework that is free and furthermore “everything valuable that typically accompanies a UNIX framework so one could get along with no product that isn’t free”.
13. What is the level of Security that Linux provides in comparison to other Operating Systems?
In comparison to other operating systems, Linux is the most secure operating system as it consists of Pluggable Authentication Modules. A secure layer is created between the authentication process and applications. It is because of PAM only by which an admin can give access to other users to log into the system. You can find the configuration of PAM applications in the “/etc/pam.d” or “/etc/pam.conf” directory.
14. What do you mean by SELinux?
SELinux is the abbreviation for Security Enhanced Linux. It is designed to protect the server against misconfigurations and/or compromised daemons. It is an access control implementation and security feature for the Linux kernel. For example, the users can be stopped from running the scripts and accessing their own home directories. SELinux has the capability to support the access control and security policies.
It basically operates on three different modes:
• Enforcing –to enforce its policies.
• Permissive –Polices want to apply but will be locked in case of violation.
• Disabled –SELinux will stay in disabled mode.
To check the status of SELinux, just type: # getenfore OR # sestatus
15. List the differences between BASH and DOS?
There are many differences between BASH and DOS that are as below:
• BASH is case sensitive while DOS is not case sensitive.
• In BASH ‘/’ acts the directory separator while in DOS ‘/’ acts as the command argument delimiter.
• In BASH ‘\’ is used as the escape character while in DOS ‘\’ acts as the directory separator.
• In BASH there is no any file convention used. DOS follows the naming convention under which a file must have an 8-character filename followed by a dot and 3-character extension.
16. What are the different file system types in Linux?
In Linux, there are many file systems:
Ext, Ext2, Ext3, Ext4, JFS, XFS, btrfs, ufs, autofs, devpts, ntfs and swap.
17. What are the different types of Kernels? Explain.
We can build kernels by many different types, but 3 of the types of kernels are most commonly used: monolithic, microkernel and hybrid.
Microkernel: This type of kernel only manages CPU, memory, and IPC. This kind of kernel provides portability, small memory footprint and also security.
Monolithic Kernel: Linux is a monolithic kernel. So, this type of kernel provides file management, system server calls, also manages CPU, IPC as well as device drivers. It provides easier access to the process to communicate and as there is not any queue for processor time, so processes react faster.
Hybrid Kernel: In this type of kernels, programmers can select what they want to run in user mode and what in supervisor mode. So, this kernel provides more flexibility than any other kernel but it can have some latency problems.
18. Explain Linux Boot Sequence?
There are six levels of a Linux Boot Sequence. These are as follows:
BIOS: Full form of BIOS is Basic Input or Output System that performs integrity checks and it will search and load and then it will execute the bootloader.
MBR: MBR means Master Boot Record. MBR contains the information regarding GRUB and executes and loads this bootloader.
GRUB: GRUB means Grand Unified Bootloader. In case, many kernel images are installed on your system then you can select which one you want to execute.
Kernel: Root file system is mounted by Kernel and executes the /sbin/init program.
Init: Init checks the file /etc/inittab and decides the run level. There are seven-run levels available from 0-6. It will identify the default init level and will load the program.
Runlevel programs: As per your default settings for the run level, the system will execute the programs.
19. Explain Interrupts in Linux and also explain Interrupt handlers?
Interrupts means the processor is transferred temporarily to another program or function. When that program is completed, the processor will be given back to that program to complete the task.
Interrupt handler is the function that the kernel runs for a specific interrupt. It is also called Interrupt Service Routine. Interrupts handlers are the function that matches a particular prototype and enables the kernel to pass the handler information accurately.
20. Where the kernel modules are located?
lib/modules/kernel-version/, this directory stores all the information about the compiled drives under the Linux system. Using lsmod command also we can see the installed kernel modules.
21. Where are the log files stored usually in Linux?
The log files are stored in /var/log.
22. How do you check the boot messages (kernel ring buffer)?
Check the boot messages using # dmesg or # cat /var/log/dmesg.
23. what is kernel ring buffer linux?
A ring buffer is a circular data architecture that is often used to hold data that is produced and exhaust by different processes without synchronization. The information is produced by the kernel foreign of any specific process background, but the customer is in user space. The kernel needs to grip out pages from the head of the ring intermediary to user space for expenditure, while ensuring that it doesn't overwrite that data as it create to the butt of the buffer.
24. How to increase size of ‘kernel ring buffer’ file (dmesg)?
By default the kernel ring buffer size is 512 bytes. So, to increase this space add “log_buf_len=4M” to the kernel stanza in grub.conf file.
25. What is the difference between YUM and rpm?
Rpm: need local rpm file and dependencies.
Yum: need repository (collections of rpm) local or internet.