Gerald Condons'

The Crash Course in Debian Flavored Linux

and its role as the backbone of the internet and IOT


This page is designed to be understood by normal teenagers of 2016 who own an Android or iphone Grab a bag of popcorn, sit back, snack and enjoy.

Introduction

Linux is an operating system, such as macOS, iOS, androidOS, windowsOS ect..
A - B - C's of an OSThis entire inroduction revolves around these three.To truely apriciate Linux, you must understand the concept of an Operating System

The ABC's of an Operating System

  • A: Apps (manages apps, launches apps, in a uniform matter)
  • B: Be Usefull to Humanity (we can interact with it)
  • C: Control Circuitry (handles the 1's and 0's of Digital Electronics for us)

Lets look a few ABCs of common Operating Systems:

  • ios:
    (A) app store
    (B) Humanity can view a screen, type, and talk on it use it at a phone, browse internet
    (C) it controls GPS,RAM,CPU,Graphics,Storage,Wifi,LCD,Battery for us.
  • AndroidOS
    (A) Google Play Store, and Amazon App Store
    (B) it can be a phone, tablet, google glass, smart fridge
    (C) handles phone components like iOS
  • gameboyOS:
    (A) Casset Games
    (B) Humanity can play game apps
    (C) integrates buttons, a LCD screen, Game Casset, Battery, Speaker for us.
  • windows:
    (A) install Apps either by App Store or by CDs or installers
    (B) replaced the typewriter, allows humanity to code and access the internet
    (C) Handles PC components like ram,cpu,usb,graphicscard,harddrive,ethernet
  • linux:
    (A) birthplace of App Store
    (B) Everything
    (C) Can deal with just about anything.

Has an Operating System

  • Playstation
  • A TI calculator (ever play block dude)
  • A smart car dash with maps and spotify
  • samsung smartTV

Not an Operating System

  • an ATM (just does one "app")
  • an arduino (runs only one code)
  • a router (just route a network)
  • anything not considered a smart device
  • a scientific calculator
  • anything that runs a certain firmware

