module 4 introduction to linux operating systems
TRANSCRIPT
Module 4Module 4
INTRODUCTION TO LINUX OPERATING
SYSTEMS
INTRODUCTION TO LINUX OPERATING
SYSTEMS
Chapter OverviewChapter Overview
CMPF112: Computing Skills 2
Introduction and History of Linux
Linux Systems and Distributions
Manipulating Linux GUI
Linux Command-line Interface
Overview of Linux Software and Tools
Basic Linux Administration
Introduction and History of Linux
Introduction and History of Linux
What is Linux?What is Linux?
• An operating system
• Free, open source, software
• A community
CMPF112: Computing Skills 4
IntroductionIntroduction
• Unix was developed in the mid-1970s when minicomputers and mainframe were popular
• The problem with Unix is its inaccessibility by programmers and developers
• The earlier commercial versions of Unix were costly, sometimes costing more than a pc hardware
• Linux began by Linus Torvalds at the University of Helsinki, Finland
• Linux today was developed with assistance of programmers worldwide
CMPF112: Computing Skills 5
HistoryHistory
• Developed as project of Linus Torvalds, student at University of Helsinki
• Based on Minix, small Unix OS
• First release in 1991 with version 0.02
• Version 1.0 was released in 1994
• Current stable version is 2.6.24
CMPF112: Computing Skills 6
HistoryHistory
Richard Stallman Linus Torvalds
Linux Systems and Distributions
Linux Systems and Distributions
Linux OS DistributionsLinux OS Distributions
• Many different distributions
• Private:– Usually specialized
• Firewall• Minimal install• Floppy disk Linux• Language specific
CMPF112: Computing Skills 9
Linux OS Distributions (cont.)Linux OS Distributions (cont.)
• Linus Torvalds created Linux and distributed early versions across the Internet for the enjoyment of many hardcore hackers
• Today, Linux is distributed in many ways, including CD-ROMs, tapes, Internet and even inside diskettes
• A Linux distribution has the utilities and other programs in Unix
CMPF112: Computing Skills 10
Linux OS Distributions (cont.)Linux OS Distributions (cont.)
• Linux is constantly evolving and hardware support is frequently updated
• Not many hardware are compatible with Linux
• But the compatibility of hardware has improved since Linux gain more popularity nowadays
CMPF112: Computing Skills 11
Linux OS Distributions (cont.)Linux OS Distributions (cont.)
• Corporate:– Continually improving installs– Larger device and standard support– Large amount of packages (programs) –
usually 3-4 CDs worth
• Big names: Red Hat, Mandrake, SuSE
CMPF112: Computing Skills 12
List of Linux DistributionsList of Linux Distributions
• There are a number of Linux distributions across the world• A few most popular distributions:
– RedHat – The most popular Linux. Evolving fast with great GUI’s and other auto-detect facilities and tools. Latest version : RedHat 9.0
– Slackware – The first Linux distribution created. Inherited from the real Linux from Linus Torvalds. Quite tedious to master but good for research purposes.urce software
– Mandrake – Competitors to RedHat. Has good GUI’s and good for servers. Easy to master and has many online help.
– Lindows – It has most Linux and Windows capabilities. Evolving fast to compete Microsoft Windows. The good news is : it is FREE
– UnitedLinux – A combination of Slackware, SuSE and Caldera. Competitor for RedHat and big threat for Windows.
– Other distributions such as : SuSE, Caldera, Debian, OpenLinux, FreeBSD, etc.
CMPF112: Computing Skills 13
The OSThe OS
• “Linux” refers to the kernel, the core of the OS
• The kernel is what actually makes the computer run
• Developed under the GNU General Public License
CMPF112: Computing Skills 14
GNU General Public LicenseGNU General Public License
• Sponsored by the Free Software Foundation• A method for a program author to provide the
code yet protect it from becoming proprietary• Any program developed under this license can
be changed at will• However, no money can be charged for the code
itself, it must be freely available• Can charge for support, development and
distribution costs
CMPF112: Computing Skills 15
GNU & Linux ToolsGNU & Linux Tools
• GNU stands for “GNU’s Not Unix”
• Richard Stallman created the foundation to help write free versions of the Unix software tools
• Linux benefits from most of these tools, which is why often you’ll see GNU/Linux
CMPF112: Computing Skills 16
Overview of Linux FeaturesOverview of Linux Features
Linux OS: DetailsLinux OS: Details
• Multitasking OS– Every application has their own memory space– The kernel keeps track of everything
• Multiuser– One computer can serve the needs of many users at
once– Each user can have different settings for the same
application– Standard Unix/Linux concept
CMPF112: Computing Skills 18
NetworkingNetworking
• Unix built the Internet
• All networking protocols are supported (IPv4, IPv6, Wireless, NFS, SMB…)
• Web servers, file servers, firewalls, NAT machines to name a few
CMPF112: Computing Skills 19
Some Added FeaturesSome Added Features
• Programmable shells– Linux is the most flexible OS available where
programmers can write their own programs inside Linux shells
• Device independence under Linux– Linux is device independence as well as Unix– Programmers all around the world developed
drivers of many hardware for Linux
CMPF112: Computing Skills 20
Windows InterfaceWindows Interface
• Since no one company controls everything, there are numerous desktop environments
• Each is just as interface to the X window system tools
• The two most popular are KDE and GNOME
• Most window managers have features like multiple desktops per user
CMPF112: Computing Skills 21
CMPF112: Computing Skills 22
Windows Interface (cont.)Windows Interface (cont.)
KDE
Windows Interface (cont.)Windows Interface (cont.)
CMPF112: Computing Skills 23GNOME in Red Hat 9
Linux Command-line Interface
Linux Command-line Interface
Linux Command LinesLinux Command Lines
ls• The ls command is used to list the contents of a
directory. It is probably the most commonly used Linux command. It can be used in a number of different ways. Here are some examples:– ls – list the files in the working directory– ls /bin – list the files in the /bin directory (or any other directory
you want to specify)– ls –l – list the files in the working directory in long format– ls –l /etc /bin – list the files in the /bin directory and the /etc
directory in long format– ls –la – list all files (even ones with names beginning with a
period character, which are normally hidden) in the parent of the working directory in long format
CMPF112: Computing Skills 25
ls commandls command
Linux Command Lines (cont.)Linux Command Lines (cont.)
cp• The cp program copies files and directories.
Examples:– [me@linuxbox me]$ cp file1 file2 – copy a single file– [me@linuxbox me]$ cp file1 file2 file3 directory –
copy multiple files to a different directory
CMPF112: Computing Skills 27
Linux Command Lines (cont.)Linux Command Lines (cont.)
mv• The mv command performs two different
functions depending on how it is used. It will either move one or more files to a different directory, or it will rename a file or directory. Examples: – [me@linuxbox me]$ mv file1 file2 – rename a file– [me@linuxbox me]$ mv file1 file2 file3 directory –
move files to a different directory
CMPF112: Computing Skills 28
Linux Command Lines (cont.)Linux Command Lines (cont.)
rm• The rm command deletes (removes) files. Example:
– [me@linuxbox me]$ rm file
rmdir• The rmdir command deletes directories. Example:
– [me@linuxbox me]$ rmdir directory
mkdir• The mkdir command is used to create directories.
Example:– [me@linuxbox me]$ mkdir directory
CMPF112: Computing Skills 29
Linux Command Lines (cont.)Linux Command Lines (cont.)
man• Online help for each of the various Linux commands• Linux will display any information you type• Example:
– [me@linuxbox me]$ man ls – it will show description of ls command
more• Display a screenful of a text file• You can look through a text file without invoking an
editor, printing the file, or trying to pause the terminal as it displays the file
CMPF112: Computing Skills 30
Linux System AdministratorLinux System Administrator
• Every aspect of the system can fall within the realm of a system administrator
• Entire books have been written about just the software side, and for most system administrators, hardware, networks, and even programming fall into their laps
• Almost every user, and many administrators, never see what is happening as the system is booting
CMPF112: Computing Skills 31
Linux System Administrator (cont.)Linux System Administrator (cont.)
• Those who do, often are not sure what is happening.
• From the time you flip the power switch to the time you get that first login prompt, dozens of things must happen, many of which happen long before the system knows that it’s running Linux
• Knowing what is happening as the system boots and in what order it is happening is very useful when your system does not start the way it should
CMPF112: Computing Skills 32
Overview of Linux Software and Tools
Overview of Linux Software and Tools
The Boot ProcessThe Boot Process
• The process of turning on your computer and having it jump through hoops to bring up the OS is called booting, which derives from the term bootstrapping
• The process a computer goes through is similar among different computer types, whether it is a PC, Mac, or SPARC Workstation
CMPF112: Computing Skills 34
LILO – The Linux LoaderLILO – The Linux Loader
• This is basically a set of instructions to tell the OS how to boot
• That includes what OS to boot and from what partition, as well as a number of different options
• If LILO is installed in your master boot record, it can be used to boot basically any OS that you can install on that hardware
• Actually, most of the work was done by the boot loaders of the respective OS, but LILO was used to load start the boot process
CMPF112: Computing Skills 35
User AccountsUser Accounts
• Users gain access to the system only after the system administrator has created user accounts for them
• These accounts are more than just a user name and password; they also define the environment the user works under, including the level of access he/she has
CMPF112: Computing Skills 36
User Accounts (cont.)User Accounts (cont.)
• Users are added to Linux systems in one or two ways.– You could create the necessary entries in the
appropriate file, create the directories, and copy the start-up files manually
– Or, you could use the adduser command, which does that for you
CMPF112: Computing Skills 37
adduser commandadduser command
• Adduser command
useradd [-c comment] [-d home_dir]–
[-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-n] [-o] [-p passwd] [-r] [-s shell] [-u uid] login
Linux CommunityLinux Community
• Linux is by its nature a community• The OS and applications only move forward by
the help of many• Help is a “HOW-TO” or a mailing list away• Google.groups are an excellent source of
information• Linux Documentation Project is a huge resource
of “HOW-TO” documents – written by the community
CMPF112: Computing Skills 39
Linux SoftwareLinux Software
• Thousands of programs already run on Linux
• Office suites, games, web development tools are probably the most lacking, although more are always developed
• StarOffice/OpenOffice is now available and very versatile
CMPF112: Computing Skills 40
Basic Linux AdministrationBasic Linux Administration
Linux UsersLinux Users
• Root– Controls all system files– Only user that can do “anything”, even look at/delete
another users’ files– Usually the only user that can install most programs
• Normal users– Each has a “home” directory– Files are separated from other users– Cannot edit system data/configuration– Often can’t even see system data
CMPF112: Computing Skills 42
Basic File StructureBasic File Structure
• Hard disk is divided into partitions– Usually a minimum of 2: / (root) and /home– Idea is to keep user data and system data
separated to prevent problems
• Users: 2 minimum– Super user (root)– At least one “regular” user
CMPF112: Computing Skills 43
Source Distribution InstallationSource Distribution Installation
• Requires source files, easily downloadable
• Knowledge of command line interface
• Installation of basic compiler
• 95% of all programs are compiled with GNU C++ compiler, freely available
• Understanding of the file system, where to place files
• File/Directory PermissionsCMPF112: Computing Skills 44
File PermissionsFile Permissions
• Every file and directory has three sets of permissions– Read (r) – can read the file– Write (w) – can write, change and delete the file– Execute (x) – an executable script/file
• Permissions can then be set for three different groups– User – the person that owns (created) the file– Group – the group the user belongs to– Others – everyone else
CMPF112: Computing Skills 45
File Permissions (cont.)File Permissions (cont.)
CMPF112: Computing Skills 46
Useful ProgramsUseful Programs
• OpenOffice – Sun Microsystems office suite– http://www.openoffice.org
• Samba – Windows connectivity client and server– http://www.samba.org
• Apache Web Server – the standard on the Internet– http://www.apache.org
CMPF112: Computing Skills 47
Useful Programs (cont.)Useful Programs (cont.)
• PHP scripting language – create dynamic web pages– http://www.php.net
• GIMP – powerful image program comparable to Photoshop– http://www.gimp.org
• MySQL Database – free, powerful, easy to use– http://www.mysql.com
CMPF112: Computing Skills 48