Linux - Spider

advertisement
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 commericial—not
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
Download