This course will cover the basics of setting up and administering a production-quality Linux server environment. By the end of this course, we expect you to:
The course will be taught in two sections: a “Beginner” section for students with minimal background in GNU/Linux or system administration, and an “Advanced” section for students with more experience.
While we expect many students will have a CS background, the only real prerequisite is a desire to learn about new and unfamiliar technologies, which is a critical skill for sysadmins. The Beginner section has been designed to introduce new users to Linux, and the Advanced section has been designed to give more experienced users a taste of what Linux is capable of.
Week | Date | Lecture Title | Lecturer | Lab | Lab Due Date |
---|---|---|---|---|---|
0 | Tue. 09/03 | Infosession | Lab 0 | Sat. 09/07 | |
0 | Thu. 09/05 | Infosession | Lab 0 | Sat. 09/07 | |
1 | Tue. 09/10 | History of UNIX, intro to shell, FOSS | Andy Lo <andylo> | Lab b1 | Tue. 09/17 |
2 | Tue. 09/17 | Core Shell | Stefan Kuklinsky <skuklinsky> | Lab b2 | Tue. 09/24 |
3 | Tue. 09/24 | Shell Scripting | Bernard Zhao <bernardzhao> | Lab b3 | Tue. 10/01 |
4 | Tue. 10/01 | Compiling, Distros, and Packaging | Ethan Smith <ethanhs> | Lab b4 | Tue. 10/08 |
5 | Tue. 10/08 | Networking 101 | Tony Lian <longlian> | Lab b5 | Fri. 10/18 |
6 | Tue. 10/15 | Processes | Rachel Gregory <regex> | Lab b6 | Tue. 10/22 |
7 | Tue. 10/29 | Services | Ryan Chan <rrchan> | Lab b7 | |
8 | Tue. 10/29 | Security Fundamentals | Ning Zhang <zhangning> | Lab b8 | Tue. 11/05 |
9 | Tue. 11/05 | Version Control and Backups | Liam Porr <wporr> | Lab b9 | Tue. 11/12 |
10 | Tue. 11/12 | Cloud, Containers, and Config Management | Ja (Thanakul) Wattanawong <jaw> | Lab b10 | Tue. 11/19 |
12 | Tue. 12/03 | Optional Guest Lecture: Careers in Tech | Ethan Jackson | - |
Week | Date | Lecture Title | Lecturer | Lab | Lab Due Date |
---|---|---|---|---|---|
0 | Tue. 09/03 | Infosession | Lab 0 | Sat. 09/07 | |
0 | Thu. 09/05 | Infosession | Lab 0 | Sat. 09/07 | |
1 | Thu. 09/12 | Advanced Introduction to UNIX | Mathew Cha <mdcha> | Lab a1 | Thu. 09/19 |
2 | Thu. 09/19 | Packages | Mathew Cha <mdcha> | Lab a2 | Mon. 09/30 |
3 | Thu. 09/26 | DIY Linux Pre-Install | Christopher Cooper <cooperc> | Lab a3 | Thu. 10/03 |
4 | Thu. 10/03 | Linux Post-Install | Ethan Smith <ethanhs> | Lab a4 | Thu. 10/17 |
5 | Thu. 10/10 | Lecture Cancelled for Power Outage | - | ||
6 | Thu. 10/17 | Processes and Services | keur | Lab a6 | |
7 | Thu. 10/24 | Guest Lecture: Developing at Scale | ldw | - | |
8 | Thu. 10/31 | Networking 102 | abizer | - | |
9 | Thu. 11/07 | Networked Services | jvperrin | - | |
10 | Thu. 11/14 | Config Management | Frank Dai <fydai> | Lab a10 | |
11 | Thu. 11/21 | Advanced Security | Mathew Cha <mdcha> | Lab a11 | |
12 | Tue. 12/03 | Optional Guest Lecture: Careers in Tech | Ethan Jackson | - | |
12 | Thu. 12/05 | Virtualization, Containers, Distributed Architecture | Brian Sang <baisang> | Lab a12 |
This is a 2 unit DeCal. Since it is a DeCal, the course is P/NP. You must attend an infosession and complete Lab 0 to apply. If you are selected for the course, we will send you a course enrollment code by September 9.
Lectures are scheduled for Tuesdays for the Beginner section and Thursdays for the Advanced section, from 8 to 9pm the OCF Lab, located at 171 MLK (MLK basement down the hall from the student store). Attendance is mandatory, with two allowed unexcused absences. Some other conflicts, such as exams, may be excused if you provide prior notice. Please only come to the lab on the day corresponding to the section you are in.
Lecture will double as office hours for students to come in and ask questions about the lab work. The one-hour “lecture” slot will include some lecturing but will also include time to to work on the lab assignment with the help of present facilitators. Note that we only have 30 computers in the lab, but 40 people are enrolled in each course, so please bring a laptop if you can.
The primary assignment in this course will be weekly lab work. Labs are designed to be be significantly hands-on. You will be working on real systems, configuring, and fixing things, setting up services, and so on.
Each lecture corresponds with a lab, labeled by a “b” or “a” (for Beginner or Advanced) and the week number. Except for b1 and a1, labs will general be released about a week ahead of the corresponding lecture. You are highly encouraged to look over the lab, and try to start it, before coming to lecture each week. This will allow you to better utilize the help of the facilitators, and will help you understand the lecture in a concrete way.
Each lab will be due before the following lecture. For example, lab a1 will be released about a week before lecture a1. Lecture a1 will be on Sept 13. Then lab a1 will be due before lecture a2 (that is, Sept 20 at 8pm). Please stay on top of lab work! If extenuating circumstances prevent you from completing your lab on time, please let us know as soon as possible and we will try to be accommodating. We expect that you turn in all labs on time, but allow two unexcused late labs to be turned in before the semester ends.
sophomore studying computer science
sentient table learning to tame computers
They tryna be cray
reincarnation of wittl here to bring balance to the universe
This person has existed and hopefully is existing in the world.
I'm the one who wears the 12-year old penguin costume
ah, yes. enslaved silicon
the sleeper must awaken
i use arch btw
A very average person
Doer of things
i dont do much but im here anyways
None of these things are comprehensible to you
The inner machinations of my mind are an enigma
Resident OCF weirdo.