CompTIA Linux+

I recently took the CompTIA Linux+ certification exam, mostly to see if I knew enough about Linux to get it. I did manage to get it first try, which was a relief, as I only use Linux operating systems occasionally. It was somewhat more challenging than I expected walking into the exam, but also showed me how much I actually knew.

The certification

The Linux+ certification tests the ability to configure, manage, operate, and troubleshoot Linux server environments using security best practices, scripting, containerisation, virtualisation, and automation. The certification is aimed at demonstrating the skills necessary to manage a Linux server environment, skills suitable for a Linux Administrator or Network Administrator role.

The certification has a 3 year renewal cycle requiring 50 Continuing Education Units within 3 years or re-passing the exam.

There are five domains covered in the exam:

  • System Management  (23%)
    • Linux basics: Identify boot process steps, kernel, filesystems, and architectures
    • Device management: Manage kernel modules, hardware components, and device utilities
    • Storage management: Configure LVM, RAID, partitions, and mounted storage
    • Network configuration: Set up hosts, DNS, interfaces, and network tools
    • Shell operations: Use navigation, editing, redirection, and environment variables
    • Backups and restores: Perform archiving, compression, and data recovery
    • Virtualization: Deploy hypervisors, create VMs, and manage disk images
  • Services and User Management (20%)
    • Files & directories: Control permissions, create links, and manage special files
    • Account management: Add, remove, and modify users and groups
    • Process control: Monitor states, adjust priorities, and schedule jobs
    • Software management: Install, update, or remove packages and repositories
    • Systems management: Start, stop, and review services, logs, and timers
    • Containers: Operate container runtimes, manage images, and create networks
  • Security (18%)
    • Auth & accounting: Configure PAM, LDAP, Kerberos, and enable auditing
    • Firewalls: Set firewalls using iptables, nftables, UFW, and zone rules
    • OS hardening: Apply permissions, configure sudo, and secure remote access
    • Account security: Enforce password policies, restrict shells, and enable MFA
    • Cryptography: Encrypt files, use hashing, and manage certificates
    • Compliance: Verify integrity, run scans, and maintain standards
  • Automation, Orchestration, and Scripting (17%)
    • Automation: Automate tasks with Ansible, Puppet, and CI/CD tools
    • Shell scripting: Write and troubleshoot variables, functions, and logic flows
    • Python basics: Develop scripts using environments, packages, and data types
    • Version control: Manage code with Git workflows and tagging
    • AI best practices: Apply code generation and prompt engineering responsibly
  • Troubleshooting (22%)
    • System monitoring: Monitor health, logs, and event alerts
    • Hardware/storage: Diagnose boot, mount, and repair issues
    • Networking: Resolve firewall, routing, DNS, and connectivity problems
    • Security: Fix SELinux, permission, and vulnerability issues
    • Performance: Analyse CPU, memory, I/O, and optimize response times

Exam

The exam is computer based, delivered by PearsonVUE. There are up to 90 multiple choice and performance based questions which must be answered within 90 minutes.

CompTIA recommended that anyone attempting the exam have at least 12 months of hands on experience using Linux and good knowledge of networking principles.

A passing score requires 720 out of a possible 900 points.

How I did

I was already familiar with Linux and had used it for several years for various projects although not as my primary operating system. I planned my study using the exam objectives provided by CompTIA (in the resources section for the XK0-006 edition) which provides an excellent breakdown of what is covered under each domain of the exam (including a helpful list of commands you need to know).

I didn’t spend very long preparing, with only 3 weeks of study after work—an hour or two a night. My main study tools were LabEx, YouTube cram videos, and ChatGPT.

LabEx has a Linux learning path which covers most items (but not all) required for the exam. It uses an AI assisted lab environment, with each lab explaining a single (or several related) commands which you then practice in the lab with follow up challenge labs. The AI agent then reviews your activity to see if you used the tools correctly and got the desired result. If you didn’t it could provide advice and recommendations to get you through. Labs tended to be simplistic, often over explained by the AI assistant (even in the challenge labs) so none were truly difficult. Despite this, it provides quick practice using tools in a Linux environment. This could be relatively easily replaced by a virtualised Linux practice environment.

I used the YouTube cram videos to cover the key concepts in case I missed anything that someone who had passed the exam felt was important. It provided some of the theoretical knowledge I was missing and I did discover a few interesting commands that I would have otherwise missed (usually alternative commands or different ways to use them). They also provided me some assurance that I knew enough to attempt the exam.

Finally, I used the list of commands from the study guide and asked ChatGPT to explain them to me, then provide some common usage scenarios, and finally give me a story about the command. The value of the stories was debatable, but for less used commands could help jog my memory during the exam. No, I can’t provide a specific example. Probably because I’ve forgotten them all.

When I was sitting the exam the first two questions I was hit with were performance based, and honestly threw me a bit. So much so that I was certain, until half way through the exam, that I was going to fail because I simply didn’t know enough. I did get my feet back under me though and hit my stride as I knew more and more answers. I reviewed every question at the end, and ended up having to correct about one in four of the questions in the first quarter. Its amazing how different your responses can be from when you’re confident to when you aren’t.

The questions on the exam are actually reasonably challenging for a multiple choice exam. Many had only a single option that could be immediately eliminated (some not even that) and identifying the correct answer required thinking about what outcome the question is aimed at accomplishing. Or in particularly annoying cases, figuring out which one had the arguments of the command in the correct order.

I should have focused more on network management tools as the questions I had most difficulty with concerned managing network connections and interfaces. Luckily I knew enough overall and pulled through with a passing grade.

My thoughts

I prefer a longer renewal cycle for certifications as the cost can become prohibitive for shorter periods. I also appreciate the small number of required continuing education credits (spread over the full 3 year period) to maintain the certification, making it an overall easier process.

I felt this exam had a similar level of difficulty as the Security+ and Pentest+ certifications, for what that is worth.

I strongly recommend practice with all commands to ensure you have a solid understanding of how they work, what their argument are, and what their output looks like. This was my first time studying using an AI assistant to explain specific things to me, and I found it very helpful. I strongly recommended this as a study approach.