CIT 174 RSS feeds created by Ed Nickel
CIT 174: Lesson 1
"Why study Linux?"
To automatically receive new RSS feeds you can copy this link: http://cot.gbcnv.edu/~ed/class/cit174/cit174.xml to your RSS reader or bookmark it in many web browsers. If you prefer getting the new lessons manually you can read these files directly from GBC's WebCampus.
Welcome to CIT 174, Linux System Administration, I'm Ed Nickel, your instructor. I have been working in computer networking since the late 1970s when I created my first network connecting 3 Apple ][ computers and a 5Mb Corvus hard drive before the first IBM PC had yet been built. I built my first Linux server to host the website for GBC's CT Dept (then called the COT Dept) in 1995. It was based on an old desktop computer that was going to be discarded as "obsolete" which had only a 10MB hard drive and 512MB RAM with an Intel 386 processor. The CT Dept's current web server (which I still administer) is based on a rack mount Dell server with dual Intel processors, 4GB RAM, and has 2TB (terabytes) storage from our NAS system dedicated to it.
Before we go any further with this lesson, have you purchased your Raspberry Pi which will be used instead of a textbook in this class? If not, please follow this link to the required Raspberry Pi B+ for the recommended kit which costs about $60.00 from Amazon. Be sure to get it express shipped as you will need it for the next lesson. Please note, the Raspberry Pi kit assumes you have a USB keyboard that you can use with it, (a USB mouse is optional) so if you do not you may also need to buy one of these as well. If you already have a Raspberry Pi then all you need is an 8GB, class 10, micro SD card to dedicate to this class's work which can be purchased from Amazon for well under $10.00. Please note if you have an older B (not B+) Raspberry Pi then you need the full size SD card or the micro with an adapter. You might also want the informative, Raspberry Pi User Guide, 3rd edition, ISBN 9781118921661, for about $16.00 but this is not required.
As detailed in the syllabus and the class expectations page, you are required to create two discussion posts each week in WebCampus for this class each week. For specific criteria, grading, etc. about the discussions posts, quizzes, assignments and labs please review both the class syllabus and the class expectations page carefully.
Linux is an open source variant of the UNIX operating system. Both Linux and UNIX have been released in numerous variations by many people and organizations including companies, universities, hobbyists, among many others. Linux variants are usually know as distributions and come in hundreds of flavors; LinuxQuestions.org lists over 450 different distributions. Some distros were created to meet specific needs such as firewalls and routing, multimedia, or gaming. Other distros have been general purpose operating systems either for servers or desktops and occasionally both wrapped into one. You may have heard of the Red Hat or Suse (from Novell) Linux distros which are among the most popular server variants in the US, or Ubuntu which is a very popular desktop distro worldwide, or of Solaris a commercial UNIX variant. All of these are derived from the original UNIX created in the late 1960s by AT&T's Bell Laboratories. AT&T was part of a consortium with several universities and other companies under contract with the US Department of Defense, Advanced Research Projects Agency, to create ARPAnet, a robust cross platform network. UNIX was created as ARPAnet's operating system and the C programming language was developed to create UNIX. ARPAnet was the precursor for what later became known as the Internet.
Yes, the Internet is that old. It was first operated on a proof-of-concept basis in 1969. It was created as a computer communications network capable of surviving a nuclear first strike from the USSR so that the US could still launch its missiles thus ensuring the destruction of the world. So, now you know, as Paul Harvey would have said, "the rest of the story," the Internet was created to blow up the world but instead we got Amazon, Google, Facebook, YouTube, Twitter, online gambling, viruses, worms, and porn. This is probably the most massive example of unintended consequences and what economists call a "disruptive technology" ever. UNIX and later Linux were and still are at the heart of the Internet. More websites worldwide run on Linux servers the any other computer operating system.
Even if the 'NIX (UNIX, Linux, etc.) variants were historically important to computing and the Internet, as the title of this lesson asks, "Why study Linux?" I think I can safely assume that all of you taking this class have used one or more of the the following web based operations, Amazon, Facebook, Google, Twitter, or YouTube and all of these operate on servers with customized variations of Linux. I am fairly sure that all of you have heard of, if not used, cellphones using Android and the Apple Mac with its OSX operating system; both of these are based on UNIX/Linux variants. I have used and programmed both my Mac Mini and my Samsung Galaxy cellphone from the command line in quite powerful terminal modes much as we will learn about in this class. I have even used a very limited command line terminal mode available for the iPhone and iPad, also based on UNIX/Linux which I was very surprised to find considering Apple's proprietary, lock down rules for those devices.
So, these skills are very relevant to computer specialists now just as they have been in the past. Furthermore, those who are good at it are qualified for many very well paid jobs. You may have heard of the strong push in the United States to get more graduates at all levels of education in the STEM (science, technology, engineering, and mathematics) disciplines. Well, both computer programming and server management in the 'NIXs are high on the list of desirable skills in the T, technology, portion of STEM.
I have already mentioned that there are many different Linux distros but not covered some of the key differences between them. Most, if not all desktop distributions are GUI (graphical user interface) based using either X-Windows or one of the other Linux windowing framework. Some, like Ubuntu, default to the Gnome GUI while others default to KDE but most allow you to choose which you wish to use and some even let you install more than one GUI and switch between them. Gnome operates in an underlying manner very similar to Windows in that it hides all the background operations from the user and determines how the windows and systems will be presented to you. KDE, on the other hand, has a similar "look and feel" but allows the user to open and reconfigure the windowing options for a high degree of customization but that is beyond the scope of this class.
A very significant difference among Linux distros is whether their software management system is Debian or RPM based. Rasbian & Ubuntu use Debian software management which is similar to MS Windows in that there are software repositories on the Internet and a database on your computer. From time to time your computer checks the Internet repositories and compares the versions currently available with those installed on the local computer and then either manually (as in our case) or automatically installs the security upgrades and advises the user about non-security related upgrades. RPM (Redhat Package Management), on the other hand, tends to be more manual with users making many more decisions during the upgrade and installation process. I have used both types of software management systems and like the ease of use provided by Debian but can see the advantages of the user control offered by RPM.
Another key difference shows up not so much between distributions but between versions of many distros based on their purpose. Server versions usually have a command line user interface while desktop versions usually have a graphical user interface. I noticed with some amusement that even Microsoft re-introduced the command line interface similar to DOS with Windows 2008 Server and many Microsoft IT shops are now removing the GUI from their servers. Efficiency and security are the main reasons IT administrators do not want GUIs on their servers. A GUI requires much more overhead in terms of CPU, memory, and hard drive use when compared to a command line interface. In addition, any software running on a system represents potential security holes that could allow hackers to exploit a vulnerability to break into that system. Therefore, removing all software that is not mission critical, such as a GUI, means that much less computer code which might be vulnerable and needs to be kept current with security updates. You will be using both a server environment from the command line and the desktop GUI in this class.
You have no specific assignment for this week other than to be sure you have your Raspberry Pi ready for assembly and OS installation by next week. Next week I will have a short video showing how the kit is assembled and another showing how to install the Rasbian OS. Please remember, the Raspberry Pi kit assumes you have a USB keyboard that you can use with it, (a USB mouse is optional) so if you do not you may also need to buy one of these as well.
Click for my home page, for my syllabi index, or for my office hours.