Advanced Topics of Linux Administration
FIT-ILIAcad. year: 2019/2020
Students attending the course obtain hands-on experience with modern Linux systems. The course starts with the process of selecting a Linux distribution suitable for a certain planned scenario of its usage. Students install a Linux system into a virtual environment that can be safely used for learning and experimenting with system configuration and with an opportunity to quickly reprovision a broken system. Students obtain a deeper knowledge and practical experience in the broader area of Linux system administration topics covering installation, configuration, management, and security. A part of the course is dedicated to virtualization and later focuses on utilization of Linux containers for running applications. All individual topics are used in a complex scenario focused on a deployment of an application and service using Linux containers at the end of a semester.
Learning outcomes of the course unit
Students will acquire knowledge and hands-on experience of modern technologies for GNU/Linux that are used in complex enterprise environments. Using these technologies, students will be able to design and implement solutions based on GNU/Linux servers for various application scenarios of such servers. The extent of the acquired knowledge corresponds to the level of Red Hat certifications.
Improved knowledge of operating systems and their administration.
User-level proficiency in the GNU/Linux operating system.
Positive attitude towards UNIX-based systems.
Recommended optional programme components
Recommended or required reading
Vermeulen, S.: SELinux Cookbook, Packt Publishing, 2014.
Negus, C., Bresnahan, C.: Linux Bible, Wiley, 8th ed., 2012.
Nemeth, E., Snyder, G., Hein, T.R., Whaley, B.: UNIX and Linux System Administration Handbook, Prentice Hall, 4th ed., 2010.
Vermeulen, S.: SELinux System Administration, Packt Publishing, 2013.
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Points for both the mid-term assignment and the final practical test will be assigned based on an evaluation of the systems or their components installed and configured by the students.
To successfully pass the course, a student needs to get at least 50 points in total.
Language of instruction
The course covers advanced topics of administration of Linux/Unix operating systems as well as services typically running on such systems. The course puts emphasis on practical training of administration skills and problem solving.
Specification of controlled education, way of implementation and compensation for absences
The gained knowledge and experience are evaluated by a mid-semester assignment covering the contents of the course (20 points) and further through a final practical test (80 points). The practical test has the form of having to install and configure a system according to some predefined requirements in a given time limit.
Type of course unit
Exercise in computer lab
26 hours, compulsory
Teacher / Lecturer
Introduction to Linux distributions, virtualization of a system, and installation of a Linux OS.
Managing and troubleshooting system boot and services.
Software package management on Linux systems.
Creation and basic management of storage for OS, application, and user data
Cryptography in GNU/Linux and secured communication.
Disk encryption and data backup.
Increasing system security through SELinux.
Network management, security practices, and troubleshooting.
Creation and management of Linux Containers.
Configuration management and monitoring of systems.
Advanced systemd topics.
Designing a solution for complex Linux usage scenarios.
13 hours, compulsory
Teacher / Lecturer
Installation and configuration of virtual machines running Linux system.
Creation of container images and deployment of custom Linux containers.
Configuration of basic disc encryption and data backup solution.
System service management using systemd.
Creation of a file system on top of LVM and software RAID.
Design of a solution for the deployment of a containerized application.