Review of O’Reilly School of Technology

I’ve finally completed the Linux/Unix System Administration Certificate from The O’Reilly School of Technology, and I am really glad I took the course. Like I said in my interim review, the hands on learning was what really interested me. My favorite courses in university were the ones where the professor gave us our assignments and said go ahead and do it, rather than lecturing for hours, and that same principle is applied in the O’Reilly School of Technology.

The Importance of Learning How To Learn

ost_logo.gif

A quick aside before I get into the details of the O’Reilly School: after graduating university, I quickly found out that the single most important skill I learned while attending, was the ability to learn how to learn. In the computer and web industry specifically, if you are still using the same programming languages and software 3 or 4 years from now, you’re out of date, and obsolete. I studied Visual Basic 6 in university and graduated right before .net 1.0 was released, meaning all the employers in my area were moving to ASP.net rather than classic ASP, and I needed to learn it… immediately. That was when I first realized exactly how important it was to be able to teach myself new technologies quickly. I was trained entirely in Microsoft technologies like ASP, Visual Basic, Access, and SQL Server, but now, 5 years later, I’ve taught myself PHP, Perl, Apache/Linux Administration, MySQL, Java, as well as Flash/Actionscript, Photoshop, and Illustrator to be able to handle the entire range of services I provide to my clients.

Because there is so much involved in Linux administration, I’ve always wanted to take some more formal training as opposed to just reading books. I’ve taken a week long course in Red Hat, but I’ve been working more with Debian, and Ubuntu lately, and I wanted more general training in administering Linux, rather than just Red Hat/Fedora as well as the networking administration. So, I enrolled in the O’Reilly School of Technology Linux/Unix Systems Administration Certificate and got started.

Course 1: The Unix File System

The first course was actually really easy. I’ve been running my own dedicated server for about 4 years now (the last 3 on a Linux server), and I’m more than comfortable working with the command line, adding users, and general web server administration. I was finished the first course in literally a couple days. It was mostly getting used to the common commands like ls, cd, rm, touch, and getting comfortable with some common Unix text-editors like Vi/m and Emacs (I personally prefer Vim). I picked up a couple new tips, but the course was relatively simple.

Course 2: Networking and DNS

This course I was really excited about because I’ve always used my host’s DNS tool to setup the DNS for my web sites, and I really had no clue how BIND worked. Although I had taken a networking course in university and a hardware course that included a lot of binary math I had a pretty good idea of how subnet masks and IP addresses worked, however, this course really worked on the core foundation of TCP/IP and how networking works in general at a system level, not just the high-level stuff you learn when you setup a home-based or small network. It was not only the hardest course in the series, but also the most informative and educational for me. It started out with explaining how IP addresses and subnets work, and breaks down networking into IP/subnets, gateways, and how to configure it all on a Linux/Unix server. It then moves on to explaining DNS and Bind, which was the most beneficial part for me. It went over how to install and configure Bind and also explained what MX, A records, and CNames are. Using my host’s DNS tool always gave me the actual DNS line it enters but I didn’t know what a CName or A record was until I took this course.

Course 3: Unix Services

I learned a couple new things about Apache and Sendmail in this course, but the topic I learned the most on was Procmail. I had never used procmail in any of my web applications, but after going through this course - in which one lesson was focused entirely on Procmail - I am pretty comfortable with it and am looking forward to building some new web applications that can use e-mail as a method of communicating with my web apps. It was great to get a better understanding of how the Linux operating system works and how it determines what to do with e-mail as it comes into a server. Obviously I knew that sendmail took it and distributed it to the proper user based on your aliases and virtuser table, but this course provided a strong foundation of exactly what happens when e-mail comes into your server, which really helped out with troubleshooting mail server problems, and allowing you to customize the way your server handles e-mail, spam, and other messages coming into it.

The other topic that really helped me in this course was the compiling and installing of programs like sendmail, Apache, and PHP. I’ve always used RPM, YUM, or APT to install packages on my servers, but going through the entire installation process and learning how the “make” and “gnu-make” utilities worked was really beneficial. Rather than just letting the package management tools do their job, I’ve always wanted to be able to install packages myself, and get a better understanding of exactly what each program and service installed on my server does, where the files are stored and how things are really installed. It explained really well how to take source code, and then configure and install it on your server. It also explained what the make utility is, how it works, and how to supply arguments, when compiling PHP for example, to enable certain features of the code your installing.

Course 4: Scripting for Administrators Sed, Awk, and Perl

This course wasn’t too difficult since I’ve done some shell scripting before, have played around in Perl a bit, and have a really strong background in programming in general. But getting a firm grasp on Sed and Awk (which can be really confusing at first) has really improved my command line efficiency. Now rather than downloading log files and running them through an analyzer, I can run some simple piped grep and awk commands to browse log files much faster and not have to worry about scrolling through hundreds of entries when I’m looking for errors and other system messages. I was also excited about learning more about Perl since I’m working on getting a library of scripts ready to really speed up my administration tasks. This course gave a quick overview of how Sed and Awk work, and then dove into Perl quite a bit.

Overall, the series was really great. Each course taught me a lot and covered new topics for me, and the Networking and Scripting courses were exceptionally well done. After earning a certificate like this, I’m even more comfortable administering my server. I’ve always wanted to get truly comfortable administering it all entirely from the command line, I don’t like Plesk, and I’d like to get away from using Webmin as much as possible. The number of support tickets I need to submit to my host should be going down significantly.

For anyone looking to become a Unix administrator, or if you’re like me and already have a solid foundation but wants to further improve your skills, this course is a great way to get some quick, self-paced training, and it gives you the entire foundation from which you can build on as you get experience. I wouldn’t expect to write any certification exams after earning a certificate like this, but it gives you more than enough to start out as a system admin, and after some experience you should be able to tackle any sort of administration issues.

Now that I’ve completed the certificate series, I’m looking forward to more courses put out by O’Reilly, and although most of the rest of the existing courses focus on web and databases which I’m already pretty experienced with, from now on when I’m looking to learn something new, I’ll not only look for a good O’Reilly book that covers the material, but I’ll also check if there are any new courses at O’Reilly that I can take as well.

Comment