Curriculum
- 1 Section
- 43 Lessons
- 4 Days
Expand all sectionsCollapse all sections
- Topics43
- 1.1Introduction Objectives and Audience The Linux Foundation Linux Foundation Training Certification Programs and Digital Badging Where Does the Software Come From? Is it Difficult to Migrate to Linux? Migration Considerations Migration Aids and Documentation Scope and Coverage of System Administration Preparing Your System Procedures Things change in Linux Labs
- 1.2Open Source Software What is Open Source Software? What is Proprietary (Closed Source) Software? Pragmatism vs Idealism History of Open Source Software Open Source Governance Models Labs
- 1.3Why Use Open Source Software? Collaborative Development Security and Quality of Source Code Users: Flexibility Business: Collaborative Development Business: Marketing Education: El-Hi, Public Systems Education: University Developers: Greater Visibility Labs
- 1.4Examples of Successful OSS Projects Linux Kernel git Apache Python, Perl and Other Computer Languages TEX and LATEX GNU: gcc, gdb, etc X and Desktop Managers OpenStack, Kubernetes, and other Projects Labs
- 1.5How to Work in OSS Projects Overview on How to Contribute Properly Study and Understand the Project DNA Figure Out What Itch You Want to Scratch Identify Maintainers and Their Work Flows and Methods Get Early Input and Work in the Open Contribute Incremental Bits, Not Large Code Dumps Leave Your Ego at the Door: Don’t Be Thin-Skinned Be Patient, Develop Long Term Relationships, Be Helpful Labs
- 1.6Continuous Integration Why Continuous Integration? Continuous Delivery and Continuous Deployment Cost and Benefits Tools Example: Linux Kernel Continuous Integration Project The Continuous Delivery Foundation
- 1.7OSS Licensing and Legal Issues Restrictive vs Permissive Licensing FUD Software Patents Patents and Licenses Choosing a License Combining Licenses Labs
- 1.8Leadership vs Control and Why Projects Fail Leadership vs Control Loosen the Chains Mentoring Building Trust Why do many OSS projects fail Labs
- 1.9Respecting and Encouraging Diversity in OSS Diversity and Open Source Software Sex and Gender Identity National Origin, Geography and Language Religion and Politics Differences of Opinion Labs
- 1.10GitHub and Other Hosting Providers GitHub Public vs Private GUI vs command line Labs
- 1.11Linux and the Operating System Kernel vs Operating System and Tools History of Linux UNIX and Linux Linux Distributions Linux Standard Base (LSB) Labs
- 1.12Graphical Environments and Interfaces Graphical Layers X Window System Window Managers Desktop Managers Terminal Window Options Labs
- 1.13System Administration Installation Software Management and Packaging Upgrading and Patching User Directories, Environments, etc Logging Files Labs
- 1.14Getting Help Sources of Documentation man Pages info –help and help Graphical Interfaces Labs
- 1.15Text Editors Available Text Editors vi emacs Labs
- 1.16Shells, bash, and the Command Line Shells Shell Initialization Aliases Environment Variables Customizing the Command Line Prompt Special Characters Redirection Pipes Command Substitution and Expressions Labs
- 1.17Filesystem Layout, Partitions, Paths and Links Filesystem Layout Partitions Partitioning Considerations Paths Hard and Soft (Symbolic) Links Labs
- 1.18System Initialization System Boot System Initialization Labs
- 1.19Memory Memory Swap Threading Models Labs
- 1.20Networking Networking and Network Interfaces Labs
- 1.21Command Details Basic Commands and Utilities File Transfer Tools Monitoring and Performance Utilities Graphical Monitoring Tools Loading/Unloading Kernel Modules Device Management Managing System Services Labs
- 1.22Users and Groups Basics of Users and Groups Adding and Removing Users and Groups Files, Users and Permissions root (super) user, su and sudo Labs
- 1.23Linux Filesystems Filesystems and the VFS ext2, ext3, and ext4 Filesystems Journaling Filesystems btrfs Mounting Filesystems RAID LVM Labs
- 1.24Essential Command Line Tools Listing, Creating, Deleting and Renaming Files and Directories Finding Files: find and locate Finding Strings: grep String Substitution: sed Labs
- 1.25Bash Scripting Script Basics Conditionals Loops Functions Labs
- 1.26Files and Filesystems Types of Files Permissions and Access Rights Changing Permissions and Ownership Labs
- 1.27Compiling, Linking and Libraries gcc Other Compilers Major gcc Options Static Libraries Shared Libraries Linking To Libraries Debugging with gdb Labs
- 1.28Java Installation and Environment** Write Once and Use Anywhere? Installing Java on Linux Handling Multiple JREs and JDKs: the alternatives System Environment Variables and Class Paths Integrated Development Environments
- 1.29Building RPM and Debian Packages Why Use Package Management Packaging System Benefits Linux Distributions and Package Management RPM Creation The RPM spec File Details on RPM spec Sections RPM Dependencies Debian Package Creation Workflow Labs
- 1.30Introduction to GIT Revision Control Available Revision Control Systems Graphical Interfaces Documentation Labs
- 1.31Git Installation Binary Installation Installing from Source Labs
- 1.32Git and Revision Control Systems Converting Between Different Systems RCS and CVS Subversion git git and Distributed Development Labs
- 1.33Using Git: an Example Basic Commands A Simple Example Labs
- 1.34Git Concepts and Architecture Concepts Design Features Repositories Objects and Index Content vs Pathnames Committing vs. Publishing Upstream and Downstream Forking Labs
- 1.35Managing Files and the Index File Categories Basic File Commands Labs
- 1.36Commits Making a Commitment Identifiers and Tags Viewing the Commit History Reverting and Resetting Commits Tidying Repositories Who is to Blame? Bisecting Labs
- 1.37Branches What is a branch? Branch Names vs Tags Branch Creation Branch Checkout Getting Earlier File Versions Labs
- 1.38Diffs Differencing Files Diffing in Git Labs
- 1.39Merges What is Merging? Merge Commands Rebasing Labs
- 1.40Managing Local and Remote Repositories Working with Others Cloning Publishing Your Project Fetching, Pulling and Pulling Labs
- 1.41Using Patches Why Use Patches? Producing Patches Emailing Applying Patches Labs
- 1.42Advanced Git Interfaces: Gerrit Modes of Distributed Development Gerrit Review Process Labs
- 1.43Closing and Evaluation Survey Evaluation Survey
Open Source Software What is Open Source Software? What is Proprietary (Closed Source) Software? Pragmatism vs Idealism History of Open Source Software Open Source Governance Models Labs
Next