Blurred Lines

  • A windows kiosk locked down to one app is what?
    (an operating system locked down to a specific app is known as an os in kiosk mode)
  • A game boy emulator on a windows PC (OSception?)
  • google chrome (is a web browser that satisfies ABC's of an OS) chromeOS Chromebooks - did you know google chrome works and looks the same on different OS's
  • OpenWRT (gives routers linux and app capabilities)

What kind of functionality would a toaster OS have? What are the OS A-B-C's of the tesla Model S?

Operating Systems and Security from Hackers

99% of hackers and viruses attack Operating Systems, not Firmware

Did you know OS's within OS's is actually extreamly common?

  • Android is a OS program writen in java that is launched by a linux kernal on phones.
  • The main driving force for OS's within OS's is for security and compatibility reasons.
  • We can discuss OS=>Emulation>Virtualization=>Cloud deployments later.
Why is androidOS writen on the java framework? Why would there be linux and java/android on one device?

Having the top authority on an OS is known as being root/superuser

When someone say they have finally rooted/jailbroke an OS it means the OS will follow your instructions without question (aka deleat all, show passwords, Godmode)

What are the pros and cons to being a superuser? Why does apple not like Jailbreaking, and cynida Linux uses what word to imply "Force"?


Operating Systems and the Buisness ($$$) World

Linux can be found everywhere because its free

Open Source means Free

Please understand that linux is free and open source, meaning anyone can do whatever they want with it and there is no linux police to come get you. If I started selling cars with windows 10 on it, microsoft would sue ($$$). Android is open source like linux, it was made by google to combat in the phone and tablet industry against blackberry and ios, hence why you can find it on strange devices like a fridgerator


Key Points to Remember about Operating Systems

The terminology "smart phone" "smart fridge" "smart home" is a phone, fridge, or home
with an Operating System.Smart most likely implys linux and/or java(android)
An operating system does not need to have a keyboard or screen to be an OS. How do you think a blind people use computers. (how do they communicate with apps)
Many linuxOS devices do not have screens, they communicate via text via internet. comunicating by text is often refered to as the Shell, Secure Shell (SSH), Command Line (CMD), or Terminal

Debian Linux: Lets Get Started

We will discuss Debian Linux OS by its ABC
(backwards C-B-A because its the easiest to understand)

What Circuitry does Debain Linux Control?

An Operating System must (C) Control Circuitry
(shortest answer: anything with more than 8mb of ram)

Short Answer

  • Web Servers - facebook, craigslist, google, ect, even this webpage
  • Databases - mysql - nosql - file systems
  • Nuclear Power Plants
  • Network Security Cameras
  • Super Computers
  • Expensive Laptops
  • Crappy Laptops
  • Rasberi Pis and BeagleBones
  • Arduino 8bit ATMEL (if you are a mad scientist)
  • Any device with AndroidOS on it
  • Tablets
  • Phones
  • Game Consoles
  • Sprinkler Systems
  • "Smart" Tvs fidges cars ect.
  • The Self Driving Tesla Model S

Long Answer

Its actually pretty short

To run, Linux only needs a processor and a working set (RAM). Unlike Windows OS which only run on x32 and x64 bit Intel/AMD processors, Linux can run on the largest range of processors by any OS, ranging from Intel, AMD, TI, Nvidea, including MIPS, ARM, 32,64,128,256 bits ect. The limiting factor to which devices can support Linux is working set size (RAM), which must be large enough to hold the kernal (core) of linux

Windows has tried and failed multiple times to support ARM and MIPS processors. First with Windows CE in 1996, and Windows RT in 2012.
While both (C) controlled ARM and Mips chips,
both failed to get enough (A) apps thus they were
not considered to (B) be usefull to humanity
hence why they have died off as Operating Systems.

How do we Use Debian Linux?

An Operating System must (B) Be Usefull to Humanity

The Terminal/Secure Shell

Lets think of a time when computers did not have graphics. the only thing that existed was text. Text is the basics of linux.
The live text of Linux is called the terminal, or shell
If you see this:
yourname@acomputername$_
You are at the heart of linux and ready to get started:

Basic File and Folder Commands

To do a command, type the name of the name of the command, then its options then press enter.
Entering a Linux Terminal places you in your "home" folder. Directory: /home/user/

Linux
English
Options and Examples
pwd
Where Am I?
pwd describes your current directory location
/home/user/
gcondon@localhost:~$ pwd
/home/gcondon
ls
List folder's contents
ls List contents of current directory ls -l List contents with lots of information
gcondon@localhost:~$ ls
Documents Downloads Music Pictures Videos
touch
make an empty file
touch emptytext.txt make a file called emptytext.txt
gcondon@localhost:~$ ls
Documents Downloads Music Pictures Videos
gcondon@localhost:~$ touch textfile.txt
gcondon@localhost:~$ ls
Documents Downloads Music Pictures Videos textfile.txt
mkdir
make a folder
mkdir myfavoritefolder make a folder called myfavoritefolder
gcondon@localhost:~$ ls
Documents Downloads Music Pictures Videos textfile.txt
gcondon@localhost:~$ mkdir Favorites
gcondon@localhost:~$ ls
Documents Downloads Favorites Music Pictures Videos textfile.txt
cd
Enter or leave a folder
cd myfavoritefolder enter a folder called myfavoritefolder cd .. go up a folder cd /home/user/myfavoritefolder go directly to this directory path
gcondon@localhost:~$ ls
Documents Downloads Favorites Music Pictures Videos textfile.txt
gcondon@localhost:~$ cd Favorites
gcondon@localhost:~/Favorites$ pwd
/home/gcondon/Favorites
cp
Copy items
cp anitemname areplicaitemname copy anitemname and call it areplicaitemname
gcondon@localhost:~/Favorites$ pwd
/home/gcondon/Favorites
gcondon@localhost:~/Favorites$ cp /home/gcondon/textfile.txt /home/gcondon/Favorites/textfilecopy.txt
gcondon@localhost:~/Favorites$ ls
textfilecopy.txt
mv
Move an item
mv item /home/user/myfavoritefolder/ move item to this directory
rm
remove/delete an item
rm item remove this item rm -rf myfavoritefolder recursively delete the contents and folder
for a list of all basic navigation commands please see here

Intro to apt-get and apt-cache (The debian "app store" and "app guide")


Understand that linux package management was the first original "app store". Any app store you see on other OS's was modeled after linux package management. People write code compiled into "packages" that are uploaded to repositories.

Repository examples (fake names but you get the idea):

A package manager monitors one or many repositories, and allows users to install sets of packages on their machine. apt-get is a popular package manager for debian linux.
However one should know there are hundreads of different package manager systems - some tailored for individual types of devices. (Because linux can be found on pretty much anything like a toaster - there will be a package manager tailored manage installing toaster only apps on the linux toaster.)