Sunday, August 02, 2015


I had the pleasure of taking the NAIT "Linux (Unix) Core Certificate Program".   The reason I had chosen this program to update my skills is in our computing environment about 60% of our servers use open source software.  From the web server to the firewalls to the NAS devices the majority of our major infrastructure is or will be running on some sort of Linux/Unix system.  I was looking to improve my use and knowledge of the operating system.  I feel this course did exactly that; it is a course that I would highly recommend.  The following is a summary of the course, how I felt the course went and what I learned.

The NAIT course is broken down into 5 smaller courses.

CCTM520Linux/Unix Essentials and Command Line
CCTM530 Linux/Unix Installation and Management 
CCTM540 Linux/Unix Shell Scripting and Automation 
CCTM550 Linux/Unix Administration 
CCTM560 Linux/Unix Networking 

The instructor for the course is Harm Gerding

Overall I found this course very informative and that I didn't know Linux as well as I thought I did.  I picked up may more skills and updated ones I already had.  I found him knowledgeable, and confident when presenting.  His classroom exercises were well thought out and engaging.

Course CCTM520 - Linux/Unix Essentials and Command line

This course is really basic, it covers the following:

  • different distributions
  • desktop applications, x windows and accessiblity
  • general operating system use, how to use Man (manual pages) and info
  • editing and the manipulation of files, permissions, pipes, redirects, and STDIO
  • system variables, shells, and set command
I found this course to be a really good base for everything that followed; the notes provided were clear and concise.  I was worried that this course would be too basic, but I was happily mistaken, I really enjoyed this course and picked up several more tools that I now regularly use.  The most useful thing that was covered is vi.  I found it great and use many of the features in the program now that I didn't otherwise know about.

The course is exactly what the title says it is, the installation and management of Linux on systems.

Course objectives:
  • selecting a distro
  • partitioning and installing linux
  • using yum and apt for installing, updating and removing software
  • creating archive files
  • determining who is logged in
  • maintaining skeleton directories, profiles, setting limits and other settings
  • servers vs desktops vs virtual machines
  • file system types
  • basic user and group management, authentication and security
  • time, timezone  and ntp
  • managing and maintaining logs, logging and journalctl
This was an interesting part of the course, it is always fun to do a fresh install of an OS, and having a look at systemd the relatively new core for Linux was interesting and very informative.

I found this part of the course to be the most fun and rewarding.  I come from a web programming background (PHP, Javascript and CSS is what I mostly use) I took the Certificate course mainly for this course and it was well worth it.  There are many things in shell scripting that are different then in web programming, and since I do need to automate a lot of what I do I found this course to be the most useful.  Through the extent of this course we created many small shell scripts and we were given a useful guide when to use and not to use shell scripts.  I found after this course I am better able to write my own shell scripts and I understand how the Linux Operating system works especially with variables (now I can fix some of my older scripts) and reading and understanding scripts is much easier too.

I found this part of the course really good as well especially using the updated command line commands.

Course Objectives:
  • Sudo, su and security
  • TCP Wrappers
  • basic networking, and troubleshooting
  • netstat, ip command, and ping
  • file/printer sharing and printing
  • using virtual machines
  • backup and restore strategies and techniques
  • intro to mail servers/MTA ssh and telnet
  • GnuPG config, usage and revocation
This course was really good for getting us to use the commands and seeing the differences between the legacy commands vs the new commands.  I have been forcing myself to use the new commands to get use to them, they do require some getting use to but I have found it to be time well spent.

This part of the course was a lot of fun.  It took everything we had learn and forced the class to use it.  It involved setting up our own Lan, with specific ip addresses and subnets, making everything route properly to each network and out to the internet.  We discussed best practices, planning, dealing with and managing issues.

Course Objectives:
  • connecting between machines and enabling/disabling network services
  • covering common tcp/udp services and ports
  • network troubleshooting
  • tcpdumps, wireshark, port scans and nmap
  • name resolution, dig and nslookup
  • host vs network security.


I found this course a great experience.  Harm is knowledgeable, he took his time and answered questions the students had and kept everyone very engaged.  The course covered a lot of material in two weeks and could have easily been much longer.  In fact we were not able to cover everything in the material (specifically IPv6) however the notes are good enough to go with on their own and there was a lot of discussion about IPv6 during the networking part of the course.  I would recommend this course to anyone if you have the computer skills and understanding to handle it.  I came out of this course knowing much more then I did before and many concepts are much clearer now then they were before.

How to fix CURL call imporitng an RSS feed on a site blocking CURL calls

There is a 3rd party service provider that my organization uses called bibliocommons.  They have these nice book carousels.  However the car...