LFD301 Einführung in Linux, Open-Souce-Entwicklung und GIT
Ziele der Schulung
In dieser 4-tägigen Schulung „LFD301 Einführung in Linux, Open-Source-Entwicklung und GIT" lernen Sie, Ihre Karriere in der Linux-Entwicklung erfolgreich zu starten – die Nachfrage nach Linux-Entwicklern ist so hoch wie nie zuvor. Dieser Kurs führt Sie in die Welt der Linux-Entwicklung ein und vermittelt Ihnen den notwendigen Hintergrund sowie die praktische Ausbildung, um sicher mit Linux arbeiten zu können. Wenn Sie darüber nachdenken, in die Linux-Entwicklung einzusteigen, ist dies der ideale Einstiegskurs.
In diesem Kurs lernen Sie die Geschichte von Linux kennen und verstehen, was es von anderen UNIX-ähnlichen Betriebssystemen unterscheidet. Sie erhalten einen Überblick über die zentralen Bestandteile eines Linux-Systems und deren Anwendung. Darüber hinaus werden die Grundlagen der Systemadministration behandelt, darunter Benutzer- und Gruppenverwaltung, essenzielle Linux-Befehle, Dateisysteme, Sicherheit sowie weiterführende Themen. Weitere Inhalte umfassen Netzwerk- und Threading-Modelle, Aspekte des Kompilierens und der Nutzung von Bibliotheken sowie die Arbeit mit Java unter Linux und weitere praxisrelevante Entwicklungsaspekte.
Der Arbeitsmarkt für Linux-Entwickler ist derzeit sehr stark nachgefragt. Dieser Kurs bereitet Sie gezielt darauf vor, sich den Reihen professioneller Linux-Entwickler anzuschließen.
Zielgruppe Seminar
- Entwickler
Voraussetzungen
Dieser Kurs richtet sich an Teilnehmer, die bereits erfahrene Computeranwender eines anderen Betriebssystems sind, jedoch nur geringe oder keine Erfahrung in einer Linux-Umgebung haben.
Lernmethodik
Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.
Seminarinhalt
Einführung
- Ziele und Zielgruppe
- The Linux Foundation
- Urheberrecht und keine vertraulichen Informationen
- Linux Foundation Training
- Zertifizierungsprogramme und Digital Badging
- Woher kommt die Software?
- Ist es schwierig, auf Linux zu migrieren?
- Überlegungen zur Migration
- Hilfsmittel und Dokumentation zur Migration
- Umfang und Abdeckung der Systemadministration
- Vorbereitung Ihres Systems
- Abläufe
- Änderungen in Linux
Open Source Software
- Was ist Open Source Software?
- Was ist proprietäre (Closed Source) Software?
- Pragmatismus vs. Idealismus
- Geschichte der Open Source Software
- Open Source Governance-Modelle
Warum Open Source Software nutzen?
- Kollaborative Entwicklung
- Sicherheit und Qualität des Quellcodes
- Nutzer: Flexibilität
- Unternehmen: Kollaborative Entwicklung
- Business: Marketing
- Bildung: Schulen (K-12) / öffentliche Systeme
- Bildung: Universität
- Entwickler: Größere Sichtbarkeit
Beispiele erfolgreicher OSS-Projekte
- Linux Kernel
- git
- Apache
- Python, Perl und andere Programmiersprachen
- TeX und LaTeX
- GNU: gcc, gdb etc.
- X und Desktop-Umgebungen
- OpenStack, Kubernetes und andere Projekte
Arbeiten in OSS-Projekten
- Überblick über korrekte Beitragsprozesse
- Woher kommt der Code: DCO und CLA
- Projekt-DNA studieren und verstehen
- Herausfinden, welches Problem man lösen möchte
- Maintainer und deren Workflows identifizieren
- Früh Feedback einholen und offen arbeiten
- Kleine inkrementelle Beiträge statt großer Code-Dumps
- Ego zurückstellen: nicht empfindlich reagieren
- Geduldig sein, langfristige Beziehungen aufbauen, hilfreich sein
Continuous Integration
- Warum Continuous Integration?
- Continuous Delivery und Continuous Deployment
- Kosten und Nutzen
- Tools
- Beispiel: Linux Kernel Continuous Integration Project
- The Continuous Delivery Foundation
OSS-Lizenzierung und rechtliche Aspekte
- Restriktive vs. permissive Lizenzierung
- FUD (Fear, Uncertainty and Doubt)
- Softwarepatente
- Patente und Lizenzen
- Auswahl einer Lizenz
- Kombination von Lizenzen
Führung vs. Kontrolle und warum Projekte scheitern
- Führung vs. Kontrolle
- Lockerung von Kontrolle
- Mentoring
- Vertrauen aufbauen
- Warum OSS-Projekte scheitern
GitHub und andere Hosting-Anbieter
- GitHub
- Öffentlich vs. privat
- GUI vs. Kommandozeile
Linux und das Betriebssystem
- Kernel vs. Betriebssystem und Tools
- Geschichte von Linux
- UNIX und Linux
- Linux-Distributionen
- Linux Standard Base (LSB)
Grafische Umgebungen und Schnittstellen
- Grafische Ebenen
- X Window System
- Window Manager
- Desktop-Manager
- Terminal-Fensteroptionen
Systemadministration
- Installation
- Softwareverwaltung und Packaging
- Upgrades und Patching
- Benutzerverzeichnisse, Umgebungen etc.
- Log-Dateien
- Hilfe finden
- Dokumentationsquellen
- man Pages
- info
- --help und help
- Grafische Schnittstellen
- Texteditoren
- Verfügbare Editoren
- vi
- emacs
Shells, Bash und Kommandozeile
- Shells
- Shell-Initialisierung
- Aliase
- Umgebungsvariablen
- Anpassung der Kommandozeilen-Prompt
- Sonderzeichen
- Umleitung (Redirection)
- Pipes
- Command Substitution und Ausdrücke
Dateisystemstruktur, Partitionen, Pfade und Links
- Dateisystemstruktur
- Partitionen
- Überlegungen zur Partitionierung
- Pfade
- Hard- und Softlinks (symbolische Links)
Systeminitialisierung
- Systemstart
- Systeminitialisierung
Speicher- und Performance-Konzepte
- Speicher
- Swap
- Threading-Modelle
- Netzwerke
- Netzwerk und Netzwerkschnittstellen
Wichtige Kommandos und Utilities
- Basis-Kommandos und Utilities
- Dateiübertragungs-Tools
- Monitoring- und Performance-Tools
- Grafische Monitoring-Tools
- Kernel-Module laden/entladen
- Geräteverwaltung
- Systemdienste verwalten
Benutzer, Gruppen und Berechtigungen
- Grundlagen von Benutzern und Gruppen
- Benutzer und Gruppen hinzufügen/entfernen
- Dateien, Benutzer und Berechtigungen
- root Benutzer, su und sudo
Linux-Dateisysteme
- Dateisysteme und VFS
- ext2, ext3 und ext4
- Journaling-Dateisysteme
- btrfs
- Einhängen (Mounting) von Dateisystemen
- RAID
- LVM
Wichtige Kommandozeilen-Tools
- Dateien und Verzeichnisse auflisten, erstellen, löschen, umbenennen
- Dateien finden: find und locate
- Text suchen: grep
- Text ersetzen: sed
Bash Scripting
- Script-Grundlagen
- Bedingungen (Conditionals)
- Schleifen (Loops)
- Funktionen
Dateien und Berechtigungen
- Dateitypen
- Berechtigungen und Zugriffsrechte
- Berechtigungen und Ownership ändern
Kompilieren, Linken und Libraries
- gcc
- Weitere Compiler
- Wichtige gcc Optionen
- Statische Bibliotheken
- Dynamische Bibliotheken (Shared Libraries)
- Linking von Libraries
- Debugging mit gdb
Java Installation und Umgebung
- Write Once and Use Anywhere?
- Java Installation unter Linux
- Umgang mit mehreren JREs und JDKs (alternatives System)
- Umgebungsvariablen und Classpaths
Integrierte Entwicklungsumgebungen (IDE)
RPM- und Debian-Pakete bauen
- Warum Package Management nutzen?
- Vorteile von Packaging-Systemen
- Linux-Distributionen und Package Management
- RPM Erstellung
- RPM spec Datei
- Details zu spec Sections
- RPM Abhängigkeiten
- Debian Package Workflow
Git und Versionskontrollsysteme
- Einführung in Git
- Versionskontrolle
- Woher kommt der Code: DCO und CLA
- Überblick über Versionskontrollsysteme
- Git Installation
- Binäre Installation
- Installation aus Source
Git Konzepte und Architektur
- Konzepte
- Design-Features
- Repositories
- Objekte und Index
- Content vs. Pfadnamen
- Commit vs. Publishing
- Upstream und Downstream
- Forking
Dateien und Index verwalten
- Dateikategorien
- Basis-Dateikommandos
- Commits
- Commit erstellen
- Identifiers und Tags
- Commit-Historie anzeigen
- Revert und Reset
- Repositories bereinigen
- Wer ist verantwortlich? (Blame)
- Bisecting
Branches und Diffs
- Was ist ein Branch?
- Branch-Namen vs Tags
- Branch erstellen
- Branch Checkout
- Alte Dateiversionen
- Diffs
- Dateiunterschiede
- Git Diff
Merging und Rebase
- Was ist Merging?
- Merge-Kommandos
- Rebase
Remote Collaboration
- Cloning
- Projekt veröffentlichen
- Fetching, Pulling
- Patch-basierte Entwicklung
- Warum Patches verwenden?
- Patches erzeugen
- E-Mail Versand
- Patches anwenden
Erweiterte Git Interfaces: Gerrit
- Modi verteilter Entwicklung
- Gerrit
- Review-Prozess
Abschluss
- Abschluss und Evaluationsumfrage
- Evaluierungsumfrage
Hinweise
Prüfung und Zertifizierung
Dieser Kurs beinhaltet keine Prüfung.
Open Badge für dieses Seminar - Ihr digitaler Kompetenznachweis

Durch die erfolgreiche Teilnahme an einem Kurs bei IT-Schulungen.com erhalten Sie zusätzlich zu Ihrem Teilnehmerzertifikat ein digitales Open Badge (Zertifikat) – Ihren modernen Nachweis für erworbene Kompetenzen.
Ihr Open Badge ist jederzeit in Ihrem persönlichen und kostenfreien Mein IT-Schulungen.com-Konto verfügbar. Mit wenigen Klicks können Sie diesen digitalen Nachweis in sozialen Netzwerken teilen, um Ihre Expertise sichtbar zu machen und Ihr berufliches Profil gezielt zu stärken.
Übersicht: Linux Foundation Schulungen Portfolio
Seminare kurz vor der Durchführung
| 30.06. - 03.07.2026 | Hamburg |



