Welcome to CS312


Instructors:Lance Albertson, Jordan Evans
Location:KEC 1001
Course Email:cs312@osuosl.org
Course website:http://cs312.osuosl.org
Office Hours:by appointment
Class list:cs312-w16@ENGR.ORST.EDU


System Administration Handbook (4th Edition) by Evi Nemeth et al

Measurable Student Learning Outcomes

  1. Design a configuration for multiple machines to achieve a specific task.
  2. Demonstrate how to install an operating system, partition disk space, add and remove network services, connect to a network, and validate system performance.
  3. Demonstrate how to manipulate user accounts across multiple machines working in concert, including adding/deleting users, checking disk space usage, changing passwords, tracking resource utilization, and tracking login frequency.

Measurable Student Learning Outcomes

  1. Demonstrate how to manipulate system processes, including listing processes, killing rogue processes, detecting high use processes, moving processing from foreground to background and changing process priority.
  2. Demonstrate how to start up, reboot, and shut down a collection of machines working in concert.
  3. Manipulate and change user permissions on files and directories for use with shared groups of collaborators.

Measurable Student Learning Outcomes

  1. Demonstrate package management and maintenance across multiple systems.
  2. Create programs that automate system administration tasks.
  3. Participate effectively in a team environment.

CS312 - Important Logistics

Be on time:

CS312 - Important Logistics


No Laptops:

Students with Disabilities

Accommodations are collaborative efforts between students, faculty and Disability Access Services (DAS). Students with accommodations approved through DAS are responsible for contacting the faculty member in charge of the course prior to or during the first week of the term to discuss accommodations. Students who believe they are eligible for accommodations but who have not yet obtained approval through DAS should contact DAS immediately at 737-4098.

Student Conduct

Why do we have this course?



System Administration

Systems Administrators

Systems Administrators

Systems Engineers

DevOps Engineers

Release Engineers

DevOps History

Devops Introduction

What is it?

A software development method that stresses communication, collaboration and integration between software developers and information technology (IT) operations professionals. [Wikipedia]

Definition of Devops


Chef, a configuration management tool

Jenkins is used for Continuous Integration

The Agile Approach


That is, while there is value in the items on the right, we value the items on the left more.

Adapting Agile to Ops

Better Tools enable Devops

Explosion of new tools over the past few years:

  • Release tools (jenkins, travis-ci, etc)
  • Config Management (puppet, chef, ansible, cfengine)
  • Orchestration (zookeeper, mesos)
  • Monitoring & Metrics (statsd, graphite, etc)
  • Virtualization & containerization (AWS, Openstack, vagrant, docker, CoreOS)

It's not NoOps

A (Very) Brief History of Linux

Ken Thompson


Photo by Japan Foundation

Ken Thompson

Douglas McIlroy


Photo by Denise Panyik-Dale, CC BY 2.0, http://www.flickr.com/photos/dpanyikdale/5740011186/

Douglas McIlroy

Richard Stallman


Photo by Sam Williams, licensed under the GFDL, http://upload.wikimedia.org/wikipedia/commons/e/e1/Free_as_in_Freedom.jpeg

Richard Stallman

Linus Torvalds

Linus Torvalds



Please read the following section by 1/8: