CNT 5605, Fall 2009: Introduction

Similar documents
CNT 4603, Spring 2009: Introduction

An Introduction to Unix Power Tools

Introduction to Cygwin Operating Environment

Practical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

CSCI 2132 Software Development. Lecture 2: Introduction to UNIX and Unix-like Operating Systems

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

Introduction to Linux Overview and Some History

Introduction to Operating Systems

Introduction to Operating Systems. Jo, Heeseung

UNIX Kernel. UNIX History

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Systems Programming. The Unix/Linux Operating System

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

Overview of Unix / Linux operating systems

Course and Unix Intro

Introduction to Unix. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

ELEC 377 Operating Systems. Week 1 Class 2

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad

Basics of system administration on a Unix system

1Z Oracle Linux Fundamentals (Oracle Partner Network) Exam Summary Syllabus Questions

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Unix Linux Fundamentals And Shell Scripting

Projects and Environment Introduction

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

COURSE OUTLINE. UNIX Programming 2014 Fall by Euiseong Seo

Perl and R Scripting for Biologists

Introduction to Linux

Operating Systems CS3502 Spring 2018

CS 153 Design of Operating Systems

Computer. Operating Systems Introduction to Operating System (OS)

Operating System Labs. Yuanbin Wu

COS 318: Operating Systems. File Systems. Topics. Evolved Data Center Storage Hierarchy. Traditional Data Center Storage Hierarchy

SHELL SCRIPTING: HOW TO AUTOMATE COMMAND LINE TASKS USING BASH SCRIPTING AND SHELL PROGRAMMING BY JASON CANNON

Lecture 01: welcome and intro what LSD and Unix have in common

CSE 391 Lecture 1. introduction to Linux/Unix environment

tech. solutions T2G Page1 ALT_01_Ch1 : Introduction to Linux ideas and history The History of Linux starts with the earlier development of UNIX.

Storage and File System

Author(s): August E. Evrard, PhD. 2010

Overview: Concurrent Architectures - Unix: Forks and Pipes

Linux Operating System

LINUX FUNDAMENTALS (5 Day)

Underlying computer system = hardware + software

CSE 391 Lecture 1. introduction to Linux/Unix environment

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29

Unix/Linux: History and Philosophy

The student will have the essential skills needed to be proficient at the Unix or Linux command line.

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days

Welcome to ULI101! The Internet has become part of our daily lives.

Chapter 1 - Introduction. September 8, 2016

Linux Fundamentals (L-120)

CS 550 Operating Systems Spring Operating Systems Overview

UNIX REFERENCE MANUAL E-BOOK

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems

Introduction to Linux

SOFTWARE ARCHITECTURE

Chapter 01: Introduction to Linux

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

Kernels & Processes The Structure of the Operating System

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

COSC350 System Software

Prerequisites: Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Module 10: Unix Primer

Reconstructive Software

Chapter 14 Operating Systems

Introduction to Linux

COPYRIGHTED MATERIAL. Unix Fundamentals. Brief History

CST Algonquin College 2

An introduction to checkpointing. for scientific applications

LINUX System Administration. Perspectives, Practices and Expectations

Version Control with Git

CIS 90 Introduction to UNIX/Linux

IBM AIX Operating System Courses

CS197U: A Hands on Introduction to Unix

Introduc+on. General Information. General Information. General Information. General Information. General Information

Is there an Open Source Business Model: YES or NO?

LECTURE/ STUDY NOTES ON C

Spring Modern Computer Science in a Unix Like Environment CIS c

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry

Lab01: Part I. Introduction to Linux. Professional Training Academy Linux Series

Introduction to Scientific Computing

Today. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it?

Contents. * All rights reserved, Tei-Wei Kuo, National Taiwan University, 2003.

DOC UBUNTU LINUX FOR DUMMIES

CptS 360 (System Programming) Unit 2: Introduction to UNIX and Linux

EL2310 Scientific Programming

UNIX rewritten using C (Dennis Ritchie) UNIX (v7) released (ancestor of most UNIXs).

Using echo command in shell script

Chapter 14 Operating Systems

Sysgem Enterprise Manager

Software metrics for open source systems. Niklas Kurkisuo, Emil Sommarstöm, 25697

by Pearson Education, Inc. All Rights Reserved.

Chapter 2 Operating-System Structures

Lab 3a Using the vi editor

