Keep Your Linux Skills Sharp With 14 Daily Projects
So, you recently passed your LPI Linux Essentials… Congratulations! Now what? Are you slowly starting to forget what you learned as the days pass? So was I, until now.
After passing my LPI Linux Essential exam, I thought — like most — that a new job would fall out of the sky. I was hoping to join a team where I could flex some of my newly found knowledge of the Linux CLI. Unfortunately, that did not happen. All I was left with was a shiny new cert and quickly-fleeting basic knowledge of Linux.
Like most skills in IT, the Linux command line isn’t something you learn once and understand forever. It takes constant practice and study to keep those Linux skills sharp, and I knew I needed to do something to ensure I didn’t lose what I learned while studying for the LPI exam.
I came up with a list of everyday Linux administration tasks I would perform daily in a virtual machine and got to work! From creating and managing users and permissions to configuring firewall rules, this list of tasks was carefully created to ensure I don’t lose any valuable Linux skills while I wait for my chance to flex them in the real world.
Now, it’s your turn to dust off that virtual machine and breathe life back into your Linux CLI powers. Check out the following tasks, perform them daily, and keep your skills sharp:
Day 1: Linux System Administration
- Refresh your memory on user management commands (useradd, usermod, userdel, etc.).
- Practice creating and managing user accounts in the virtual machine.
- Experiment with file permissions (chmod, chown) on various files and directories.
Day 2: Bash Scripting
- Review basic bash scripting concepts and syntax.
- Write a simple script to automate a repetitive task, like creating a backup of a specific directory.
- Experiment with conditional statements (if-else) in your script.
Day 3: Web Server Setup
- Install Apache or Nginx web server in the virtual machine.
- Host a basic HTML website and configure virtual hosts for multiple websites.
- Secure your web server by enabling HTTPS with self-signed SSL certificates.
Day 4: Email Server Configuration
- Install and configure a mail server like Postfix, Exim, or Dovecot.
- Set up email accounts and test sending and receiving emails within the virtual machine.
Day 5: Remote Access
- Set up an SSH server on the virtual machine.
- Practice remote access using SSH from your host machine.
- Transfer files securely between your host and the virtual machine using SCP.
Day 6: Firewall Configuration
- Learn about iptables or firewalld and their rules.
- Configure a basic firewall to allow essential services and block unnecessary ports.
Day 7: Containerization
- Install Docker in your virtual machine.
- Create and run a few containers with different applications.
- Explore Docker Compose for managing multi-container applications.
Day 8: Package Management
- Explore package management tools like apt, yum, or dnf.
- Install new software packages and update existing ones in the virtual machine.
Day 9: Networking
- Set up a virtual network with multiple VMs.
- Assign static IP addresses to the VMs and ensure they can communicate with each other.
Day 10: Backup and Restore
- Implement a backup strategy for important files or directories.
- Practice restoring files from the backup to ensure the process works as expected.
Day 11: Monitoring
- Install and configure a monitoring tool like Nagios or Zabbix.
- Monitor system resources and set up alerts for critical events.
Day 12: Automate System Tasks with Cron
- Schedule a few tasks using cron to run at specific intervals.
- Verify that the scheduled tasks are executing correctly.
Day 13: Explore Different Linux Distributions
- Install and experiment with a new Linux distribution of your choice.
- Familiarize yourself with its package manager and system configuration.
Day 14: Vim and Nano
- Spend time practicing your text editing skills with both Vim and Nano.
- Challenge yourself with editing, copying, cutting, and pasting text using various techniques in each editor.
These mini-projects can be done in order or randomly throughout the week. The goal is to ensure you're doing something in the Linux CLI daily, guaranteeing you’ll never lose those skills. What are you waiting for? Go sharpen those Linux skills today!