We may earn an affiliate commission when you visit our partners.
Course image
Jeremy Hajek

This course will cover the fundamental concepts and philosophy behind free and open source software (FOSS). The course will discuss open source and free software licensing; open source business strategies and impact; FOSS utilization in the enterprise; and development methodologies. Students will learn to set up and configure an industry-standard open source operating system, including system installation, and basic system administration; system architecture; package management; command–line commands; devices, filesystems, and the filesystem hierarchy standard. Also addressed are applications, shells, scripting and data management; user interfaces and desktops; administrative tasks; essential system services; networking fundamentals; and security, as well as support issues for open source software. Multiple distributions are covered with emphasis on the two leading enterprise distribution families.

Read more

This course will cover the fundamental concepts and philosophy behind free and open source software (FOSS). The course will discuss open source and free software licensing; open source business strategies and impact; FOSS utilization in the enterprise; and development methodologies. Students will learn to set up and configure an industry-standard open source operating system, including system installation, and basic system administration; system architecture; package management; command–line commands; devices, filesystems, and the filesystem hierarchy standard. Also addressed are applications, shells, scripting and data management; user interfaces and desktops; administrative tasks; essential system services; networking fundamentals; and security, as well as support issues for open source software. Multiple distributions are covered with emphasis on the two leading enterprise distribution families.

Pre-Requisites: None

Required Textbook: Releases · https://github.com/jhajek/Linux-text-book-part-1/releases/ PDF and ePub available (free for life with updates)

Other Required Materials:

Software Requirements: VirtualBox for Intel based Windows and Intel Macs

Parallels Pro for M1/M2 Macs

50% off Parallels Pro 1 year subscription license for Education -> https://www.parallels.com/landingpage/pd/education/

Enroll now

What's inside

Syllabus

Module 1: The History and Philosophy of Unix and Linux Free and Opensource Software
Welcome to Introduction to Opensource Operating Systems! Module 1 offers a deep dive into the rich history of the Unix operating system, covering seven pivotal periods from its inception in 1969 up to today. Students will explore the developments and the philosophy that shaped Unix during its formative years and how it has continued to influence modern computing paradigms. Emphasis is placed on recognizing the seminal contributions of Unix's key architects and contributors, providing an understanding of the system's enduring legacy in today's technological landscape.
Read more
Module 2: Navigating the Linux Desktop
This module provides a comprehensive exploration of the Linux ecosystem, beginning with the function and features of package managers and App stores, which streamline software installation and management. Students will understand the roles of window managers and desktop environments in shaping user interaction, as well as the intricacies of display protocols like X and Wayland. The course demystifies the various types of desktop Linux, delves into the practicalities of compiling source code, and explains the concept and diversity of Linux distributions. Comparing the major distribution families, the module also equips students with the skills to utilize virtualization platforms for deploying different Linux distributions.
Module 3: Introduction to the Linux Editors and Shell Scripts
Module 3 turns the spotlight on the powerful capabilities of the Linux command line, providing learners with the expertise to leverage the significance of shell meta-characters in expanding shell functionalities. This shows the power of text commands and the major concept of shell scripting in Linux. We will introduce you to the grep command for intricate search operations and replacements using shell meta-characters as well. Students will grasp the essentials of input/output redirection and using Linux pipes. We will be focusing on the nuances of standard input, output, and error. Key concepts such as file permissions, and security nomenclature will be explained. The course also covers the role of the Linux Shell within the OS and the use of absolute and relative paths, all while demystifying the structure of the Linux Filesystem for efficient system navigation and management.
Module 4: Intermediate Shell Scripting
Module 4 empowers students with the skills to automate routine tasks in Linux using shell scripts. We will incorporate positional parameters and control structures to give your scripts logic. Students will learn to declare and understand the scope of system environment variables. The course also explains the manipulation of the system PATH, modifications to user profiles, and the automation of tasks through shell scripting. Additionally, students will become familiar with the capabilities of the vi(m) editor, and distinguish between stream editors and text editors, laying a solid foundation for advanced text processing and system administration in a Linux environment.
Module 5: Introduction to System Administration
Module 5 provides a deep understanding of Linux system administration, starting with the sudo command's crucial role in maintaining root user security. Students will learn the processes for creating and managing user accounts, as well as the significance and analysis of system logs for maintaining system health and security. The coursework introduces essential system tools for ongoing monitoring and reporting, and presents the "3Ps" (Path, Permission, and Dependencies) troubleshooting methodology. Additionally, the module covers secure remote access techniques, ensuring students can administer Linux systems effectively while upholding stringent security standards.
Module 6: Introduction to Managing Linux Processes and Filesystems
This module focuses on the Linux boot process by breaking it down into its three fundamental phases, providing a clear explanation of what occurs during each stage. Students will compare the traditional SysVinit system with the newer systemd init system, gaining insight into their differences, functionalities, and service management techniques. Focusing on system tools for process examination, this module clarifies the purposes of Linux systemd service files. It also delves into the structure and management of filesystems, including a comparison of different Linux filesystems, the mechanics of virtual disk creation and attachment, and the fundamentals of Logical Volume Management. Additionally, the course covers efficient command-line tools for compression, archiving, disk utilization, and mounting, equipping students with practical skills for comprehensive system management.
Module 7: Introduction to Networking, Databases, and Web Technologies
This module equips students with the essential knowledge to configure, manage, and troubleshoot basic network settings on Linux operating systems. The course also provides introductions to configuring and deploying major webserver platforms. Students will learn to install and configure popular opensource SQL databases, gaining practical database management skills. And lastly, this module covers the selection and configuration of desktop-based firewalls and Linux networking.
Module 8: Introduction to Automation
This module addresses the critical role of automation in Linux systems, outlining the challenges it solves by streamlining and simplifying complex tasks. Students will be introduced to the current landscape of orchestration and automation tools, with a particular focus on the contributions of Hashicorp to the field. They will learn the processes for automating the installation of Linux operating systems and discover solutions for deploying complete applications using automation tools. Additionally, the course delves into the concept of secrets management within automated environments, teaching students how to securely handle sensitive information in an automated and scalable manner.
Summative Course Assessment
This module contains the summative course assessment that has been designed to evaluate your understanding of the course material and assess your ability to apply the knowledge you have acquired throughout the course. Be sure to review the course material thoroughly before taking the assessment.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Delves into the history, philosophy, and core concepts of free and open source software
Covers topics ranging from open source licensing to business strategies and enterprise utilization of free and open source software
Develops foundational knowledge and skills in setting up, configuring, and administering an industry-standard open source operating system
Provides hands-on experience with command-line commands, system architecture, package management, and filesystem management
Examines advanced topics such as networking fundamentals, security, and support issues for open source software
Utilizes a free textbook and offers software requirements that are accessible to students

