Linux Introduction

Download Report

Transcript Linux Introduction

Linux Introduction
What is Linux?
How do you use it?
Outline
•
•
•
•
Linux Background
Linux Basic Structure
Linux User Interface
Linux Commands
cs490ns - cotter
2
History
• 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
cs490ns - cotter
3
Design Capabilities
•
•
•
•
•
•
•
•
Multi-tasking
Multi-user
Multi-processing (multiple processors)
Architecture Independence
File system Flexibility
Paging
Memory Protection (protected mode)
Networking
cs490ns - cotter
4
Kernel 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
cs490ns - cotter
5
System Organization
• Like UNIX...
• Predefined root directory structure with
preferred locations for kernel files
/ (root)
bin
dev
boot
cs490ns - cotter
home
etc
mnt
lib
root
proc
tmp
sbin
var
usr
6
System 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.
cs490ns - cotter
7
System 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.
cs490ns - cotter
8
Linux 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.
cs490ns - cotter
9
User 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”
cs490ns - cotter
10
User 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
cs490ns - cotter
11
User 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
cs490ns - cotter
12
User 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.
cs490ns - cotter
13
Commands
•
•
•
•
Installation / Update
Schedule Programs / Jobs
Check / Change Environmental Variables
Manage Processes
cs490ns - cotter
14
Installation / 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)
cs490ns - cotter
15
Automatically Schedule Programs
init
Continuously listen on
network for traffic for a
specific service
Listens for network
traffic for numerous
services
httpd
sendmail
init starts
various
processes at
boot time,
including
network
services and
inetd
inetd
ftpd
cs490ns - cotter
When traffic
arrives for a
service that
inetd is listening
for, inetd starts
a process to
handle it
telnetd
tftpd
16
Manually 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
<EOT> “^D”
cs490ns - cotter
17
Manually 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 11:21 Jan 5
at> /home/cotterr/bin/myscript.sh
at> cp /home/cotterr/info.txt /home/backup/info.txt
at> <EOT> “^D”
cs490ns - cotter
18
Environmental Variables
• printenv
– Display all environmental variables
• echo $PATH
– Display the contents of a single variable
• set $PATH=“$PATH:/sbin”
– Temporarily add “/sbin” to search path
• set
– Display all current variables
cs490ns - cotter
19
Manage 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
cs490ns - cotter
20
SUMMARY
•
•
•
•
Linux Background
Linux Basic Structure
Linux User Interface
Linux Commands
cs490ns - cotter
21