Linux is an operating system used from smartphones to home appliances and personal computers to supercomputers, it is used everywhere. You are using the Android, it is also powered by the Linux. It a kernel or operating system invented by Linus Torvalds in 1991- a student of the University of Helsinki in Finland. This article is especially for those who are new to Linux and interested to learn the Linux administration basics, required skills and duties for every Linux system administrator.
What is Linux system and its components?
Why Linux is used anywhere? Because it is an open-source operating system, every programmer can use its kernel to design custom operating systems. It is written in the C language and other programming languages including C++, Assembly, Objective-C, and others. There are many operating systems that are using Linux as a kernel including Ubuntu, Fedora, Debian and thousands of others. Following are the components of a Linux Operating system:
- Boot loader – It is a software that manages the boot process of the computer. For most of the users, it is a splash screen that pops up and the system goes to the boot process.
- Kernel – A core component that is known as the mind of the Linux and used to manage the CPU, memory and Peripheral devices (I/O). It is at the lowest level of the Operating system.
- Init system – This is a subsystem that manages the boot process after the initial boot loading and charged with controlling daemons.
- Daemons – These are background services (printing, scheduling, etc.) that continues running until the system is shutdown
- Graphical server – This is the sub-system that is also known as the X server and it displays the graphics on the monitor.
- Desktop environment – This is the component that is used for the interactions of the users. It includes built-in applications (such as file managers, web browsers, games, and different configuration tools).
- Applications – Unlike windows or mac there are no built-in applications. You need to install different applications in order to perform your specific tasks. Many modern Linux distributions include App Stores to make the process of installation easier. For example, Ubuntu has the Ubuntu Software Center that allows you to quickly search among the thousands of apps and install them from one place.
What is Linux system administration?
Linux is a major strength of computing and used for many web servers, cloud-servers and many more. Linux systems administrator is a person who manages the different operations like maintain, creating user accounts, performing backups and provides full Linux administration. There is a large number of devices that are using Linux because of its amazing features including high security, stability and open source. Following are the basic things that are necessary to perform Linux administration tasks and every Linux System Administrator should understand:
- The Linux File Systems
- File System Hierarchy
- Managing Root or super User
- Basic Bash Command
- Handling File, Directories and Users
All commands are validated using CentOS Linux distros.
1. The Linux File Systems
Linux file system is a method of storing the files on hard disk and following are the types of file systems are supported by Linux:
- Conventional Disk File Systems that are capable to compress the files including NTFS, Btrfs, JFS, SFS, ext4 etc.
- Flash Storage File Systems that are used to store files on flash-based storage devices including JFFS2, YAFFS, ubifs etc.
- Special Purpose File Systems including sysfs, debugfs, tmpfs, etc.
3. File System Hierarchy
The Linux operating system stores the files using a standard layout which is known as a file system hierarchy. As you can see the directory structure in the figure-1 given below:
3. Managing Root or super User
It is a more special kind of a user account that has all types of permissions to make changes in the services or programs of Linux. su command is used to become a super user. Provide the root password with su command and become root or super user.
4. Basic Bash Command
Bash is a default shell in macOS, Windows subsystems for Linux and several Linux operating systems. It is used to execute different commands with the following syntax:
bash [options] [file]
5. Handling File, Directories and Users
When you want to interact with files either text or device files, you should interact with particular commands. Many operations are discussed below:
- Creating the file: “touch” command is used to create an empty file and “cat>” to create a file. Moreover, you can view a file type using the “cat” command.
- Copying the file: “cp” command is used to copy a file from one location to another.
- Removing the file: “rm” will remove the file.
- Renaming or moving the file: “mv” command can move and rename a file.
- Soft links and hard links: Soft link can be created by the command “ln”. Use “ln –s” for the soft link.
- File permissions: There are three types of file permissions: read, write or execute and only a super user can change. Use “chmod g+w” and provide the file name with this command to give write permission to any particular group. “chmod o+x” for execute permission to other users and “chmod g-x” to take away from the execute permissions from a group.
- Display working directory: you can use “pwd” command to display the current working directory.
- Creating a directory: use “mkdir” command and create a directory.
- Removing a directory: There are two option either you can delete the empty directory by “rmdir” command or use “rmdir -p” to remove specified directory with its parent directories.
- Add user: use”adduser” command to add a new user to the system.
- Delete user: use “userdel” command and delete any user and its related files.
- Modify user: use “usermod” command and modify a user account.
- Change Password expiry: use “chage” command to change the password expiry information.
What are The Linux Administrator Roles and Responsibilities?
Every organization must need system administration for the solid foundation and well-managed administering processes. The role of every Linux administrator may be changed organization to organization. Following are the duties of a Linux system administrator:
- He will manage all internet requests inclusive to DNS, Apache, MySQL, RADIUS and PHP.
- Excellent client support for LAN, ISP and hosting customers along with fixing error logs.
- It is one of his main characteristics to communicate with vendors and customers in an efficient way.
- Data of any organization is very important, so he will take backups on a regular basis.
- He will enhance the functionality of the Linux environment for users with the help of different tools.
- Login issues and disaster recovery is also included in the Linux administration.
- Security is another important thing for any organization, so the system administrator will conduct the meeting with network engineers and other employees to analyze the hardware requirements and installs the required system & security tools.
- In case of any error in the server, he will perform the troubleshooting process to fix the issues.
Essential Skills for Linux System Administration:
In order to secure a career as a Linux system admin you need to do the following:
- Install the Linux and understand all the basics
- Get Linux Administration Certifications
- User account management
- Structured Query Language (SQL)
- Network traffic packet capture
- The vi editor
- Network routers and firewalls
- Network switches
- Backup and restore
- Hardware setup and troubleshooting
- SIEMs and monitoring systems
- Join the Linux community group
- Learn different useful methods to write documentation
If you are a fresh graduate, you can also get the job of Linux Administration but keep in touch with the latest skills and learning in the Linux community. You may also learn other relevant knowledge to perform your tasks more effectively.