Save this course

Save Introduction to Open Source Operating Systems - Master's to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Open Source Operating Systems - Master's with these activities:
Refresh System Administration
Strengthen your understanding of Linux system administration before the course begins.
Browse courses on System Administration
Show steps
  • Review Linux System Fundamentals
  • Practice Basic System Administration Tasks
Linux Notes
Build a foundation of knowledge by creating notes on Linux commands, concepts, and best practices.
Browse courses on Knowledge Organization
Show steps
  • Gather Information on Linux
  • Organize and Structure Notes
  • Review and Update Notes Regularly
Set Up Your Own Linux Environment
Build a strong foundation by installing your own Linux environment. Start by installing a virtualization software. Follow the steps in the official documentation provided to you in the Pre-Requisite Materials.
Browse courses on Linux
Show steps
  • Download VirtualBox on your computer.
  • Configure the virtual machine by following the steps on the official VirtualBox documentation.
  • Install your Linux OS of choice on the virtual machine.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Get Familiar With Your Linux Operating System
Explore the depths of your Linux OS's capabilities. Use the official documentation to get familiar with the layout.
Browse courses on Linux
Show steps
  • Familiarize yourself with the desktop interface, including the system tray, menus, and icons.
  • Learn how to use the command line interface (Terminal) to navigate the file system.
  • Discover the different applications that come pre-installed with your Linux distribution.
Refine Linux Commands
Improve your familiarity with the Linux command line by practicing commands regularly.
Browse courses on Linux Commands
Show steps
  • Practice Navigating the Linux File System
  • Practice Creating and Deleting Files and Directories
  • Practice Editing Files with vi or nano
  • Practice Using Basic Linux Commands
Open Source Projects
Enhance your Linux skills and gain practical experience by working on open-source projects.
Browse courses on Open Source Projects
Show steps
  • Research Open Source Tools and Applications
  • Install and Configure Open Source Tools
  • Build and Implement Open Source Projects
Practice Linux Networking
Develop proficiency in Linux networking by practicing common network tasks.
Browse courses on Linux Networking
Show steps
  • Configure a Basic Network
  • Connect to a Remote Host
  • Configure a Network Service
Contribute to Open Source
Apply your Linux skills in a real-world environment by contributing to open-source projects.
Browse courses on Community Engagement
Show steps
  • Research Open Source Projects
  • Identify a Project to Contribute To
  • Contribute Code or Documentation

Career center

