Other Parts of This Series:


DevOps Linux Knowledge (Photo Credit: Unsplash)

DevOps Linux Knowledge (Photo Credit: Unsplash)

Story:

Rasel completed step 1, which means now he felt confident programming with Golang. Being a .NET (C#) developer and part-time gamer, he always used the Windows operating system. But in his DevOps learning journey, he needs to learn Linux now. But before starting to learn, he needs to be convinced enough about Linux. It means he needs to know why Linux is important, why it is really needed, what he should learn, and how much Linux knowledge he should know to work in DevOps. So he started searching for all of his questions’ answers.


🔹 Why Linux is Essential for DevOps?

Linux is the foundation of modern DevOps because:

  1. Most servers run Linux: AWS, Azure, and Google Cloud use Linux extensively.
  2. Containers (Docker & Kubernetes) are Linux-based: Understanding Linux helps in debugging containers.
  3. Automation tools (Ansible, Terraform, Jenkins) depend on Linux: They execute scripts and commands on Linux servers.
  4. Security & Networking: DevOps engineers must configure firewalls, permissions, and network rules.

A strong Linux foundation enables you to manage infrastructure, deploy applications, and automate tasks efficiently.

🔹 What Linux Knowledge is Required for DevOps?

Below is a list which should know in Linux for DevOps.

  1. Understand kernel, kernel space and user space: What is kernel and it works.
  2. Understand the Linux booting process: How and what steps Linux boot process follows.
  3. Linux filesystem hierarchy: Filesystem is the backbone of Linux.
  4. File and directory management: Learn to manage file and directory from CLI.
  5. Text manipulating and viewing: Learn commands for text manipulating and viewing from CLI.
  6. Package management and software installation: Learn command for package aka software installation.
  7. User and permission management: Learn multi user with proper permission management.
  8. Process and system management: Learn command for process and systemd management.
  9. Linux networking and SSH: Learn Linux networking and SSH remote server.
  10. Shell scripting and automation: Learn the bash scripting for automating repeating task.

🔹 How Much Linux Should You Know?

Beginner Level: Understand Linux basic, Navigate files, manage users, install software.

Intermediate Level: Secure SSH, automate tasks, networking.

Advanced Level: Manage process and system, write automation scripts, configure servers.

Practical Advice:

  • Practice daily: Use a Linux VM or cloud instance.
  • Work on real projects: Set up a web server, automate tasks.
  • Learn by debugging: Break things and fix them!

Insha Allah will come up with the essentials commands and fundamentals of each topics in the upcoming parts.


Summary:

To work as a DevOps engineer, you need a solid understanding of Linux since most cloud servers and DevOps tools run on it. To summarize things:

  1. You should be comfortable with basic commands like navigating directories, managing files, and setting permissions.
  2. User management is crucial for security, so you must know how to create users, assign roles, and restrict access.
  3. Process management helps in monitoring and troubleshooting services, while networking skills enable secure SSH access and firewall configurations.
  4. Automation using shell scripting is essential for repetitive tasks like log cleanup and backups. Understanding logs helps in debugging system and application issues.
  5. You also need to manage software installations using package managers like apt or yum.

Overall, you should be able to navigate Linux confidently, automate tasks, manage security, and troubleshoot issues efficiently.