Skip to content

Instantly share code, notes, and snippets.

@winnab
Created January 24, 2017 20:24
Show Gist options
  • Save winnab/94f158c037f041161f3c928ecd0a4087 to your computer and use it in GitHub Desktop.
Save winnab/94f158c037f041161f3c928ecd0a4087 to your computer and use it in GitHub Desktop.

Instructor email: vtsontsi@gmail.com

Unix

a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, developed starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

When UNIX was first introduced

  • Had huge mainframe with many things connected to it
  • For big companies and institutions
  • Needed to spread resources (multi-tasking)
  • Meant to be server operating system
  • There were no personal computers anyway

Books for course

Linux

  • clone of Unix operating system
  • FreeBSD is the closest to original Unix
  • MIT
  • revolutionized the idea of free software
  • Made a completely open source Unix clone
  • launched the GNU Project in September 1983 to create a Unix-like computer operating system composed entirely of free software

Basic components of an 80s operating system

  1. shell, console, terminal: used to execute files (Stallman built Bash)
  2. editor: something to write programs (Stallman built Emacs)
  3. compiler (Stallman built GCC)
  4. kernel: collection of drivers (mouse driver, screen driver, sound card) and the whole network stack. makes the hardware tick. behind the scenes. can't see it. Stallman was trying to create OS kernel. LINUX is the name of the kernel made by Linus Torvalds. Then it was OSed online, and people everywhere created stuff and extended it. People created things like Apache (HTTPServer), MySQL (database), Xine (media viewer). x_server drives stuff on screen, then on top you have graphical user interfaces ike KDE (European) and Gnome (American). Used to be dependency hell to get things installed because things were built on top of other things, etc.

Heard of GNU/Linux? All versions of Linux that you see are this combination--GNU refers to Stallman and Linux refers to Torvalds.

Distributions

  • first company to release a Linux distribution--first company that saw that there was money to be made.
  • chose the best of the options out there--the least buggy, etc.
  • gave a CD ready to install
  • did not create or own any of the software in the RedHat distribution--they make money by making life easier

How to choose which distribution to use?

Doesn't matter which distro you use, they are all clones of the original. All modern distros are either clones of Debian or RedHat distros. Ubuntu is Debian but released quicker, you get the newest stuff sooner. RedHat created Centos, which is its competing distro to Ubuntu.

  1. Ease of installation: Today Ubuntu and Centos distributions are the easiest to install. Install and everything is working. But almost all distributions are easy to install
  2. Ease of updates to components: Debian was the first to make an easy way to update via the apt-get. Redhat RPM now YUM for updates and dependency mgmt. For ease of updates use: Debian, Ubuntu, Centos, Fedora
  3. "Cool" factor: User experience. Ubuntu and Centos are very fast to incorporate new drivers. They get new drivers, like for VR software, out fast. For "cool factor" use Ubuntu and Centos, which should never be installed on server.
  4. Robustness: Server distributions. Won't give you the latest version because they "guarantees" that they won't release software that crashes. For robustness use Debian, RedHat Enterprise (RHE). RHE you pay to install on server. Fedora is the free version.
  5. Size: Important for embedded systems. Tesla. Routers. Since it contains network stack, it has everything you need for networking etc. Most embedded systems will have a custom distro, stripped of stuff they don't need. Examples of companies that use custom distros include Smoothwall in UK, Cisco, Android.
  6. Optimization: 32- versus 64-bit.
  7. Learning: Gentoo is completely different from everying else. It downloads the source code of things like Apache and starts compiling on your machine. You have to set the flags manually before compiling. Allows you to optimize for what you need. Gentoo takes time. Good for learning. Distros from Hell force you to learn Linux. Examples include Slackware and arch linux. They don't give you things like 'ifconfig', you have to use lower level 'ip' command.
  8. Hacking: KALI distro is "hacker" distro. Mr. Robot uses it. Good for network admins to test security.

Etc

  • Distros in every country. Germany: SUSE, France: Mandriva.
  • Banking uses RedHat. Everywhere else uses Debian because it's free.

Where is the money?

  • Certification
  • Support
  • Donations

Installation

  • 5GB is more than enough for any Linux distro

Virtual Machine

  1. Will create three partitions: "/" (everyting is installed), "Swap" (virtual memory for when RAM is full), "/home" (stuff for users)
  2. How does computer know where to start? It starts at Master Boot Record, which has information about where to go (kernel is ... over here)
  3. BOOTLOADER is small imprint that you configure by saying which partition has which kernel on Master Boot Record which displays a dialogue to allow you to choose which kernel to use. Writing the bootloader will be the final step of install Linux. GRUB is name of most popular bootloader for Linux.
  4. Mounting: in Linux, if you only have 1 partition, it's "SDA", if more than one, "SDA1", "SDA2", etc. If on same machine you have another harddrive, you'd have "SDB" with "SDB1", "SDB2", etc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment