Semester: winter 2025/26
Lectures:
Wednesday, 9:00, S1 (czech student only) (Viktor Fuglík, Vojtěch Horký)
Wednesday, 14:00, SW1 (english student only) (Viktor Fuglík, Vojtěch Horký)
Labs:
Wednesday, 10:40, SU2 (Viktor Fuglík, Vojtěch Horký)
Thursday, 9:00, SW2 (Viktor Fuglík, Vojtěch Horký)
Page in SIS: NSWI106
Grading: Graded credit
Lectures:
Wednesday, 9:00, S1 (czech student only) (Viktor Fuglík, Vojtěch Horký)
Wednesday, 14:00, SW1 (english student only) (Viktor Fuglík, Vojtěch Horký)
Labs:
Wednesday, 10:40, SU2 (Viktor Fuglík, Vojtěch Horký)
Thursday, 9:00, SW2 (Viktor Fuglík, Vojtěch Horký)
Page in SIS: NSWI106
Grading: Graded credit
Monday labs are cancelled. If you are on the waiting list, choose the Wednesday (teaching in Czech) or Thursday lab (teaching in English).
Please, make sure you have activated your GitLab account before coming to the labs,
it uses your CAS/SIS username/password.
See this question
for troubleshooting (the Q/A is for a different course and other answers do not apply for NSWI106).
About this course
Linux is everywhere: it runs on supercomputers, embedded systems, IoT devices, mobile phones, laptops, spaceships, dashcams—you name it. It makes a great operating system to build your digital life around, and it is the platform of choice for computer science research. Companies from startups to multi-billion-dollar corporations rely on it for their day-to-day operations. This course explores what makes Linux tick, and how to manage Linux servers with confidence and security.
The course starts roughly where we left in Introduction to Linux.
You will learn:
- How to use and run virtual machines
- How to install a Linux-based server from scratch
- How to keep daemons in check with systemd
- How to use advanced file systems such as Btrfs and build powerful snapshot-based backups
- How to monitor a running system
- How to set up networking
- How to run various networked services (mail, DNS, web)
- … and much more!
Preliminary schedule
Week | Date | Topic | Materials and other links |
---|---|---|---|
1 | 29. 9. – 5. 10. 2025 | Course introduction | GitLab Forum; SSH refresher |
2 | 6. 10. – 12. 10. 2025 | Linux and virtualization | libvirt |
3 | 13. 10. – 19. 10. 2025 | Networking and server install | |
4 | 20. 10. – 26. 10. 2025 | Host management and routing | |
5 | 27. 10. – 2. 11. 2025 | Networking catch-up (no labs, no lectures) | |
6 | 3. 11. – 9. 11. 2025 | Graphical client and web server | |
7 | 10. 11. – 16. 11. 2025 | Dean’s day week (no labs, no lectures) | |
8 | 17. 11. – 23. 11. 2025 | DHCP and VPN server | |
9 | 24. 11. – 30. 11. 2025 | DNS server | |
10 | 1. 12. – 7. 12. 2025 | File server and backup | |
11 | 8. 12. – 14. 12. 2025 | E-mail server, part 1 | |
12 | 15. 12. – 21. 12. 2025 | E-mail server, part 2 | |
13 | 5. 1. – 11. 1. 2026 | What didn’t fit and conclusion |
Course completion
- The course must be completed by the end of the winter semester exam period
- Face-to-face meeting
- Submit a link to the completed wiki checklist available in the private student repository on GitLab via issue and arrange a date for a face-to-face meeting
- Plan at least a week in advance
- During the meeting, we will want to demonstrate that you are familiar with your infrastructure
- Prepare a short introduction to all the main parts and their functions
- Where does it run, what does it do, what challenges have you faced, etc.
- In practical terms, we will want to see that your infrastructure can “survive” a restart of the hypervisor or virtual machine or certain services, or even the termination or cancellation of a guest, its storage, or network in the hypervisor, and their re-launch
- We also expect a basic understanding of theoretical concepts, which we may ask about
- Checklist review and evaluation
- Submit a link to the completed wiki checklist available in the private student repository on GitLab via issue and arrange a date for a face-to-face meeting
- Brief discussion
- On a specified topic depending on the configuration