Header Background
Gesicherter Termin

Ihre Wahl!

Lernen Sie, wo Sie wollen!
Präsenz oder Online.

Bei Ihnen im Unternehmen oder in einem unserer 25 Schulungszentren.

Image not available
Gesicherter Termin

Weiterbildung für die Zukunft!

Virtuell

- Online

- Garantiert!

- Gemeinsam

Image not available
Virtual Classroom Schulungen
 
 
 

LFD301 Einführung in Linux, Open-Source-Entwicklung und GIT

Seminardauer: 4 Tage

Ziele

Linux wächst unaufhaltsam und die Nachfrage nach Linuxentwicklern war nie größer. Dieser Kurs wird Sie in die Welt der Linux Entwicklung einführen und Ihnen den die Basis und das Training vermitteln, welches Sie benötigen um anzufangen mit Linux zu arbeiten. Wenn Sie darüber nachgedacht haben in die Linux Entwicklung einzusteigen, ist dies der beste Ort um damit zu beginnen!

Dabei lernen die Teilnehmer:

  • Die Historie von Linux und was Linux von anderen Unix-ähnlichen Betriebssystemen unterscheidet
  • Die Hauptbestandteile von Linux und wie man sie einsetzt
  • Die Grundlagen der System-Administration, wie z. B. Benutzeraccounts und Benutzergruppen, einfache Befehle, Dateisystem und Sicherheit
  • Netzwerk- und Threading-Modelle
  • Aspekte der Erstellung und Verwendung von Bibliotheken
  • Arbeiten mit Java unter Linux
  • u. v. m.

Zielgruppe

Entwickler

Voraussetzungen

Programmierkenntnisse

Agenda

Open Source Software

  • Was ist Open-Source-Software?
  • Was ist Proprietary (Closed Source) Software?
  • Pragmatismus vs. Idealismus
  • Geschichte von Open-Source-Software
  • Open-Source-Governance-Modelle

Warum Open-Source-Software verwenden?

  • Kollaborative Entwicklung
  • Sicherheit und Qualität des Quellcodes
  • Anwender: Flexibilität
  • Business: Kollaborative Entwicklung
  • Business: Marketing
  • Lehre: El-Hi, Öffentliche Systeme
  • Lehre: Universität
  • Entwickler: Größere Sichtbarkeit

Bespiele für erfolgreiche OSS-Projekte

  • Linux-Kernel
  • git
  • Apache
  • Python, Perl und andere Computersprachen
  • Tex und LaTeX
  • GNU: gcc, gdb, etc.
  • X und Desktop-Manager
  • OpenStack, Kubernetes und andere Projekte

Wie man in OSS-Projekten arbeitet 

  • Überblick über die korrekte Durchführung von Übertragungen.
  • Sicherheit und Qualität durch die Nähe zur Mainline
  • Projekt-DNA erforschen und verstehen 
  • Das Anliegen erkennen und verfolgen
  • Bestimmung der Entwickler und deren Arbeitsabläufe und Methoden
  • Frühzeitige Informationen einholen und freier arbeiten
  • Tragen Sie inkrementelle Bits bei und meiden Sie große Code-Dumps. 
  • Kein Platz für Ego: Denke nicht  engstirnig.
  • Seien Sie geduldig, entwickeln Sie langfristige Partnerschaften und seien Sie hilfreich

Continuous Integration

  • Warum Continuous Integration?
  • Continuous Delivery und Continuous Deployment
  • Kosten und Nutzen
  • Werkzeuge
  • Beispiel: Linux Kernel Continuous Investment Projekt
  • Die Grundlage für kontinuierlichen Betrieb

OSS-Lizenzierung und rechtliche Fragen

  • Restriktive vs. Permissive Lizenzierung
  • FUD
  • Software-Patente
  • Patente und Lizenzen
  • Auswahl einer Lizenz
  • Kombinierung von Lizenzen

Respektierung und Förderung von Vielfalt in OSS

  • Vielfalt und Open-Source-Software
  • Geschlecht und Geschlechtsidentität
  • Nationale Herkunft, Geographie und Sprache
  • Religion und Politik
  • Meinungsverschiedenheiten

GitHub und andere Hosting-Provider

  • 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-Basis (LSB)

Grafische Umgebungen und Schnittstellen

  • Grafische Schichten
  • X-Fenster-System
  • Window-Manager
  • Desktop-Manager
  • Terminal-Window-Optionen

Hilfe erhalten

  • Dokumentationsquellen
  • Man Pages 
  • info
  • {–}help and help
  • Grafische Oberflächen

Text-Editoren

  • Verfügbare Text-Editoren
  • vi
  • emacs

Shells, bash und die Kommandozeile

  • Shells
  • Shell-Initialisierung
  • Aliase
  • Umgebungs-Variablen
  • Anpassung der Befehlszeilen-Eingabeaufforderung
  • Sonderzeichen
  • Umleitung
  • Pipes
  • Befehlssubstitution und Ausdrücke

Dateisystem-Layout, Partitionen, Pfade und Links

  • Dateisystem-Layout
  • Partitionen
  • Betrachtungen zur Partitionswahl
  • Pfade
  • Hard und Soft (symbolische) Links

System-Initialisierung

  • Systemstart
  • System-Initialisierung

Datenspeicher

  • Speicher
  • Auslagerung
  • Threading-Modelle

Vernetzung

  • Vernetzung und Netzwerkschnittstellen

Befehlsdetails

  • Grundlegende Befehle und Dienstprogramme
  • Dateiübertragungs-Tools
  • Überwachungs- und Performance-Tools
  • Grafische Überwachungstools
  • Laden/Entladen von Kernel-Modulen
  • Geräte-Management
  • Systemdienste verwalten

System Verwaltung

  • Installation
  • Softwareverwaltung und Packaging
  • Upgrading und Patching
  • Benutzerverzeichnisse, Umgebungen, etc.
  • Logging-Dateien

Anwender und Gruppen

  • Grundlagen der Anwender und Gruppen
  • Benutzer und Gruppen hinzufügen und entfernen
  • Dateien, Benutzer und Berechtigungen
  • root (Super)-Benutzer, su und sudo

Linux-Dateisysteme

  • Dateisysteme und das VFS
  • ext2, ext3 und ext4 Dateisysteme
  • Journaling-Dateisysteme
  • btrfs
  • Einbinden von Dateisystemen
  • RAID
  • LVM

Grundlegende Kommandozeilen-Tools

  • Auflisten, Erstellen, Löschen und Umbenennen von Dateien und Verzeichnissen
  • Finden von Dateien: find und locate
  • Strings aufspüren: grep
  • String-Ersetzung: sed

Bash Skripting

  • Skript-Grundlagen
  • Konditionals
  • Schleifen
  • Funktionen

Dateien und Dateisysteme

  • Typen von Dateien
  • Berechtigungen und Zugriffsrechte
  • Änderung von Berechtigungen und Besitzverhältnissen

Compiling, Linking and Libraries

  • gcc
  • Weitere Compiler
  • Wichtige gcc-Optionen
  • Statische Bibliotheken
  • Gemeinsame Bibliotheken
  • Links zu Bibliotheken
  • Debuggen mit gdb

Java Installation und Umgebung

  • Installation von Java unter Linux
  • Umgang mit mehreren JRE}s und JDK}s: das alternativ Systemen
  • Umgebungsvariablen und Klassenpfade
  • Integrierte Entwicklungsumgebungen

Erstellen von RPM- und Debian-Packages

  • Wozu eine Packageverwaltung verwenden
  • Vorteile des Packagesystems
  • Linux-Distributionen und Package Management
  • RPM-Erstellung
  • Die RPM-spec-Datei
  • Details zu den RPM-spec-Abschnitten
  • RPM-Abhängigkeiten
  • Arbeitsablauf der Debian-Package-Erstellung

Einführung in GIT

  • Revisionskontrolle
  • Verfügbare Revisionskontrollsysteme
  • Grafische Schnittstellen
  • Dokumentation

