Welcome to the Linux System Administration DeCal!

Fall 2020

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.


Beginner Track Calendar

Week Date Lecture Title Lecturer Lab Lab Due Date
0 Tue. 09/08 Infosession (slides) - Lab 0 Sat. 09/12
0 Thu. 09/10 Infosession (slides) - Lab 0 Sat. 09/12
1 Tue. 09/15 History of UNIX, intro to shell, FOSS (slides) Ben Cuan <bencuan> Lab b1 Tue. 09/22
2 Tue. 09/22 Core Shell (slides) Nikhil Jha <njha> Lab b2 Tue. 09/29
3 Tue. 09/29 Shell Scripting (slides) Richard Huang <rihu> Lab b3 Tue. 10/06
4 Tue. 10/06 Compiling, Distros, and Packaging (slides) Ethan Smith <ethanhs> Lab b4 Tue. 10/13
5 Tue. 10/13 Networking 101 (slides) Tony Lian <longlian> Lab b5 Tue. 10/20
6 Tue. 10/20 Processes (slides) Ryan Chan <rrchan> Lab b6 Tue. 10/27
7 Tue. 10/27 Services (slides) Kevin Mo <kmo> Lab b7 Thu. 11/05
8 Tue. 11/03 Security Fundamentals (slides) Stefan Kuklinsky <skuklinsky> Lab b8 Tue. 11/10
9 Tue. 11/10 Version Control and Backups (slides) Edric Xiang <exiang> Lab b9 Tue. 11/17
10 Tue. 11/17 Cloud, Containers, and Config Management (slides) Richard Huang <rihu> Lab b10 Tue. 12/15
11 Thu. 11/26 No Lecture - Thanksgiving Week - -
12 Thu. 12/03 TBD TBA -

Advanced Track Calendar

Week Date Lecture Title Lecturer Lab Lab Due Date
0 Tue. 09/08 Infosession (slides) - Lab 0 Sat. 09/12
0 Thu. 09/10 Infosession (slides) - Lab 0 Sat. 09/12
1 Thu. 09/17 Advanced Introduction to UNIX (slides) Bernard Zhao <bernardzhao> Lab a1 Thu. 09/24
2 Thu. 09/24 Packages (slides) Daniel Kessler <dkessler> Lab a2 Thu. 10/01
3 Thu. 10/01 DIY Linux Pre-Install (slides) Edric Xiang <exiang> Lab a3 Thu. 10/08
4 Thu. 10/08 Linux Post-Install (slides) Ben Cuan <bencuan> Lab a4 Thu. 10/15
5 Thu. 10/15 Processes and Services (slides) Christopher Cooper <cooperc> Lab a5 Thu. 10/22
6 Thu. 10/22 Networking 102 (slides) Abizer Lokhandwala <abizer> Lab a6 Thu. 10/29
7 Thu. 10/29 Networked Services (slides) Loren McIntyre <mcint> Lab a7 Thu. 11/05
8 Thu. 11/05 Config Management (slides) Ja (Thanakul) Wattanawong <jaw> Lab a8 Thu. 11/12
9 Thu. 11/12 Advanced Security (slides) Mathew Cha <mdcha> Lab a9 Thu. 11/19
10 Thu. 11/19 Virtualization, Containers, Distributed Architecture (slides) Benjamin Zhang <bzh> Lab a10 Tue. 12/15
11 Tue. 11/24 No Lecture - Thanksgiving Week - -
12 Thu. 12/03 TBD TBA -



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 14.


Lectures are scheduled for Tuesdays for the Beginner section and Thursdays for the Advanced section, from 8 to 9pm. Due to the online nature of this semester, we will hold lectures over Zoom or a comparable streaming platform (to be announced). Additionally, lecture recordings will be made available on this website.

While we normally mandate attendance, this will no longer be a requirement for Fall 2020 given the remote nature of the course. Nonetheless, students will be expected to view all lectures, as knowledge of their content will be assumed in lab assignments.

Lecture will double as office hours for students to come in and ask questions about lab work or covered material. 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.


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 due by 8pm on Thursday, 9/24 which is when Lecture a2 will be held. 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.

You must complete all labs to receive credit for taking the course. However, we will allow two unexcused late labs to be turned in before the semester ends.


Will the DeCal be offered in the Spring 2021 semester?

It is very likely that the DeCal will be back next semester! Fill out the interest form to get updates!

How does enrollment work?

When we are open for enrollment, Lab 0 will be published on this site. We will send enrollment codes to those who complete Lab 0 by the deadline. Do note that we often have more applicants than space in the course, so getting an enrollment code is unfortunately not guaranteed.

How do I know which track is best for me?

Beginner Track is intended for those who have little to no prior experience of using Linux-based systems. We will be providing an overview to several important concepts in systems administration, such as networking, shell scripting, version control, and security. It’s perfectly OK if you’ve never worked with or heard of these concepts before- but if you’re familiar with them, we recommend you opt for the advanced track. Overall, we welcome everyone to this track!

Advanced Track is intended for those who have used Linux-based systems before and are at least somewhat familiar with some of the concepts mentioned in the beginner track description above. While there are no hard/enforced prerequisites, we do recommend that you have experience with one or more of the following:

If you are still unsure about which track to choose, you can email us at decal@ocf.berkeley.edu.

I don’t want units / wasn’t accepted / am not a student. Can I audit this course?

We are working hard to get all of our materials online this semester for everyone to access! Since we are no longer bound by physical constraints, feel free to attend any of our scheduled lectures or complete any of the labs on your own. (You will need your own Linux VM though- you can install one locally or get one from a provider such as DigitalOcean.)

I’m stuck on a lab/concept! Where can I find help?

The best way to get support with course content is to either join our Slack channel at #decal-general, our Discord channel at #decal-general, or ask us during scheduled lecture times.

I have another question!

Email us at decal@ocf.berkeley.edu.

Course Staff

Picture of Stefan Kuklinsky

Stefan Kuklinsky Facilitator

Junior CS major. Looking forward to teaching this semester!

Picture of Christopher Cooper

Christopher Cooper Head Facilitator

sentient table learning to tame computers

Picture of Bernard Zhao

Bernard Zhao Head Facilitator

They tryna be cray

Picture of Ben Cuan

Ben Cuan Head Facilitator

your friendly neighborhood panda

Picture of Andy Lo

Andy Lo Facilitator

reincarnation of wittl here to bring balance to the universe

Picture of Tony Lian

Tony Lian Facilitator

This person has existed and hopefully is existing in the world.

Picture of Frank Dai

Frank Dai Facilitator

I'm the one who wears the 12-year old penguin costume

Picture of Ja (Thanakul) Wattanawong

Ja (Thanakul) Wattanawong Facilitator

master of copying commands from the internet

Picture of Aditya Srivastava

Aditya Srivastava Facilitator

the sleeper must awaken

Picture of Kevin Kuehler

Kevin Kuehler Secret Agent

i use arch btw

Picture of Ning Zhang

Ning Zhang Facilitator

A very average person

Picture of Ethan Smith

Ethan Smith Facilitator

Doer of things

Picture of Rachel Gregory

Rachel Gregory Facilitator

i dont do much but im here anyways

Picture of Liam Porr

Liam Porr Facilitator

None of these things are comprehensible to you

Picture of George Lee

George Lee Facilitator

The inner machinations of my mind are an enigma

Picture of Mathew Cha

Mathew Cha Guest Lecturer

Resident OCF weirdo.

Picture of Richard Huang

Richard Huang Facilitator

Apparently penguins do have knees.

Picture of Benjamin Zhang

Benjamin Zhang Facilitator