Вы находитесь на странице: 1из 30

Introduction

to
Linux

Introduction to Linux

What is Linux, and Who Created it?


GNU and the GPL
Unix/GNU, What is the Difference?
POSIX Compliance
Other POSIX Operating Systems
Uses of Linux
Advantages and Disadvantages

What is Linux

Linux is a UNIX clone

It can run on 32 bit and 64 bit hardware

Linux is a true multitasking environment

Fully capable of taking advantage of multiple


processors

Can address up to 64 GB of RAM

Partial POSIX Compliance

Penguin Power

Linux is free

Anyone can download and compile the source

The code can be modified by anyone provided


the modifications are released to the community

History

The history of Linux began with Unix in


1969

Unix was created at Bell Labs with the goals:

Simplicity
Recycleable code
Written in C as opposed to assembly

Development started in 1991

Linus Torvalds wanted to create a free


implementation of UNIX
By 1993 there were 12000 Linux users
Today Linux rivals UNIX in stability and
scalability

The Kernel

Linux is not an Operating System

Linux is a kernel

A kernel is a program that allocates and controls


hardware resources in a system

Linux Distrobutions use the Linux kernel


together with the GNU Operating System

The Linux Kernel

The Linux kernel is currently maintained by


Linus Torvalds and a few hundred other
developers
Releases are numbered in a very ordered
fashion.

Major.minor.patchlevel
Odd minor numbers are development kernels
Thus

2.4.20 latest stable kernel


2.5.67 latest development kernel

Will become the 2.6 kernel

Design

The Linux kernel has a monolithic design


The other approach is the microkernel
design
Both have their upsides and downsides

Monolithic kernels

Easier to build and design


Generally faster
More recompiles
Less object oriented

Micro kernels

Considered safer
Easier to develop drivers for
Only recompile for upgrades
Generally slower
Much harder to build and design

Other *NIX Kernels

The BSD kernel

This is the kernel used by the open source


BSD's

FreeBSD, OpenBSD, NetBSD

It is neither GNU nor GPL

The GNU HURD

Hird of Unix Replacing Daemons


Hurd of Interfaces Representing Death
The world's first doubly recursive acronym
Micro kernel
Not very functional

Isn't a GNU an Animal?

GNU stands for GNU Not Unix

The goal of GNU

Create a free and complete UNIX-like operating


system

This has been in development since 1984

Towards this goal the GNU project has released:

GCC, GNU Emacs, Bash, to name a few

For more information see the GNU Manifesto

http://www.gnu.org/gnu/manifesto.html

What is the GNU GPL?

The GNU General Public License

Ensures that GNU software stays free

This is done through Copy Lefting

Any modification to GPL software is required to


be released to the public

Linux is released under the GPL

Due to its restrictive nature the GPL has recently


come under fire

http://www.linux.org.uk/GPL.html

Does the GPL Matter?

Depends on your point of view

Not as important for users

Very important for developers

Any GPL code that is incorportated into a program


makes the entire program GPL

No closed source software can use any GPL software

So Unix Costs Money and


GNU/Linux is Free

Essentially this is the case

Both have the goals of POSIX compliance


Commercial UNIXes are in general closer

Commercial UNIXes generally perform


better in large systems

This is generally in implementation, not in use

But even this is difference is shrinking

The biggest difference is that UNIX is


trademarked and must be commericialnot
free

POSIX? Another Operating


System?

Nope, its yet another acronym

POSIX is a set of specifications

Portable Operating System Interface


Describes how the operating system should
behave
Both to the user, and to other programs

POSIX was created to combat the plethora


of UNIXes that popped up in the 1980, all of
which had a different look and feel

POSIX cont...

The Open Group controls the UNIX


trademark

They also release their own UNIX specification

The latest POSIX specification has been


merged with the Open Group's UNIX
specification
For more information see:

http://www.pasc.org
http://www.opengroup.org/

Other POSIX OSes

IBM AIX

Sun Solaris

SGI IRIX

HP HP--UX

Compaq TRU64 UNIX

So Why Should I Use Linux?

As a server platform

few other operating systems can match Linux in:

For Developers

Resources:

Performance
Price
Stability

Linux has a tremendous number of tools available for


developers. And they are all free.

For the Desktop

It's fun

Advantages

Linux is free

Can't say that enough


It's great for poor college students

Learning Linux means learning UNIX, and


UNIX is the largest server platform in the
world
Community

The Linux community is very active and helpful


This makes support very rapid

But it's hard to learn

Linux is much harder than Windows

It's harder to use than Windows

It lacks all those great automated


installation tools

You have to manually configure hardware

There is lots of hardware out there that just


won't run in Linux

So You Are Ready to Take the


Plunge

What do I need to know?

Not all distros are the same

Internet Resources

Linux From Scratch is a bad starting place


www.linux.org
www.tldp.org
www.justlinux.org
www.desktoplinux.org

What distro should I start with?

Redhat
Mandrake
Suse

Some Linux Basics

File System

Linux is much more hierarcal than Windows

Everything starts at the root


/

Boot -- contains the kernel and system map


Bin -- contains the basic system binaries
Dev -- all the device entries
Etc -- can't think of any other place to put it
Home -- where all the users live
Lib -- system libraries
Mnt -- place to mount filesystems
Proc -- system information
Root -- the root user's home
Sbin -- system binaries
Usr -- where user accessible programs go
Var -- logs and such

Basics cont...

CLI

The command line interface


Bash is the most common shell
The CLI in Linux is quite useable

Navigation

ls -- lists files and directories


cd -- changes directories
rm -- removes files
Navigation switches

Most programs have options that you can pass to


them via switches, for ex. ls -h gives you all the
options that ls can take and what they do

6 Runlevels

Level 0

Level 1

Reserved

Level 5

Full Mulituser

Level 4

Reserved

Level 3

Single User mode

Level 2

Halt

Xwindows

Level 6

Reboot

XWindows

Linux Graphical Environment

Invoked via the startx command

Two major environments

KDE

Gnome

The difference is primarily in philosophy

Redhat trys to erase the differences with Bluecurve

Does everything Windows does and more

A Few Good Distros

Redhat

Mandrake

Suse

Lycoris

Gentoo

Knoppix

Hat's off

Redhat

Pros

Easy install
Tons of graphical tools
Great hardware support
One of the most mature distros

Cons

It's slow
Their stock kernel is somewhat bloated
Installs files in non-standard directories
Not customizeable

Drako

Mandrake

Based on Redhat

Modified to suit desktop systems more than


Redhat

Supports that funky DVD Decoder Card you


have to use

More on the edge than Redhat

Uses a modified kernel

Tame the Lizard

Suse

Pros

Avoids much of the bloat of Redhat and Mandrake

Great hardware support

The easiest Linux installation I have ever had

Cons

Still hard to customize

Perfection

Gentoo

Pros

Builds Linux from scratch, optimizing for the


architecture of your PC
Blazing speed
Highly customizeable
User Forums are a great place for support
Runs Quake and Unreal Tournament 2003 out of the
box
Has a kernel specifically modified for gamers

Cons

Can be overwhelming
Takes a long time to build
Do not trip over the power cable while it is building

Knoppix

Self contained

Can boot almost any pc that supports


cdrom booting

Settings can be stored locally or on USB


pen drive

Great to learn on

Does not require resizing partions or wiping


drives

Вам также может понравиться