LIS-5364 - Intro to Linux Redux

How did we get here?

a.k.a
Why is the internet so weird?

I mean, like the technical part

The Prof's Million Foot View

1) More open generally wins in the long run
2) Piracy? Meh

The First PCs

Pioneers of Freedom?

Apple II/Macintosh series

Apple v. IBM (COMPATIBLE)

MS Windows v. OS/2

The Dominance of MS

Probably not Windows the OS, but ...

The Dominance of MS

Probably not Windows the OS, but ...

How (not) to kill a giant

Direct competition?

They just buy you out.

Government Intervention?

The original "Surface" (2003-2007)

The Microsoft Tablet (2002)

Embrace, Extend, Extinguish

(I didn't make this up, they used it INTERNALLY)
Either BUY OUT your competition, or E,E,E.
(e.g.)
.Net
ActiveX
DirectX vs. OpenGL
Attempted with odt.
This prevents you from having to competitively innovate. (and is kind of understandable.)

Not even the (U.S.) gov't.

United States v. Microsoft, 253 F.3d 34 (2001)(mostly over IE.)

Europe did, but without much consequence...except that you can legally now say "Convicted Monopolist, Microsoft"

Wow, so how DO you kill a giant?

SLOWLY.

The Internet
+
Free and Open Source Software

(with a little help from Moore's Law / Non computer devices)

Missed it...

"Sometimes we do get taken by surprise. For example, when the Internet came along, we had it as a fifth or sixth priority." - Bill Gates

Microsoft:

Home Computer as Household Appliance(running proprietary/closed source software)...

but what about those other big computers and networks and stuff...old school?

Unix

Unix

The Unix Way

–Write programs that do 1 thing well
–Write programs to work together
–Write programs to handle text, the universal interface

GNU (Gnu's Not Unix)

Richard Stallman, 1983ish
"complete Unix-compatible software system"
The GNU Manifesto ( something like a "Golden Rule" of software)
But..no kernel..

Richard Stallman

Weird, picky guy who says crazy things

Richard Stallman

Weird, picky guy who says crazy things
THAT END UP BEING TRUE.

Richard Stallman

Weird, picky guy who says crazy things, e.g.
Don't call it "Linux!" Call it "GNU/Linux"
and
They're going to go into your home and burn your books!!

Linux (Linux Is Not Unix)

"I'm doing a (free) operating system, just a hobby, won't be big and professional like GNU..."

Open Source

A bit more complicated than one might think...

Free v. Open

Free software existed first.
"Free as in speech, not free as in beer."
Libre v. Gratis

Real hard to sell stuff when it's called "free"

So, "Open-Source" is adopted.
All free software is open source, but not all open source software is free (as in speech or otherwise)
And so, you get a pretty good mix....

Open (but not free) Source

You can do most anything with it, including lock it back down and making it unfree.
(BSD, Apache, anything MIT Licensed

Free Software

You can do most anything with it yourself..
EXCEPT you may NOT re-release it closed.

GNU/Linux, Firefox etc.

Unix Descendants

REAL GNU/Linux:

Unix Descendants

(Linux Kernel, Weird Java OS on top)
(Kinda open, kinda not, Stallman was right. This is Linux, but it ain't "Linux")

Unix Descendants

POSIX Compliant, but not quite Linux:
APPLE EVERYTHING.
iOS, Macs

Unix Descendants

also
all the video game consoles
pretty much everything IoT
All the smart tv's

Unix Descendants(aka, why am I talking about all this?)

EVERYTHING THAT ISNT WINDOWS*

Nokia N900

iPhone

(Darwin, POSIX Compliant BSD Derivative, now basically closed)

Again, Why Unix Descendants?

So: understanding Unix/Linux stuff will help you immensely with understanding
the shape of the web.
ESPECIALLY file management, one of the most important things.
This is the main reason why I'm focusing on "knowing some Linux."

Speaking of File Management

a really good question:
Why do MOST devices these days ship WITHOUT easy access to a file manager ...
..if they have one at all?

Stallman was right, part deux


1984? Not a metaphor.

AND THE HEAVENS OPENED UP

What is an OS, really?

Lots of different kinds of software at different levels.
(Apple/Windows just squishes them all together)

A rough car analogy

Linux (most precisely) is the "Kernel"

A rough car analogy

GNU is all this other stuff around the engine

A rough car analogy

Ubuntu Linux = Model/make?

Getting rougher, oh well

Window Manager, Desktop Environment
LXDE/KDE/Gnome/etc.

For Comparison: Windows 7?

Windows 10?

Os X?

Choices Choices Choices:

Linux has different
"Distros"
and
"Desktop Environments"
(which, to many, may look like completely different operating systems.

old KDE

New KDE

Elementary

Linux Mint

Ubuntu

PopOs

Fancy Compiz Fanciness

OpenElec (XBMC/Kodi)

Kali Linux

Modern Linux Desktops?

ugggh don't get me started. Huge Blown Opportunity, IMHO.
Instead of trying to out-boring Microsoft...

Modern Linux Desktops

They (Ubuntu, king at the time)
tried to out-sexy Apple.

AND FAILED. I'd SAY TWICE. (from Unity...)

Modern Linux Desktops

to GNOME 3

In my humble opinion

Distro Mostly Doesn't Matter.
Feel free to play around, but this is pure Bikeshedding.
(and I think a LOT of developers are
literally wasting their lives in this space)

After all; this isn't what you're doing,
this is the thing between turning on the computer, and what you're doing,esp w/

Openbox and/or Tiling

Also Openbox

SO, for us: Raspbian/Raspberry Pi Desktop

SO, for us: Raspbian/Raspberry Pi Desktop

One "distro" thing that does matter (though less)

How do you install new programs?

Installing new programs in Windows

Sorry, gotta rant here.

Stupidly and dangerously, and this is why we have viruses.

If I handed a piece of paper to you that said "Go jump off a bridge",
would you live?

Windows, mostly, would not.

Installing new programs in Linux (old school)

This is a thing to pay attention to.

For us, let's go with any distro that uses "apt"

(there are others like "pacman" et al)

Where is the Linux?

Good question

And where are the real humans using it?

Even better question.

Services and Functions over Networks.

Important examples

Important "endpoints/views"

Where are the servers?

So, "the cloud"

Where are the servers?


(running Linux. Or Linuxes)

Where are the servers?

Okay, how did we get "the cloud?"

Probably first as a B2B concept.

In The Beginning

"Where, PHYSICALLY is my website?"
"Right here"

Today?

Today?

"Bare metal"

It must be a part of the thing, of course.

Not Bare Metal:

ROUGHLY two methods:

Virtualization: Fake the WHOLE COMPUTER, for backups and security etc.

Containerization: Install something (a program or server) on the real computer, but isolate and control it for security and ease of use.

Virtualization

Virtual Machine:

A computer (top down, with memory and a hard drive etc)

but "virtual" — i.e NOT PHYSICAL.

In many instances, it's easiest to just FAKE THE WHOLE COMPUTER.
VPS' are this.

And also you can do them on your own computer.

Many reasons, boiled to 2:

(these are great for online teaching and no one seems to believe me) ☺

Which one?

I'm still going with VirtualBox. Mostly laziness ☺

Here we go....

This likely won't be an issue, but:

"Chip Architecture"

(all about the "Pentiums", lol)

So, Raspberry Pi Desktop?

Programs must be compiled differently and it is
possible that not everything will be exactly the same.
But unlikely.

Automation and Containerization

Because people talked about "Web Admin"...

..yes, we need to keep talking.

A lot of old "Web Admin" is simply NOT DONE anymore because of..
containerization and virtualization, and even just simpler tools, like tasksel...

Containerization

An attack on an age-old problem; namely. e.g.
Zoom needs the "stream sound" library
Spotify needs the "stream sound" library
Which one? Which version? What if I uninstall Spotify?

You can

...or

Containers

Halfway between virtualization and the above;
Create a virtual (but incomplete, carefully connected) Shadowed environment
and if you're good, make it easy to take down or up.