Welcome to CIS 90 Introduction to UNIX/Linux

Introduction to Linux (Part I) BUPT/QMUL 2018/03/14

CS 326: Operating Systems. Process Execution. Lecture 5

Transcription:

, Fall 2009: A practical hands-on approach. We will build new servers and configure them with a variety of packages. Expertise is distributed: system administration happens everywhere from your PC to large servers, and system administration is generally collaborative. Other people will help you solve problems and learn more

, Fall 2009: The systems we will emphasize are Linux. We will also talk some about BSD, Solaris, and Windows.

, Fall 2090: You may see occasionally see these abbreviations in course materials: LAH Linux Administration Handbook, 2nd Ed (Nemeth et al) W2K8 Windows Server 2008: Networking Foundations (Minasi et al)

ASSIGNMENT Read chapters 1, 2, and 3 in LAH Read chapters 1, 2, and 3 in W2K8

to Unix Unix is now more than 30 years old It began in 1969 See The Evolution of the Unix Time-sharing System by Dennis Ritchie http://cm.bell-labs.com/cm/cs/who/dmr/hist.html

to Unix Started at AT&T s Bell Labs, derived from MULTICS. Initial hardware was a DEC PDP-7, and the filesystem was hierarchical but did not have pathnames (i.e., there was no equivalent to a pathname such as /etc/hosts, it would just be hosts; directory information was kept in a special file called dd)

to Unix Rather than a product from a manufacturer, Unix began as collaboration with these goals: Simplicity Multi-user support Portability Universities could get source code easily Users shared ideas, programs, bug fixes

