My Journey and CompTIA Linux+

Photo by Luca Bravo on Unsplash

Hello there! Welcome and thank you for stopping by my second blog of the ‘My Journey series‘. You’ve come to the right place to get some positive vibes and hopefully get to know about the new CompTIA Linux+ XK0-004 certification exam and if it’s is the right choice for you.

No matter which certification you’re after, you need to take into consideration the time and money involved to obtain it and ask yourself – is it worth it?

My initial interaction with Linux

My first hands-on experience using Linux was in 2015 (don’t judge!) when I was at university. As part of the learning outcomes for a course I undertook, it required me to set up a DNS and email server on a Linux system which will be part of the core infrastructure of a fictitious company. 

Thinking back to it now, setting up bind9 and postfix was one of the most challenging things I’ve done in that class for the server setup. ‘apt-get’ what? I felt like an idiot! Sure, I’m all in for the whole ‘Stay hungry, stay foolish’ philosophy but man, I didn’t even know the most basic commands. Needless to say, Google is your friend and for the other tools to be installed – RTFM, of course. Not knowing how to do something shouldn’t be the reason for not doing it. If you know what you don’t yet know – learn!

Photo by Christina @ wocintechchat.com on Unsplash

After spending several frustrating weeks to learn the basics, I managed to configure everything. The hardest part was over, and the rest of the course was smooth sailing. In the end, it was good riddance to Linux and the text-only interface, which makes you feel like it is judging you with every command you input.

Knock. Knock. Who’s there? Sysadmin. Sysadmin who? Permission Denied.

