Training > System Administration > Introduction to Open Source Development, Git and Linux (LFD201)
Image Image Training Course

Introduction to Open Source Development, Git and Linux (LFD201)

Learn how to develop open source software. This course focuses on open source software, an introduction to Linux systems and the use of Git, the revision control system.

Image
Who Is It For

This course is for developers with experience working on any operating system who want to understand the basics of open source development. Experience with the command line is not necessary, but would be helpful.
read less read more
Image
What You’ll Learn

The course surveys how open source software works, including advantages of using it, methods of working in OSS communities, governance models and licensing choices. It delves into Linux systems, including installation, desktop environments, text editors, important commands and utilities, command shells and scripts, file systems and compiling software. It also provides a thorough introduction to Git, the source control system that arose out of the Linux kernel community, that enables widely distributed development to operate efficiently.
read less read more
Image
What It Prepares You For

This course will prepare you to work comfortably and productively in open source development communities and Linux environments. It shows you have mastered important Linux methods and requisite tools, can use Git to create new repositories or clone existing ones, commit new changes, review revision histories, examine differences with older versions, work with different branches, merge repositories, and work with a distributed development team.
read less read more
Course Outline
Image Chapter 1. Course Introduction
Image Chapter 2. Open Source Software (OSS)
Image Chapter 3. Why Use Open Source Software?
Image Chapter 4. Examples of Successful OSS Projects
Image Chapter 5. How to Work in OSS Projects
Image Chapter 6. Continuous Integration
Image Chapter 7. OSS Licensing and Legal Issues
Image Chapter 8. Leadership vs Control and Why Projects Fail
Image Chapter 9. GitHub and Other Hosting Providers
Image Chapter 10. Linux and the Operating System
Image Chapter 11. Graphical Environments and Interfaces
Image Chapter 12. System Administration
Image Chapter 13. Getting Help
Image Chapter 14. Text Editors
Image Chapter 15. Shells, bash, and the Command Line
Image Chapter 16. Filesystem Layout, Partitions, Paths and Links
Image Chapter 17. System Initialization
Image Chapter 18. Memory
Image Chapter 19. Networking
Image Chapter 20. Command Details
Image Chapter 21. Users and Groups
Image Chapter 22. Linux Filesystems
Image Chapter 23. Essential Command Line Tools
Image Chapter 24. Bash Scripting
Image Chapter 25. Files and Filesystems
Image Chapter 26. Compiling, Linking, and Libraries
Image Chapter 27. Java Installation and Environment
Image Chapter 28. Building RPM and Debian Packages
Image Chapter 29. Introduction to Git
Image Chapter 30. Git Installation
Image Chapter 31. Git and Revision Control Systems
Image Chapter 32. Using Git: An Example
Image Chapter 33. Git Concepts and Architecture
Image Chapter 34. Managing Files and the Index
Image Chapter 35. Commits
Image Chapter 36. Branches
Image Chapter 37. Diffs
Image Chapter 38. Merges
Image Chapter 39. Managing Local and Remote Repositories
Image Chapter 40. Using Patches
Image Chapter 41. Advanced Git Interfaces: Gerrit

Prerequisites
To make the most of this course, you will need to have:

  • Experience as a developer on any operating system
  • Experience in working at the command line is not necessary, but would be helpful
Lab Info
Lab exercises in this course are designed to work either on native hardware, or using a virtual machine (VM), under a hypervisor, such as those in the KVM, VMWare, or Virtual Box families. Detailed instructions to set up your lab environment are provided in the course.
Reviews
Jun 2024
The course content was comprehensive and current. Although I was very familiar with the topics covered in this course, I learned several new things.
May 2024
A very comprehensive coverage of open source development on Linux.
Apr 2024
I really liked this course! It's well-structured, with a clear path from start to finish. The content is straightforward and gets progressively more challenging, which kept me engaged and motivated. Overall, it's a great choice for anyone wanting to improve their skills in open-source software development, Linux, and Git.
Mar 2024
Super comprehensiveness.
Feb 2024
The labs were very helpful.
Sep 2023
I like how it was rather terse and easily absorbed.
Jul 2023
This course covers most of what a newcomer to Linux and development needs.
Apr 2023
I like the way course content is provided and also labs that give practical experience.
Apr 2023
I've used Linux style systems off and on for decades so a lot of it served as a refresher, but it still gave a more comprehensive understanding of many aspects, as well as a brief taster of some new things.
Jan 2023
I liked the demonstration videos and exercises.
Sep 2023
I like how it was rather terse and easily absorbed.
Jul 2023
This course covers most of what a newcomer to Linux and development needs.
Apr 2023
I like the way course content is provided, and also labs that give practical experience.
Apr 2023
I've used *nix style systems off and on for decades, so a lot of it served as a refresher, but it still gave a more comprehensive understanding of many aspects, as well as a brief taster of some new things.
Jan 2023
I liked the demonstration videos and exercises.