Date post: | 30-Jan-2016 |
Category: |
Documents |
View: | 234 times |
Download: | 0 times |
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
➲ Linux Distrobutions use the Linux kernel together with the GNU Operating System
➲ A kernel is a program that allocates and controls hardware resources in a 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
● This is generally in implementation, not in use➲ Commercial UNIXes generally perform
better in large systems● 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● Portable Operating System Interface
➲ POSIX is a set of specifications ● 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:
● Performance● Price● Stability
➲ For Developers● Resources:
● 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
● Linux From Scratch is a bad starting place● Internet Resources
● 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● Halt
➲ Level 1● Single User mode
➲ Level 2● Reserved
➲ Level 3● Full Mulituser
➲ Level 4● Reserved
➲ Level 5● 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