Source: XKCD (https://xkcd.com/838/)

After I got back into the ‘professional workforce’ after graduating, one thing I soon noticed is that, behind almost all of the security tools and pretty GUI was an appliance or VM running some variant of Linux. Similar to any technology, sometimes things don’t go as per plan and require more than a turn it off and on again level of troubleshooting. Vendor supported or not, self-sufficiency and self-dependence is a valuable thing to have. So now it was clear that I either neglect this and depend on others or do what it takes not to feel dumb and useless.

Although I was not an expert in commanding these systems, I was comfortable enough in completing few basic tasks such as checking logs, updating packages, running basic commands to check disk usage thanks to my previous ‘crash course’ experience. Although there were some other tasks and concepts which were still unfamiliar to me. For example – creating a bash script and triggering it with a cron job, setting permissions on files, tweaking modules and dependencies. Some of these missing knowledge in me was making me not so efficient and led to (but not limited to):

  • Taking the information provided by the vendor as the final say when it was not accurate.
  • Unable to relate with sysadmins when it comes to issues with patching vulnerabilities.
  • Not able to provide proof that the security agent deployed is not the cause of a CPU spike.

It was quite evident to me that I need to go further with my learning. Apart from theoretical knowledge in this space, I wanted to be confident enough to roll up my sleeves and run commands to a terminal to resolve issues or to create solutions. 

Advising someone to try a fix which you’ve googled vs illustrating how it is done live is two different things, and one of them earns you the respect and trust which goes a long way. Also, this would benefit me in my preparation for OSCP.

Picking up the sudo skills

Source: Unknown

For all of the times I had to work with Linux to complete a task, I had a clear objective in my mind. If I wanted to know how to create an initramfs image for a Linux system, I would’ve just Googled it. Clear goals made it easy for me to go searching for answers. But when it came to the general aim of ‘learning Linux’, the starting point was as clear as the Brisbane River. Having limited operational experience and daily tasks helped me navigate through. 

Like me, if you learn better by combining both theory and practical labs, identifying a use case to achieve something is what I would recommend. I still have my notes from Uni, so I was able to replicate the whole unit objective on my VM. I was amazed at how much easier it felt now compared to then. 

Start small and slow. Unless there is a job, you’re after, and the deadline is closing in. Having the foundational Linux skills will never be a waste, and it is essential. No detail is too small. For example – start with the history of Linux, who created it, why, what’s the deal with the open-source?  

Why I chose CompTIA Linux+?

Remember what I had told about asking yourself if a certification is worth it? Once I decided I wanted to get certified and already aware of CompTIA and their offerings, the Linux+ (XK0-004) exam covered everything that I currently wanted to learn and more. You can find the exam objective here.

If we’re to take something that is on offer by Red Hat (for example), sure I would probably know more about somethings but would it suit me? Not really. I think that would’ve been an overkill unless I plan on becoming a hardcore Linux sysadmin and want to work on RHEL servers or for Red Hat. CompTIA Linux+ had the perfect balance of the value obtained, the resource required for me and the effort I needed to put in.

There are many certifications (and degree) sceptics out there who may provide unhelpful ‘advise’ on how they were able to create or do something without any credentials. To that, I would say, good for them! 

Do you need to be certified for grasping these skills? Nope. Will having a certification give you and others confidence in the knowledge you possess? Absolutely!

Preparing for my XK0-004 exam

I cannot emphasize this enough – gaining hands-on experience is a must! Spin up a VM running CentOS before even creating your study plan. I purchased the CompTIA Linux+ Basic bundle which includes exam (and one retake) voucher and the study guide. This guide was my primary source of information. For every scenario and command mentioned in the manual, I replicated the same on my VM. For all the times, it said not to do something like shown in an example, I took a snapshot of my VM and did it regardless to see what broke and how I can fix it without reverting to the snapshot. It was time-consuming, but I find it equally important to know how NOT do things and not just how to do things the right way. I genuinely value the lessons I learn through my mistakes (significantly when it doesn’t cost anything).

Photo by DJ Johnson on Unsplash

Initially, I was frustrated with my progress. It took me to double the time quoted at the beginning of each chapter to finish. However, I realized that it was since I didn’t have the recommended prerequisite hands-on experience. I think that was a reasonable disclaimer by CompTIA, but then again, that was only a suggestion 🙂

I didn’t attempt to memorize all the commands and options ‘as is’ since that would’ve been a recipe for disaster considering the number of commands in use. For example – rather than just memorizing the cmd ‘df’ and what it’s usage, I would conceive some associations with the output of the command. So I would associate the letter ‘d’ with disk and letter ‘f’ with file/file system. Several commands have a story behind it. Once you’ve understood that, the commands are basically at your fingertips and sometime you may even use the long form of a more straightforward command!

After I finished the study guide, I relied on Kaplan practice tests to review my progress. This feature, provided as part of my Pluralsight Enterprise license helped to get myself acquainted with the test. Familiarity with the format and performance monitoring provided guidance on which questions and domains I needed to work hard on. 

It took me about five months to prepare for this exam. I aimed at getting at least 3 hours on weekdays to prepare. I knew that getting a straight 3 hours would be difficult, so I studied from 4 AM – 6 AM, which were the crucial hours since I knew there would be no interruptions. After work, any free time remaining after relaxing and working out would be spent studying as well. 

Find the technique that works for you and stick to it but remember that this is a life long learning, so learn it right the first time and don’t take unneeded alternatives.

Exam Day

This was my first time taking an online exam from the comfort of my home. I had conducted a system and network compatibility check days before the test, and everything checked out. Couple of things I didn’t account for was:

  •  Install of the exam software on the system – Though I do agree with this practice, I wasn’t very comfortable with this, especially when I didn’t know much about the software. My solution to this was to use my VM so that after the test, I can restore it.
  • The table you’re using for the exam should not have anything on it (including monitors). – I had dual-mounted monitors which were powered off and disconnected, but they still needed to be removed. No, I didn’t take my toolset to dismantle it! I used a neatly folded bedsheet to transform them to an excellent backdrop. 

The microphone and webcam are on for the entire time the software is operational, and anything deemed too noisy or suspicious will lead to a fail. I was praying that no one triggered the fire alarm that morning like one-day earlier and we had to evacuate till the firey gave the all-clear. The exam proctor would ask you to show around the room before the exam and at random during the test. What annoyed me was that the exam timer doesn’t pause for this, and it interrupts you.

It was an exciting and challenging exam which lasted for 90 minutes. I don’t recall the exact number of questions I had to answer. However, I remember seeing the ‘Congratulations‘ in bold at the end of the test. I can’t talk about the exam content since there is an NDA associated with taking the exam. What I can say is that I don’t think there is any added advantages obtained by using the CompTIA study guide. What will get you through is making sure you do an excellent job at learning each of the domains mentioned in the exam objectives, obtained hands-on experience and practice tests.

Source: Hard Yakka

What would I have done differently?

One of the things I could’ve considered is not purchasing the exam voucher at the beginning of the preparation itself. I bought my exam voucher in September 2019. Shortly after, I found myself being the product owner for a project, went on a holiday, came back to other minor projects and of course there is the pandemic. Compounded with the lack of adequate operational experience in Linux turned out to be a stroll through the park (filled with Magpies!).

Suppose the certification is just for learning and not adversely affecting your current job or prospects of finding a new one. In that case, there is no reason to hurry. That said, having the expiry date is an excellent motivation to meet deadlines. I took my exam on the last day of August thinking that if I fail, I can have another go with the retake exam within the validity of the exam voucher (glad it didn’t come to that).

What’s next?

I’m currently working on:

  • Putting together an open-source SIEM system empowering me to apply my Linux skills.
  • Growing my Python skills. 
  • My next blog.

Thanks again for stopping by and your time. I enjoy writing about technology, professional development and random topics. If you have any suggestions, tips or kind words 🙂 , please feel free to share.

Cheers,

Shaine

Leave a comment