πŸš€ DevOps Journey – Day 1: Introduction to Linux and Set Up Linux

Hari PrasadHari Prasad
4 min read

Welcome to Day 1 of our DevOps Journey!

Before we dive into automation, cloud, and containerization, we need to build a solid foundation: Linux. Almost every DevOps tool and platform (Docker, Kubernetes, Jenkins, Terraform, Ansible, AWS, GCP) runs on Linux. That’s why mastering Linux is the first step for every aspiring DevOps engineer.

πŸ–₯️ What is Linux?

  • Free, open-source operating system.

  • Stable, secure, fast, and customizable.

  • Powers servers, cloud, containers, IoT, and supercomputers.

πŸ‘‰ Most DevOps tools (Docker, Kubernetes, Jenkins, Terraform, Ansible) run on Linux.


πŸ›οΈ Unix vs Linux

  • Unix β†’ Commercial, closed-source (Solaris, AIX, BSD).

  • Linux β†’ Free, open-source (Ubuntu, RHEL, CentOS, Fedora).


  • Ubuntu/Debian β†’ Developer-friendly.

  • RHEL/CentOS β†’ Enterprise servers.

  • Alpine Linux β†’ Lightweight (used in Docker).

  • Kali Linux β†’ Security testing.


πŸ‘₯ Who Uses Linux?

  • Cloud providers (AWS, GCP, Azure).

  • Enterprises, research labs, telecom, media.

  • 96% of the top servers worldwide.


πŸͺŸ Linux vs Windows

FeatureWindowsLinux
CostPaidFree
SecurityMore vulnerableStronger
UsageDesktopsServers/Cloud

Set Up Linux

Step 1: Launch Our First Server in the Cloud

You'll need an AWS account for this. If you don't have one, sign up for the free tierβ€”it's super easy!

  1. Log in to your AWS account. Once you're in, search for "EC2" in the top bar and click on it. The EC2 dashboard is where we manage our virtual servers.

  2. Click the big orange button that says "Launch instances." This is where we'll tell AWS what kind of server we want.

  3. Choose a server type. I recommend the Ubuntu Server or Amazon Linux 2 AMI. They are both free-tier eligible and widely used.

  4. Pick an Instance Type. For this project, a t2.micro is perfect. It's the standard free-tier option and is more than powerful enough for what we're doing.

  5. Create a Key Pair. This is super important! The key pair is like the password you'll use to log in to your server. Give it a name like my-devops-key and download it. Keep this file safe! You won't be able to log in without it.

  6. Configure Network Settings. Click "Edit" next to Network settings. Make sure "Allow SSH traffic from" is selected. This lets you connect to your server from your computer.

  7. Review and launch! Just click the big orange "Launch instance" button at the bottom. Give it a minute or two to start up.

Step 2: Connect to Your New Server

Now that our server is running, let's log in.

  1. Find your instance in the EC2 dashboard. Click on it. At the bottom of the screen, you'll see a bunch of details. Find the "Public IPv4 address" and copy it.

  2. Open your computer's terminal (or PowerShell on Windows, or the Terminal app on Mac).

  3. Type this command, but replace the placeholders with your own information:

    • ssh -i "path/to/your-key-file.pem" ubuntu@your.public.ip.address

    • Pro-Tip: If you chose Amazon Linux, the username is ec2-user. If you chose Ubuntu, it's ubuntu.

  4. Press Enter. If you see a warning about a key, just type yes and press Enter. You should now be logged into your new Linux server!

  5. You're in! Welcome to the terminal. It might look a little empty right now, but it's incredibly powerful.

    pwd (Print Working Directory): This tells you where you are right now. Type pwd and press enter. You'll probably see /home/ubuntu.

    Key Takeaways

    • Linux is free, open-source, stable, secure, and everywhere.

    • It powers servers, cloud, IoT, networking, and DevOps tools.

    • Knowing Linux = Unlocking the foundation of DevOps.

    • Distros like RHEL, Ubuntu, Alpine dominate in production and DevOps workflows.


✨ Day 1 Challenge

  1. Research which Linux distribution your cloud provider (AWS/GCP/Azure) uses by default.

  2. Install Ubuntu (Desktop/Server) in VirtualBox or VMware.

  3. Run your first Linux command:

     uname -a
    

    πŸ‘‰ This prints system information (kernel version, architecture, etc.).

0
Subscribe to my newsletter

Read articles from Hari Prasad directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Hari Prasad
Hari Prasad