to Unix The development of early Unix was user-driven rather than corporate-driven Note that Linux and the BSDs (FreeBSD, OpenBSD, NetBSD) now flourish in similiar open source environments (http://www.freebsd.org, http://www.openbsd.org, http://www.netbsd.org)

to Unix The first meeting of the Unix User Group was in May, 1974; this group would late become the Usenix Association You can watch the ever-varying open source world of Linux/BSD distributions at http://www.distrowatch.com

A History of Unix In the beginning, processes were very different Originally Each terminal only could have one active process When creating a child process, the parent first closed all of its open files Then the parent linked to the executable and opened it

A History of Unix Then the parent copied a bootstrap to the top of memory and jumped into the bootstrap The bootstrap copied the code for the new process over the parent s code and then jumped into it When the child did an exit, it first copied in the parent process code into its code area, and then jumped back into the parent code at the beginning

Old Unix Today the parent uses a fork/exec/wait model: fork(2) (to create a new child process) exec*(2) (to have the child process start exe a new program) wait*(2) (to wait on the child (or at least c on its status if non-blocking))

Linux: a complete Unix-compatible operating system Runs on huge array of hardware, from IBM s biggest machines down to commodity routers such as the Linksys WRT routers using DD-WRT Based on Linux Torvalds kernel (he is still in charge of kernel development (2.6.28 is the current stable release), though now many people work on the kernel)

Linux: a complete Unix-compatible operating system The Linux distributions we will use are CentOS and Fedora; each includes a full development environment, X-Windows, NFS, office environment products (word processors, spreadsheets, etc), C, C++, Fortran, several mail systems (exim, postfix, and sendmail) and whole lot more (a full install is around 5 to 7 gigabytes) Linux is mostly POSIX.1 compliant

Linux: a complete Unix-compatible operating system FAQ: http://www.opengroup.org/austin/papers/posix faq.html

Solaris Solaris is a vendor Unix. It came from Sun Microsystems (which is now part of Oracle.) It runs on Sun s custom hardware and commodity PC hardware and in virtual environments, which is how we will run it.

Microsoft Windows Windows 2008 Server is a proprietary system that follows in the NT and Windows Server 2003 family Windows 2008, like Windows 2003, has several varieties: Standard Edition (Supports Server Core ) Enterprise Edition (Supports Server Core ) Datacenter Edition (Supports Server Core ) Windows Web Server Windows Storage Server

Microsoft Windows The Minasi book is an enjoyable, and no longer voluminous, read Windows has the advantage that it provides a single vendor solution, completely controlled by Microsoft. Generally you use some sort of interface to configure Windows rather than a text editor.

System administration responsibilities (AIC) Availability of services and data Integrity of services and data Confidentiality

System administration duties Installing new hardware and software Updating and upgrading hardware and software Monitoring for problems Resolving problems

System administration duties Planning for growth and obsolence Making backups Recovering data from backups

Availability Lack of availability can have a large dollar impact on many businesses The most common danger to availability is SPOFs (single points of failure)

Availability SPOFs are generally cured by redundancy. Redundancy models: Cold Good points: guarantees availability, but (1) typically most expensive (2) tends to require frequent testing (3) typically slow to bring live

Availability Warm (dual-use hardware that is powered up and used for related but non-production purposes such as development or q/a) Typically good availability and less expensive than cold since the hardware has day-to-day use, but (1) tends to be one-offish and (2) tends to require frequent testing of switchover

Availability Hot (redundant hardware in production) typically least expensive since it is in active production use and testing requirements tend to be less but more likely to have capacity problems in the event of partial failure

Integrity of data For system administration purposes, often data integrity is implicitly enforced both at the hardware and the operating system level, such as CRCs for disk reads, parity in RAID-5 controllers, and so forth.

Integrity of data However, it can also be an explicit issue, such as logical names that must be correct.

Integrity of data Example: you create a soft link from the logical name for a package to its new implemention, say DBB-Current DBB-1.8; however, inside of an update script, you somehow leave a single instance of a hard-coded DBB-1.7 (the old version) rather the logical name DBB-Current. When the script runs, the update now mixes the two packages DBB-1.8 and DBB-1.7.

Data security This is a big topic, even from a pure system administration point of view. Passive security: design your systems with security in mind.

Data security Active security: (1) Searching for problems with tools such as Snort and Nessus (2) Forensically researching problems with tools such as with TCT.

Some of the elements of Unix/Linux system administration: editors, scripting, and compilation Editors: A lot of Unix/Linux system administration tasks revolve around editing various files. The best two choices for editing are the programs vi and emacs.

Some of the elements of Unix/Linux system administration: editors, scripting, and compilation Scripting: In addition to simple configuration files, another important subset of tasks that require editors are scripts. These scripts are used for various purposes, and often automating routine tasks such as running programs such as makewhatis and updatedb.

Some of the elements of Unix/Linux system administration: editors, scripting, and compilation Compilation: Generally on Unix/Linux machines, gcc is a good choice for compilation. While it is not perfect, and the various generations of gcc can be somewhat frustrating to deal with, it is hard to beat the price.

Unix/Linux system administration: editors vi: It is almost always found somewhere on a Unix/Linux machine, often in the form of vim. vi advantage: It is simple to learn. It has two modes, motion and insert. In the motion mode, the most important keys are just h: Move the cursor left. l: Move the cursor right. j: Move the cursor down.

Unix/Linux system administration: editors k: Move the cursor up. i: Go into insert mode. : : Execute an internal vi command of some sort. The most popular w for write, q for quit, and

Unix/Linux system administration: editors vi disadvantage: While original vi is quite simple, it also is not very featureful. This isn t as much of a problem with vim, an updated version of vi. These extensions are not as logical as those emacs since they were created as an afterthought.

Unix/Linux system administration: editors emacs: Not always installed by default. In fact, in the last few years, default installation of Emacs in Unix/Linux distributions has become less common.

Unix/Linux system administration: editors emacs advantages: As computer scientists, emacs is quite intuitive: each sequence of keystrokes can be mapped to a Emacs Lisp function. For instance, by default in TeX mode, the key a is just mapped to a function which inserts an a, but the double quote key is mapped to insert first a pair of and then the second time to insert a pair of closing in accord with TEX s expectations.

Unix/Linux system administration: editors emacs disadvantage: It s not found on every machine. emacs disadvantage: It s big.

Unix/Linux system administration: scripting languages bash: The Bourne-Again SHell. Introduced the readline library. A comprehensive overhaul of the original Bourne shell. perl5: The Practical Extraction and Report Language. An amazing language in its own right; originally, it could be mistaken for line noise, much as the old TECO editor commands.

Unix/Linux system administration: scripting languages perl6: Currently, version 5 is very useful, though version 6 still hasn t jelled. My lecture notes for this class have used that not jelled phrase since 2003, it appears!

Unix/Linux system administration: scripting languages Scripts in the Unix/Linux world are most commonly written in shell, Perl, or occasionally in Python. (We still occasionally find some AWK scripts, but it s been fading fast over the last few years.)