The Linux Foundation has unveiled a new pre-professional IT certification known as the Linux Foundation Certified IT Associate (LFCA). This is a new entry-level certification that focuses on testing fundamental IT concepts such as basic systems administration commands, cloud computing, security, and DevOps.
LFCA: Overview & Course Outline
Here’s a summary of the competencies and domains that LFCA will seek to test:
- Linux Fundamentals 20%
- System Administration Fundamentals 20%
- Cloud Computing Fundamentals 20%
- Security Fundamentals 16%
- DevOps Fundamentals 16%
- Supporting Applications and Developers 8%
The LFCA certification imparts fundamental knowledge on basic system and file management commands, network commands & troubleshooting, cloud computing concepts, data security which includes system and network security, and DevOps basics.
Once you get a good hang of the fundamental concepts and pass the LFCA exam, you can look forward to getting started with LFCS (Linux Foundation Certified Sysadmin) which is an intermediate level certification, and thereafter pursue LFCE ( Linux Foundation Certified Engineer).
The LFCA exam is a multiple-choice exam and costs $200. It is conducted online with a remote proctor keeping an eye on you via a webcam throughout the entire sitting. Upon passing the exam, you will be awarded an LFCA badge and certificate which is valid for 3 years.
Linux Fundamentals
In this maiden section, we will cover the following chapters:
- Linux Operating System – Part 1
- File Management Commands – Part 2
- System Commands – Part 3
- General Networking Commands – Part 4
Without much further ado, let’s jump right in.
This article is Part 1 of the LFCA series, which will cover the necessary domains and competencies that are required for the LFCA certification exam.
Understanding Linux Operating System
As we begin, we presume that you might have interacted with either Windows or macOS or both in carrying out your everyday computing tasks. Both are operating systems and they allow you to interact with the hardware & software components of a computer and run a multitude of tasks including browsing, gaming, streaming music & video, and software development to mention just but a few.
Windows is a common-place operating system and it boasts a substantial market share among desktop users. It’s easy to use and learn and is usually a gateway for learners taking baby steps in learning how to interact with computers.
What’s the Issue with Windows and macOS?
Despite its ease of use and support for a vast array of hardware devices, Windows has its fair share of drawbacks. Firstly, Windows is a proprietary operating system from Microsoft, and most software applications such as Microsoft Office suite are paid for. This locks out many who don’t have the financial ability to acquire a license for the product.
The same holds true for Apple’s macOS which, despite its elegance and commendable security, comes with a hefty price tag attached. In fact, some applications for AppStore are usually paid for. Users have often decried paying for sneaky subscriptions for applications that would otherwise be free on other platforms.
Additionally, Windows is quite unstable and is often vulnerable to malware attacks such as viruses and trojans. You could spend hundreds of dollars securing robust Antivirus programs to ward off attacks and breaches or part with a fortune paying a professional to diagnose and remove the virus.
In addition, the application of security patches and feature updates is often a lengthy process. For the most part, updating your system can last anywhere between thirty minutes to an hour depending on the size of the update, and this is often occasioned by a series of system reboots.
Why Use Linux Operating System?
Linux, just like Windows and macOS is yet another operating system that has taken over the IT industry by storm. Linux is ubiquitous and is used by thousands of users on a daily basis.
The popular Android operating system that powers millions of smart devices is based on the Linux kernel. Your favorite Android smartphone or the smart TV in your living room is powered by Linux. Most importantly, Linux is the predominant system on the internet, taking up a huge share in web hosting platforms and internet servers. Approximately 90% of the public cloud and 99% of the supercomputer market share is underpinned by Linux.
So, how did Linux come about?
At this juncture, it will be prudent if we go back in time and have a glimpse at the genesis of one of the most widely used operating systems.
History of Linux
The history of Linux dates back to the 1960s at the AT&T Bell Labs where Dennis Ritchie – the father of the C programming language & KenThompson – an American Computer scientist – alongside other developers were working on the Multics project. Multics was an operating system that powered the mainframe computer systems.
The two computer scientists were looking to build a multi-user, multi-tasking operating system with a hierarchical file system. Initially, Multics was a research project but quickly turned into a commercial product. Not impressed with the direction that Multics was taking, the two lead developers charted their own course and set out to develop another system based on Multics called UNICS, which later metamorphosed into UNIX.
In the 1970s and 80s, UNIX became increasingly popular, especially in Academic circles. This saw its adoption by several institutions, among them the University of Berkley California which later changed its trajectory. The developers at the University further worked on the UNIX code and came up with BSD, an acronym for Berkeley Software Development. BSD later inspired multiple operating systems, some of which are still used today such as FreeBSD and NetBSD.
In Bells Labs, research and development on UNIX continued, giving rise to other variants of UNIX which were later adopted by commercial vendors. However, BSD was far more popular than commercial variants from Bells Labs.
Meanwhile, in 1991, Linus Torvalds, a Finnish graduate, was working on a version of UNIX called MINIX but was disappointed in the licensure of the project. In a letter addressed to his MINIX user group, he announced that he was working on a new kernel which was later dubbed the Linux kernel. He used the GNU code, along with the GNU compiler and bash to create the first-ever viable Linux kernel which was later licensed under the GNU/GPL model.
The Linux kernel set the stage for the development of hundreds of Linux distributions or flavors. You can get a full glimpse of the popular Linux distributions at distrowatch.
Popular Linux Distributions
Linux is an open-source operating system. What does this mean? Well, it implies that you can view the Linux source code, modify it and freely redistribute it at absolutely no cost. Skilled users such as developers can also contribute to the code to make it better and more interesting.
For this reason, there are hundreds of Linux distributions with different package management systems, software applications, and visual appeal. A Linux distribution, colloquially known as a distro, is a version of the Linux operating system that comes prepackaged with programs, libraries, management tools, and other additional software. All distributions are derived from the Linux kernel.
A good number of Linux distros are free to download. However, there are exceptions such as Zorin OS which requires a small fee to download. Enterprise Linux distributions including RHEL – Red Hat Enterprise Linux – require a subscription for support, security, and feature updates.
There are 4 main families of Linux distributions:
- Debian family systems ( e.g Ubuntu, Mint, Elementary & Zorin).
- Fedora family systems ( e.g CentOS, Red Hat 7 & Fedora).
- SUSE family systems ( e.g OpenSUSE & SLES).
- Arch systems ( e.g Arch, Manjaro, ArchLabs, & ArcoLinux).
Some of the popular and widely used Linux distributions include:
- Ubuntu
- Debian
- Linux Mint
- Fedora
- Deepin
- Manjaro Linux
- MX Linux
- Elementary OS
- CentOS
- OpenSUSE
Beginner-friendly distributions that come highly recommended for newbies in Linux include Ubuntu, Mint, Zorin OS, and Elementary OS. This is largely due to their user-friendliness, simple and neat UIs, and high customization.
Some flavors such as Zorin OS closely resemble Windows 10 which makes them ideal for Windows users transitioning into Linux. Others such as Elementary OS closely mimic macOS with a signature dock menu.
For intermediate users or those with a relatively good grasp of Linux, CentOS, Debian and Fedora will suffice. Seasoned users who know the ins and outs of Linux system administration, would generally be comfortable working on Arch-based Linux systems and Gentoo.
Each Linux distribution is unique in its own way in terms of the desktop environment or Graphical User Interface (GUI) and default apps. However, most will ship out-of-the-box applications such as LibreOffice suite, Thunderbird mail client, GIMP image editor, and multimedia applications to get you started.
Linux distributions that are widely used in server environments include:
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Enterprise Server (SLES)
- Ubuntu server
- Debian
Why Linux is So Popular
Linux encompasses the following main components.
1. Linux Kernel
At the core of any Linux system is the Linux kernel. Written in C, the kernel interfaces the hardware components with the underlying software and programs. The kernel manages the running processes and determines which ones get to use the CPU and for what duration of time. It also determines the amount of memory that each process gets. Additionally, it manages device drivers and receives service requests from running processes.
2. Bootloader
The bootloader is the program that handles the booting process in a Linux system. It loads the operating system from the hard drive to the main memory. The bootloader is not specific to Linux alone. It is present in Windows and macOS as well. In Linux, the bootloader is referred to as GRUB. The latest version is GRUB2 which is used by systemd distributions.
3. Init
Init, a short form for Initialization, is the first process that runs once a system is powered on. It’s given a process ID (PID) of 1 and it spawns all the other processes in the Linux system including daemons and other background processes and services. It is thus christened as the mother of all processes. Init runs in the background up to the point when the system is powered off.
The earliest Init systems included System V Init (SysV) and Upstart. These have been replaced by systemd init in modern systems.
4. Daemons
Daemons are processes that run quietly in the background from the time the system boots up. The daemons can be controlled by the user on the command-line. They can be stopped, restarted, disabled, or enabled on boot time. Examples of daemons include sshd which is the SSH daemon that controls remote SSH connections and ntpd that handles time synchronization on servers.
5. Shell
The Linux shell is a command-line interface, abbreviated as CLI, where commands are executed or invoked to carry out and automate administrative tasks. Popular shells include bash shell (bash) and Z shell (zsh).
6. Desktop Environment
A desktop environment is what a user uses to interact with the Linux system. It provides a GUI (graphical user interface ) which is made possible through the X windows system software. The X windows system (X11, also referred to as X) is a system that provides a display framework or GUI and determines how users interact with windows, keyboard, mouse, and touchpad.
Common desktop environments include GNOME, MATE, XFCE, LXDE, Enlightenment, Cinnamon, Budgie, and KDE Plasma. Desktop managers ship with graphical components such as file managers, desktop widgets, wallpapers, icons, and other graphical elements.
7. Applications
The desktop environment gives you only the basic applications to get started out. Just like Windows or macOS, you can install applications for everyday use. These include applications such as Google Chrome, VLC media player, Skype, LibreOffice suite, DropBox, GIMP image editor, and so on. Some distributions ship with their own software Center that acts as a store from where you can download applications that you need.
Benefits of Using Linux Over Other Operating Systems
At this point, it’s becoming clear why Linux is a favorite operating system to many users and enterprises. Let’s briefly summarize some of the advantages of using Linux.
1. Linux is Opensource
As earlier pointed out, Linux is fully opensource. Skilled users can view the code, modify it without any restrictions for whatever purpose they so wish, and share it with the community. Additionally, most distributions – with exception of a few – are free to download and use without paying for licenses.
Windows is proprietary and some of its products are quite pricy. At the moment, the price of the Microsoft Office suite is $430. Windows Server 2019 licensing goes for as much as $6,000. macOS is equally expensive and a good number of applications from the App store are paid through a subscription.
2. Highly Customizable
One of the major advantages that Linux gives its users is the ability to customize virtually any component to their preference. You can tweak the look-and-feel including the wallpaper, background image, color scheme, icon appearance, and so on to enhance their appearance.
3. Exceptional Stability & Security
Linux systems have an admirable degree of stability and security. Linux is less susceptible to attacks and you are far less likely to fall victim to malware such as viruses and trojans if you constantly update your system.
4. A Perfect Choice for Servers
Thanks to its security and stability, Linux is the go-to choice for server environments in hosting websites, databases, and applications. It takes only a few commands to spin up a fully-fledged Web server alongside other components such as databases and scripting tools. A classic example is the popular LAMP server which is an aggregation of Apache web server, MySQL database, and PHP scripting language.
With the stability that Linux provides, you’ll hardly ever need to reboot your server except for when you need to carry out a kernel upgrade. This ensures maximum uptime for servers and high availability.
5. Low System Requirements
Most Linux distributions have the capacity of running on PCs with low system specifications such as CPU and RAM. In fact, you can revive some old PCs by installing some lightweight Linux distributions such as Linux Lite, Puppy Linux, and AntiX.
Some can run on a system with only 1GB of RAM, 512 MHZ CPU, and 5GB hard drive. What’s even more impressive is that you can even run these distributions off a Live USB stick and still get some work going.
6. Availability of Tons of Software Packages
Major Linux distributions such as Debian and Ubuntu host thousands of software packages on their repositories. Ubuntu alone boasts of over 47,000 packages. You can easily install applications by running a few commands on the terminal or use App Centers that come included in the distributions.
Also, you can get a variety of applications that perform similar tasks such as word processing, file sharing, audio/video playing photo-editing, graphic design and so much more. You are simply spoilt for choice and can opt for a variety of applications to execute a task.
7. Vast Community Support
Linux operating system is developed and maintained by a vibrant community of developers who tirelessly work round the clock to ensure you get the very best in the way of software applications, security updates, and bug fixes.
Major distros such as Ubuntu and Debian have a large community of developers and tons of forums that offer assistance and guidance to users especially when they encounter difficulties or challenges along the way.
Summary
That was a bird’s eye view of the Linux operating system and its place in an ever-evolving computing environment. Admittedly, Linux is ubiquitous and has made an indelible mark in the fast-paced technological world we live in. Thus, acquiring fundamental Linux skills is essential for any IT professional looking forward to scaling the ladder in the competitive IT profession.
Learning Linux will open doors to other advanced IT fields such as DevOps, cybersecurity, and Cloud computing. In our subsequent topics, we will focus on basic Linux commands that you need to have at your fingertips as we move along.