- Course Description
- After this Course
This course covers the basics of setting up and administering a production-quality Linux server environment. By the end of this course, we expect that you will…
- be comfortable using GNU/Linux
- understand how different parts of the OS work together, e.g. init, processes, daemons, filesystems, etc.
- understand basic networking on Linux
- have a good sense about maintaining system security
- understand system administration essentials
- get a practical taste of what sysadmins do in industry.
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.
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 February 5.
Official course communications will primarily be sent via email, and mirrored on the front page of the course website.
There are several ways you can get in contact with course facilitators:
- Send a message on #decal-general either on Slack or Discord. (best for conceptual or debugging help)
- Send a Slack/Discord private message to a facilitator. (best for personal/individual matters)
- Send an email to firstname.lastname@example.org. (best for prospective students and matters that need to go on official record)
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 offer pre-recorded lectures, posted weekly on this website. Lab sections and office hours will be held over Zoom at ocf.io/decalzoom.
While we normally mandate attendance, this will no longer be a requirement for Spring 2021 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.
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 the week before the corresponding lecture. You are highly encouraged to look over the lab, and try to start it, before coming to section each week. This will allow you to better utilize the help of the facilitators.
Each lab will be due by the Saturday, 11:59pm PST after the lab section unless otherwise stated. Labs (and lectures) will be released the prior Sunday, so you will have a week to complete them.
You must complete 10 labs to receive credit for taking the course. However, we will allow two unexcused late labs to be turned in before the semester ends.
In a typical semester, lectures are delivered live during the scheduled Tuesday and Thursday sections. However, due to the online nature of Spring 2021 we plan on converting these sections into lab sections, where facilitators will give additional information and demos related to the lab, and hold office hours to answer any questions that may arise. While attendance is not required, you are highly encouraged to attend since the information covered will make completing labs a shorter and more enjoyable experience.
It’s too early to say at this point. Please check back in several months to see if there are any updates!
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:
- Using Linux as a primary/secondary OS
- Using a package manager such as
- Writing scripts to automate basic tasks
- Basic networking (such as working with IP addresses)
If you are still unsure about which track to choose, you can email us at email@example.com.
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.)
The best way to get support with course content is to either ask in our Slack channel at #decal-general, Discord channel, or ask us during scheduled lecture times. Logistics questions are best suited for email (firstname.lastname@example.org).
Email us at email@example.com.
There’s no substitute for real-world experience. If you’d like to get experience in a low-risk but real-world setting, consider joining the OCF as a volunteer staff member. There, you’ll be able to put the things you learn in this course to use, and help other students while you’re at it. Best of all- there’s no application process! Just drop by and say hi :)