Git-Installation

  • Binäre Installation
  • Installation aus dem Quellcode

Git und Revisionskontrollsysteme

  • Konvertierung zwischen verschiedenen Systemen
  • RCS und CVS
  • Subversion
  • git
  • git und verteilte Entwicklung

Benutzung von Git: mit Beispiel

  • Grundlegende Befehle
  • Ein einfaches Beispiel

Git-Konzepte und -Architektur

  • Konzepte
  • Design-Merkmale
  • Repositories
  • Objekte und Index
  • Inhalt vs. Pfadnamen
  • Übertragen vs. Veröffentlichen
  • Upstream und Downstream
  • Forking

Verwaltung von Dateien und des Index

  • Datei-Kategorien
  • Grundlegende Datei-Befehle

Verpflichtungen

  • Festlegen der Verpflichtung
  • Identifikatoren und Tags
  • Anzeigen der Commit-Historie
  • Commits rückgängig machen und zurücksetzen
  • Repositories aufräumen
  • Wer ist schuld?
  • Bisecting

Branches

  • Was ist ein Branch?
  • Branch-Namen vs. Tags
  • Erstellung von Branchen
  • Überprüfung von Branchen
  • Abfragen früherer Dateiversionen

Diffs

  • Differenzierung von Dateien
  • Diffing in Git

Merging

  • Was ist Merging?
  • Merging-Befehle
  • Neuordnung

Verwaltung von lokalen und entfernten Repositories

  • Zusammenarbeit mit anderen
  • Clonen
  • Veröffentlichung Ihres Projekts
  • Holen, Ziehen und Abrufen

Benutzung von Patches

  • Warum Patches verwenden?
  • Erstellen von Patches
  • E-Mails versenden
  • Patches anwenden

Erweiterungen für Git-Schnittstellen: Gerrit

  • Betriebsarten der verteilten Entwicklung
  • Gerrit
  • Review-Prozess

Schulungsunterlagen

nach Absprache

Open Badges - Ihre digitalen Kompetenznachweise

Digital Skills Open Badges

Mit einer erfolgreichen Teilnahme an einer Schulung bei IT-Schulungen.com erwerben Sie nicht nur Wissen und Kompetenz, sondern erhalten auch zusätzlich zum Teilnahmezertifikat Ihr Open Badge als digitalen Kompetenznachweis.

Diesen erhalten Sie in Ihrem persönlichen und kostenlosen Mein IT-Schulungen.com Account. Ihre erworbenen Badges können Sie anschließend in sozialen Medien einbinden und teilen.

Infos zu den Vorteilen unter Badges

 

1.) Wählen Sie den Seminartyp:




2.) Wählen Sie Ort und Datum:

1.895,00 € Preis pro Person

spacing line2.255,05 € inkl. 19% MwSt
Verpflegung zzgl.
Seminarunterlagen zzgl.

Seminar jetzt anfragen Auf den Merkzettel
PDF IconPDF Icon

Christine Röppenack
Seminarberaterin
Telefon: 0911 6500 8 222
Email: info@it-schulungen.com

Digitale Zertifikate

Digital Skills Open Badge

Digitales Wissen & Kompetenzen erwerben & zeigen.

Mit Badges von IT-Schulungen erhalten Sie - neben dem Teilnahmezertifikat als PDF - ein Open Badge als Nachweis Ihrer Fertigkeiten mit Echtheitszertifikat.

Zeigen Sie Ihre Digital Skills mit Zertifikaten auf Plattformen wie LinkedIn, XING & Facebook, auf Ihrer Website und in E-Mail-Signaturen.

Mehr Infos zu Badges

 

Diese Seite weiterempfehlen:

0
Merkzettel öffnen
0
Besuchsverlauf ansehen
IT-Schulungen.com Control Panel
Warnung Icon Sie haben in Ihrem Browser Javascript deaktiviert! Bitte aktivieren Sie Javascript um eine korrekte Darstellung und Funktionsweise von IT-Schulungen zu gewährleisten. Warnung Icon