- Beginner’s Guide to Linux System Administration
- Some Basic Configurations
- File System and Management
- Networking Commands
- Managing Users and Group in Linux
- System Diagnostics/Monitor Performance
- Reading and Analysing Logs
- What is Linux System Administration?
- Linux System Administration:
- Linux File Systems
- File System Hierarchy
- Managing Root/Super User
- Basic Bash Command
- Handling File, Directories, and Users
- Duties of a Linux Administrator:
- Steps to Start the Career as Linux System Administrator:
- Frequently asked questions about Linux System Administrator.
- What is Linux System Administrator?
- How do I become a Linux System Administrator?
- What are the basic commands used in Linux System Administrator?
- What is a Linux kernel and what is its role in System Administrator?
- Conclusion
Beginner’s Guide to Linux System Administration
A Linux System Administrator manages the operations such as maintaining proper software, observing them, and even taking care of backup and hardware systems. It is recommended that before reading this article please go through the article What is Linux System Administration. Here we have some basics of Linux System Administration.
Some Basic Configurations
Set the Hostname: Open terminal and enter the following command in order to change the hostname.
sudo hostname your_hostname
Replace “your_hostname” with the hostname that you want to keep.
Setting up the time zone: Move to /usr/share/zoneinfo/your_zone and then link the zone file with /etc/localtime to set the time zone.
sudo ln -sf Kolkata /etc/localtime
File System and Management
Managing files is the most important task in Linux as all devices, directories, and packages are just a type of file in Linux.
1. To know about File system read the article File System in Linux.
2. To learn more about Linux file hierarchy structure you can read the article Linux File System Hierarchy
3. To get the difference between Linux and Windows File System read the article Windows vs Linux
Below is the list of some file management commands in Linux:
Command | Description |
---|---|
cd | Used to change the current directory |
ls | Used to list the directories and files in a directory |
vi | A good text editor to edit files |
touch | Used to create new files |
nano | A good text editor to edit files |
cp | Used to copy files and directories. |
mv | Used to move files and directories. |
rm | Used to remove files and directories. |
fdisk | Used to partition disks and to work with file systems |
mount | Used to mount a file system or a device |
You can also read the file management in Linux from the article https://www.geeksforgeeks.org/file-management-in-linux/
Networking Commands
Networking commands play an important role in system Administration and a good system Administrator must have good hands-on networking commands. Here is a list of such commands that are mostly used for networking in Linux.
Command | Description |
---|---|
route | used to view and manipulate ip routing tables. |
ping | Used to send some packets to a server and receive them back in case of a good network connection. |
traceroute | Used to trace the path taken by the traffic. |
nslookup | Used for querying the Domain Name System to obtain domain name or IP address mapping, or other DNS records. |
ifconfig | Used to view and change the configuration of the network interfaces on your system |
tracepath | Used to traces path to destination discovering MTU along this path |
ssh | Provides a secure encrypted connection between two hosts over an insecure network |
telnet | Used to test if a port is open and even to work with telnet protocol. |
curl | Used to transfer data to or from a server, using any of the supported protocols. |
scp | Used to securely copy files and directories between two locations over a network. |
w | Provides a quick summary of every user logged into a computer |
netcat | used for performing any operation in Linux related to TCP, UDP, or UNIX-domain sockets |
nmap | Used for network exploration and security auditing |
netstat | Used for monitoring network connections both incoming and outgoing as well as viewing routing tables, interface statistics, etc |
ip | Used to assign an address to a network interface and/or configure network interface parameters on Linux operating systems |
To learn more about Linux networking commands then read the article Linux Networking Tools
Managing Users and Group in Linux
A system administrator has to manage the users working on the system. Users are the accounts which are logged in to your system or may log in to the system. Each user in Linux has a unique UID to identify the user. All information of the users is stored in /etc/passwd file and all hashed passwords are stored in /etc/shadow file. There are basically 2 types of user in Linux on the basis of their rights to access.
Each user may or may not be a part of a group which is a collection of users. To learn more about users in Linux go through the article Users in Linux System Administration. Here is a list of commands that are used to manage users.
Command | Description |
---|---|
usermod | Used to modify users and their respective settings |
useradd | Used to add a new user |
su and sudo | Used to change the user and work with root |
change | Used to change the user’s aging/expiry information |
groupdel | Used to delete a group |
gpasswd | Used to change password of group |
groupmod | Used to modify group and its settings |
groupadd | Used to add a new group |
To learn more about how to manage users read the article User Management in Linux
To learn more about how to manage groups read the article Group Management in Linux
System Diagnostics/Monitor Performance
A System Administrator should be able to diagnose problems in a system and even to monitor the performance of the system so that it may be improved. Here is the list of some useful commands for the same.
Command | Description |
---|---|
top | Used to display the running processes. |
vmstat | Used to get information about processes, memory, paging, block IO, disk, and CPU scheduling |
lsof | Used to check list of open files. |
htop | Used to determine the cause of load of each process |
iostat | Used to monitor IO devices loading |
nmon | It displays performance about the CPU, MEMORY, NETWORK, DISKS, FILE SYSTEM, NFS, TOP PROCESSES, RESOURCES, AND POWER MICRO-PARTITION |
Reading and Analysing Logs
A good system Administrator must have an idea of how to read and manage logs as they give a lot of crucial and required information.
Command | Description |
---|---|
dmesg | Used to print the message buffer of the kernel |
tail | Used to print details from the log files located in the folder /var/log |
journalctl | Used to read systemd logs |
What is Linux System Administration?
Linux is an operating system, or a kernel created by Linus Torvalds with other contributors. It was first released on September 17, 1991. The main advantage of Linux is that it is distributed under an open-source license, which means programmers can use the Linux Kernel to design their own custom operating systems. Most Linux code is written in C Programming Language.
Some of the most popular operating systems that use Linux as a kernel are Debian, Knoppix, Ubuntu, and Fedora. Nevertheless, the list does not end here as there are thousands of operating systems based on Linux which offer a variety of functions to users.
Linux System Administration:
Linux is a major strength in computing technology. Most web servers, mobile phones, personal computers, supercomputers, and cloud servers are powered by Linux. The job of a Linux systems administrator is to manage the operations of a computer system like maintaining, enhancing, creating user accounts/reports, and taking backups using Linux tools and command-line interface tools. Most computing devices are powered by Linux because of its high stability, high security, and open-source environment. There are some of the things that a Linux system administrator should know and understand:
Linux File Systems
A Linux system administrator should have a solid knowledge and understanding of the various Linux file systems used by Linux like Ext2, Ext3, and Ext4. Understanding the difference between these file systems is important so that one can easily perform tasks and partition disks or configure Linux file system permissions.
File System Hierarchy
The Linux File System Hierarchy (FHS) tells us about the location and structure of directories and files on a Linux system. It is important for managing system files effectively.
Managing Root/Super User
The root user is the most powerful user on a Linux System because it has access to all the system files and directories. So, it is important for maintaining system security.
Basic Bash Command
The default shell of Linux is Bash, and it is used for executing commands on the command-line interface. A Linux system administrator should have a basic understanding of the command of bash to perform tasks.
Handling File, Directories, and Users
Managing files, directories and users is a critical part of Linux system administration. A system administrator should be able to perform the basic file and directory management tasks.
Duties of a Linux Administrator:
Linux System Administration has become a solid criterion for an organization and institute that requires a solid IT foundation. Hence, the need for efficient Linux administrators is a requirement of the time. The job profile might change from each organization as there may be added responsibilities and duties to the role. Below are some duties of a Linux System Administrator:
- Maintain all internet requests inclusive to DNS, RADIUS, Apache, MySQL, PHP.
- Taking regular back up of data, create new stored procedures and listing back-up is one of the duties.
- Analyzing all error logs and fixing along with providing excellent customer support for Webhosting, ISP and LAN Customers on troubleshooting increased support troubles.
- Communicating with the staff, vendors, and customers in a cultivated, professional manner at all times has to be one of his characteristics.
- Enhance, maintain and create the tools for the Linux environment and its users.
- Detecting and solving the service problems ranging from disaster recovery to login problems.
- Installing the necessary systems and security tools. Working with the Data Network Engineer and other personnel/departments to analyze hardware requirements and makes acquiring recommendations.
- Troubleshoot, when a problem occurs in the server.
Steps to Start the Career as Linux System Administrator:
- Install and learn to use Linux environment.
- Get Certified in Linux administration.
- Learn to do Documentation.
- Joining up with a local Linux Users Group or Community for Support and Help
In short, the main role of the Linux Systems Administrator is to manage the operations like installing, observing the software and hardware systems and taking backup. And also have a good ability to describe an In-depth understanding of technical knowledge. Even freshman-level Professionals have great possibilities for the position of System Administrator with the yearly median salary is around INR 3 Lacs, salary increase with an increase in job experience. To get the experience you need to check for the latest skills and learning in the Linux community.
Frequently asked questions about Linux System Administrator.
What is Linux System Administrator?
Linux System Administrator involves the installation, configuration, maintenance and management of Linux-based systems.
How do I become a Linux System Administrator?
To become a Linux System Administrator, we need a combination of education, experience, and certification. You can pursue certifications such as CompTIA Linux+, Red Hat Certified Systems Administrator (RHCSA), or Linux Professional Institute Certificate (LPIC).
What are the basic commands used in Linux System Administrator?
- ls (list files and directories)
- cd (change directory)
- mkdir (make directory)
- rm (remove files and directories)
- cp (copy files)
- mv (move or rename files)
- chmod (change file permissions)
What is a Linux kernel and what is its role in System Administrator?
The Linux Kernel is the core of the Linux operating system, which is responsible for managing system resources like CPU, input/output devices, memory and file system. The System Administrator should understand the kernel configuration so that he/she can optimize system performance and troubleshoot issues.
Conclusion
Linux is a powerful and widely used operating system which is most widely used in an open-source environment. A Linux system administrator has a very critical role in managing and maintaining Linux-based systems. We have discussed that a system administrator should have good knowledge in file system, file hierarchy, root user management, basic Bash commands and file, directory, and user handling.