Title: Linux Introduction
1Linux Introduction
- What is Linux?
- How do you use it?
2Outline
- Linux Background
- Linux Basic Structure
- Linux User Interface
- Linux Commands
3History
- 1991 - Linus Torvalds (Finnish student) looked
for a development version of UNIX (other than
Minux). - Objective was to develop an open source version
of UNIX that was functionally identical, but
source code independent (as a hobby) - Focus on the core operating system (the kernel)
- Project took on its own life. Version 1.0
released March, 1994
4Design Capabilities
- Multi-tasking
- Multi-user
- Multi-processing (multiple processors)
- Architecture Independence
- File system Flexibility
- Paging
- Memory Protection (protected mode)
- Networking
5Kernel vs Distribution
- Kernel provides core OS functionality
- managed by Linux.org (Torvalds, et.al.)
- Distribution provides installation and package
management needed to implement a complete OS
including applications - Red Hat (Fedora)
- CentOS
- Ubuntu
- SuSe
- Debian
- many others
6System Organization
- Like UNIX...
- Predefined root directory structure with
preferred locations for kernel files
/ (root)
bin
dev
home
mnt
root
tmp
var
boot
etc
lib
proc
sbin
usr
7System Organization
Directory Purpose
/ The root directory, which is the top of the file system.
/bin Critical executables needed to boot the system.
/dev Devices connected to the system, such as terminals, disks, tapes, modems, etc.
/etc System configuration files, including passwords, network addresses and names, system start-up settings, etc.
/home Location of users directories.
/lib The home of various shared libraries for programs.
8System Organization
Directory Purpose
/mnt The point where file systems exported from another system are temporarily mounted.
/proc Images of currently executing processes on the system.
/tmp Temporary files that are cleaned up during the boot operation.
/usr A variety of system files, including standard system utilities (/usr/bin), manual pages (/usr/man), headers for C programs (/usr/include), and administration executables (/usr/sbin).
/var Directory that stores log files (/var/log) and temporary storage space for services (such as spooling for mail, printers, etc.).
. Current directory.
.. The directory just above the current directory.
9Linux Security
- File Level Security
- Authentication - allow only authorized users into
the system (user name, password) - Access control - Ensure that resources (files)
are only used by authorized users. (user id,
group id, mode bits) - System Level Security
- Many of the same weaknesses as UNIX, since the
basic design is the same - Open source
- Makes it easy for hackers to analyze the system
- Easy for testers to fix the system when bugs are
found.
10User Interface Options
- Command Line Interface
- Primitive Interface that requires little system
support - Used on Embedded systems, old systems, some
servers - All Linux (UNIX) functions (commands) originally
developed for command line. - Commands defined in man 1
- (See also Running Linux)
- Change to GUI with startx
11User Interface Options
- Graphical User Interface
- Based on X Windows System
- X Server to generate display (bitmap)
- X Client to present display to Video monitor
- Manages basic graphical display configuration
- Display Resolution
- Monitor type
- Video Card
- Input Devices
- Use Window Managers to provide GUI
12User Interface Options
- GNOME
- GNU Network Object Model Environment
- Uses Enlightenment or Sawfish WM
- Based on CORBA Architecture to support
interaction between objects (applications,
components, etc.) - Uses Nautilus File Manager
13User Interface Options
- KDE
- K Desktop Environment
- Heavy use of Drag-and-drop
- Includes Kongueror File Manager
- Integrates local file management with Web
browsing - Often extensive list of K applications and
applets available.
14Commands
- Installation / Update
- Schedule Programs / Jobs
- Check / Change Environmental Variables
- Manage Processes
15Installation / Update
- Based on packages that include all files
associated with an application / function - Includes configuration information directory
locations, linkage to existing system config
files. - Most common is rpm Red Hat Package Manager
- Developed by Red Hat, but supported by many Linux
Distributions - Provides a method to test, verify, install,
uninstall or upgrade software (packages)
16Automatically Schedule Programs
17Manually Schedule / Run Programs
- cron
- System program that will schedule jobs
- crontab
- Users controlled by /etc/cron.allow or
/etc/cron.deny - Specify H Min D Mon DOW command
- crontab
- 5 1,15 echo turn in timesheets! mail
cotterr - ltEOTgt D
18Manually Schedule / Run Programs
- at
- Users controlled through /etc/at.allow or
/etc/at.deny - Specify time date of execution
- provide list (file) of commands / jobs to execute
- at 1121 Jan 5
- atgt /home/cotterr/bin/myscript.sh
- atgt cp /home/cotterr/info.txt /home/backup/info.tx
t - atgt ltEOTgt D
19Environmental Variables
- printenv
- Display all environmental variables
- echo PATH
- Display the contents of a single variable
- set PATHPATH/sbin
- Temporarily add /sbin to search path
- set
- Display all current variables
20Manage Processes
- ps
- Print status of all of your active processes
- ps aux
- Print status on all active processes
- kill s 9 PID
- Terminate a process with process id PID
21SUMMARY
- Linux Background
- Linux Basic Structure
- Linux User Interface
- Linux Commands