Good (Free) Training is Not Hard to Come By
So now that we are indoors most of the time in keeping with social distancing guidelines, many of us are searching for ways to make this time productive. For whatever reasons you might find yourself in-between jobs or are already working for someone and want a change of career. If your interests lie within the realm of Linux and open source software, read on for some tips on how to move forward in learning more about this field.
One can find a plethora of lessons and tutorials on how to use and administer Linux throughout the internet. However, this article will focus on complete and coherent courses designed for those that are very new to Linux as well as seasoned system administrators.
There are some industry leaders in the field of technology that fully understand the importance of open source software and of Linux in general. In keeping with that understanding they offer some Linux training for free. Here are a few examples:
Cisco Systems, one of the companies whose hardware and software powers a large portion of the internet’s backbone has long offered entry-level Linux training through their Cisco Networking Academy. Here are two free courses offered through this platform for those interested in Linux:
- Linux Unhatched - This is the “baby steps” introduction Linux course aimed at those that are completely new to Linux and are just starting out. This is an excellent resource for beginners. This course is administered by the Network Development group and you can find the same course here.
- NDG Linux Essentials - Another course that originates from Network Development Group. This one lines up with the objectives for the Linux Professional Institute’s Linux Essentials exam. This course (and associated exam) presumes that you have some small amount of Linux knowledge and then expands on that to provide a more solid foundation. Those who complete this course should be fully prepared to sit for the Linux Essentials exam. As with the previous Cisco course offering, you could also register for this course at Network Development Group’s website.
Another large technology company that understands the importance of open source technology is IBM. Since the early 2000’s, IBM has maintained free training materials for Linux on their website.
- Learn Linux 101 - This site offers updated training for those seeking to earn the Linux Professional Institute’s LPIC-1 Linux system administrator’s certification. These pages are free to use and no registration for a course is required. If you already have experience working with Linux in a production environment, then this course will help you bolster those base skills and prepare you for the first of the Linux Professional Institute’s professional-level certification track.
Community Supplied Training
Not to be outdone by the titans of the industry, many individuals have taken it upon themselves to provide their own quality Linux training to the world for free. Here are some examples:
- Guy Hummel’s Linux Survival website offers an in-browser shell simulator for you to follow along with a list of lessons listed on the left side of the page. Each group of lessons is broken down into modules with each ending with a quiz to test your newly-gained knowledge. This course introduces students to the basics of using Linux, all without having to install anything on their own systems.
- Ravi Saive has constructed a rather thorough series of tutorials at his site TecMint.com. Each group of tutorials are listed by a topic (such as installing Linux, package management, etc.) and are well organized. Beginners to Linux can definitely obtain a lot from this site, but the tutorials are written with the moderately experienced system administrator in mind. Nonetheless, this site is an excellent resource for those looking to learn how to use and maintain a Linux installation. There are a number of ads on the site, but they do not detract from the content too much.
- Last, but certainly not least, the Linux Professional Institute has been working on learning materials for those that are looking to obtain an LPI certification. This project contains lesson plans that have been submitted by community members and peer reviewed for clarity and correctness. These lessons are available in a number of languages (and more are planned for the near future) and are designed to assist an exam candidate in their studies. You can find these lessons, as well as information on joining the project, at the Learning Materials website.
Perhaps you are more interested in creating software to run on a system? Here is a quick (and by no means exhaustive) list of sites that offer structured lessons in a particular programming language. There are a plethora of other sites available for each of the programming languages listed, these are just meant to provide you with a starting point.
- C and C++ - The C programming language has been around since the 1970’s, but its importance is still present even in modern projects. The Linux kernel, which is the core of any Linux distribution, is written in the C language. It is a very low level language meaning that the source code that the programs are written in speak directly to particular instructions that a computer’s processor adheres to. Oftentimes these low level programming languages are cryptic to type and read, but the benefit is in their speed in which these applications execute. A good starting point for someone wishing to learn about C or its slightly-newer object-oriented (a programming paradigm that you could learn more about in these courses) counterpart C++ can be found at C Programming’s tutorial site.
- Python - Likely the most popular programming language regardless of computing platform that is used is Python. Python is found in numerous applications that run on a Linux system (as well as Windows and macOS). Python is used for every day simple administration applications up to full-scale data analysis and artificial intelligence research. Python is easier to learn than a low level programming language as its syntax is less cryptic and much easier to read. There is no need to compile a Python program as it uses an interpreter to execute its code on a given system. This makes Python highly portable and able to run on numerous systems without having to rewrite anything for a given processor or operating system. If you are looking to get started in the exciting world of Python development, have a look at Python Programming’s website. If you are just starting out, go straight to the basics page to get going.
As you can see, there are numerous locations on the internet that can assist you with your journey to become a qualified systems administrator, a developer, or both. These sites do not require any payment and are completely free to use at your pace. While you may be at home with extra free time on your hands, take a look at these sites and see what piques your interest. Whatever path you choose, practice whatever it is you are learning to become more proficient at it and ask questions at the site’s forums or mailing lists for assistance. As the saying goes: “We are all in this together.” So let us make the most of it.
If you have any additional information about any of the training materials listed here, or about other free training opportunities, feel free to contact me at firstname.lastname@example.org.