Learners who complete Introduction to Open Source Operating Systems - Master's will develop knowledge and skills that may be useful to these careers:
Systems Administrator
Systems Administrators are responsible for the day-to-day operation and maintenance of computer systems. A background in open source operating systems is essential for Systems Administrators, as it provides the knowledge and skills needed to manage and maintain these systems. This course can help Systems Administrators to build a strong foundation in open source operating systems, which can be helpful for working with and maintaining these systems.
Cloud Engineer
Cloud Engineers are responsible for the design, implementation, and management of cloud computing systems. A background in open source operating systems can be useful for Cloud Engineers, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Cloud Engineers to build a foundation in open source operating systems, which can be helpful for working with and developing software for these systems.
Security Analyst
Security Analysts are responsible for protecting computer systems from security threats. A background in open source operating systems can be useful for Security Analysts, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Security Analysts to build a foundation in open source operating systems, which can be helpful for working with and securing these systems.
Network Administrator
Network Administrators are responsible for the design, implementation, and maintenance of computer networks. A background in open source operating systems can be useful for Network Administrators, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Network Administrators to build a foundation in open source operating systems, which can be helpful for working with and managing these systems.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. A background in open source operating systems can be useful for DevOps Engineers, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help DevOps Engineers to build a foundation in open source operating systems, which can be helpful for working with and developing software for these systems.
IT Manager
IT Managers are responsible for the planning, implementation, and management of information technology systems. A background in open source operating systems can be useful for IT Managers, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help IT Managers to build a foundation in open source operating systems, which can be helpful for managing and maintaining these systems.
Network Engineer
Network Engineers are responsible for the design, implementation, and maintenance of computer networks. A background in open source operating systems can be useful for Network Engineers, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Network Engineers to build a foundation in open source operating systems, which can be helpful for working with and managing these systems.
Computer Support Specialist
Computer Support Specialists are responsible for providing technical support to computer users. A background in open source operating systems can be useful for Computer Support Specialists, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Computer Support Specialists to build a foundation in open source operating systems, which can be helpful for providing support to users of these systems.
Computer Systems Analyst
Computer Systems Analysts are responsible for designing, developing, and implementing computer systems. A background in open source operating systems can be useful for Computer Systems Analysts, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Computer Systems Analysts to build a foundation in open source operating systems, which can be helpful for working with and developing these systems.
Data Scientist
Data Scientists are responsible for collecting, analyzing, and interpreting data to identify patterns and trends. A background in open source operating systems can be useful for Data Scientists, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Data Scientists to build a foundation in open source operating systems, which can be helpful for working with and analyzing data on these systems.
Software Test Engineer
Software Test Engineers are responsible for testing software to ensure that it meets requirements. A background in open source operating systems can be useful for Software Test Engineers, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Software Test Engineers to build a foundation in open source operating systems, which can be helpful for testing software on these systems.
Software Engineer
Software Engineers design, develop, test, and maintain software systems. A background in open source operating systems can be useful for Software Engineers, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Software Engineers to build a foundation in open source operating systems, which can be helpful for working with and developing software for these systems.
Database Administrator
Database Administrators are responsible for the design, implementation, and maintenance of databases. A background in open source operating systems can be useful for Database Administrators, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Database Administrators to build a foundation in open source operating systems, which can be helpful for working with and managing databases on these systems.
Web Developer
Web Developers are responsible for the design, development, and maintenance of websites. A background in open source operating systems can be useful for Web Developers, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Web Developers to build a foundation in open source operating systems, which can be helpful for working with and developing websites on these systems.
Information Security Analyst
Information Security Analysts are responsible for protecting computer systems from security threats. A background in open source operating systems can be useful for Information Security Analysts, as it can provide a deep understanding of the underlying principles of operating systems and how they work. This course can help Information Security Analysts to build a foundation in open source operating systems, which can be helpful for working with and securing these systems.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Open Source Operating Systems - Master's.
Comprehensive guide to CentOS 8 administration. It covers everything from basic concepts like package management to more advanced topics like security and performance tuning.
Comprehensive guide to Ubuntu Server. It covers everything from basic concepts like installation to more advanced topics like security and performance tuning.
This classic book provides a comprehensive overview of the Unix programming environment. It covers everything from basic concepts like files and processes to more advanced topics like networking and security.
Comprehensive guide to the Linux programming interface. It covers everything from basic concepts like files and processes to more advanced topics like networking and security.
Classic guide to advanced programming in the UNIX environment. It covers everything from basic concepts like files and processes to more advanced topics like networking and security.
Classic guide to UNIX network programming. It covers everything from basic concepts like sockets and protocols to more advanced topics like client-server programming and network security.
Comprehensive guide to writing Linux device drivers. It covers everything from basic concepts like kernel modules to more advanced topics like interrupt handling and power management.
Comprehensive guide to embedded Linux. It covers everything from basic concepts like BSPs and bootloaders to more advanced topics like device drivers and power management.
Classic guide to the UNIX philosophy. It covers everything from basic concepts like the Unix Way to more advanced topics like security and debugging.
Concise guide to the Linux kernel. It covers everything from basic concepts like process management to more advanced topics like kernel hacking.
Comprehensive guide to Linux administration. It covers everything from basic concepts like user management to more advanced topics like security and performance tuning.
Comprehensive guide to Debian administration. It covers everything from basic concepts like package management to more advanced topics like security and performance tuning.
Comprehensive guide to Linux. It covers everything from basic concepts like files and processes to more advanced topics like networking and security.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Open Source Operating Systems - Master's.
Introduction to Open Source Operating Systems - Bachelor's
Most relevant
Intel® Network Academy - Network Transformation 102
Most relevant
Enterprise GIS Made Easy
Most relevant
Using Open Source Tools to Create an Enterprise GIS
Getting Started with MariaDB
PCB design with KiCad - updated for KiCad 7
Tomcat Administration Deep Dive
Number Sense for Primary Education with PhET Simulations
Open Source Software Development: Linux for Developers
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser