pagetitle | revealjs-url | controlsTutorial |
---|---|---|
Linux Vortrag |
reveal.js |
false |
Winterophase 19/20
Heiko Carrasco
https://tinyurl.com/linux-vortrag
- Heiko Carrasco
- Linux Nutzer seit ~2009
- Komplett umgestiegen ~2012
Als Linux oder GNU/Linux bezeichnet man in der Regel freie, unix-ähnliche Mehrbenutzer-Betriebssysteme, die auf dem Linux-Kernel und wesentlich auf GNU-Software basieren.
. . .
Wikipedia
- Es wird euch (viel) im Studium begegnen
- Viele relevante Studiumsangelgenheiten werden leichter
- Mehr Leute erreichen
- Einblick geben
- Installationsworkshop im nächsten Slot
. . .
Linus Torvalds
- Am Anfang war das Betriebssystem Unix (1973)
- Entwickelt von Ken Thompson und Dennis Ritchie (Bell Labs)
- Ziel: Möglichst einfaches Design
- Alles ist eine Datei
- Programme sind klein und simpel
- Sehr erfolgreich, viele Nachbauten
{height=500px style="background:white;"}
- Torvalds, damals Studi, wollte seinen eigenen Kernel bauen
- Sehr viele Konzepte von Unix übernommen
- OpenSourced unter dem Namen Linux (Linus + Freax)
- Wettbewerb für ein Linux Logo
. . .
- meiste Programme sind in Hochschprachen geschrieben (Java, C++, Go, etc.)
- werden mithilfe von Compilern in Maschineninstruktionen übersetzt
- komerzielle Software wird häufig nur in der kompilierten Fassung verteilt
- manchmal zusätzlich obfuscated
- Kein Einblick in die Funktionsweise eines Programms
- Keine Änderungsmöglichkeiten
- Vollständige Abhängigkeit vom Hersteller
- Quellcode ist öffentlich
- Code steht oft unter einer OpenSource Lizenz (z.B. GNU, Apache, MIT, etc.)
- Code darf modifiziert werden
- Regelungen was die Weiterverbreitung betrifft
- Free/Libre Open Source Software
:::::::::::::: {.columns}
::: {.column width="30%"}
:::
::: {.column width="30%"}
:::
::: {.column width="30%"}
:::
::::::::::::::
- Weniger Sicherheitslücken (Viele-Augen-Prinzip)
- vor allem weniger/keine Backdoors
- Lernen durch Code Anderer
- Kollaboratives Arbeiten
- Beteiligung an Open Source Projekten als Aushängeschild/CV
- Linux braucht weniger Leistung als Windows (bei gleicher Benutzung)
- Programme und Betriebssystem starten und arbeiten schneller
- Abstürze sind sehr selten
- Auch für ältere PCs geeignet
- Linux ist kostenlos
- Einige Anbieter verlangen Geld für besonderen Support
- Passende Software meistens auch gratis
- Lebenslange Updates
- bei Problemen hilft eine große Community
- viele Blogs und Foren bieten Lösungen auch für obskure Fragen an
- Chatrooms als Austausch- und Frageplattform
- Linux schickt nicht alle eure Daten an Dritte
- falls benötigt, werden User vorher gefragt
- Beispiele: Crash Reports, anonyme Telemetrie, etc.
- Gesammelte anonyme Daten häufig öffentlich verfügbar
- Linuxdistributionen haben meistens eine Paketverwaltung
- Damit lassen sich Programme mit einem Klick bzw. einem Kommando nachinstallieren
- Abhängigkeiten zu anderen Programmen werden intelligent gelöst
- Anwendungen werden zentral up-to-date gehalten
- Keine hundert Updater, sondern ein zentrales System
- Keine „Extras“ wie Toolbars beim Installieren
- Selbst entscheiden wann Updates installiert werden
- Programm, welches Befehle entgegenimmt und ausführt
- erlaubt das interaktive Starten und Steuern von Programmen
- Beispiele: bash, zsh, fish, etc.
- mehrere Kategorien
- Datei- und Ordneroperationen
- Informationen und Veränderungen von Dateien
- z.B.
cd, ls, cat
- Systemverwaltung
- Zustand des Systems einsehen und ändern
- z.B.
htop, pkill
- sonstige Programme
- z.B.
git, man
- z.B.
- Können mit Argumenten gesteuert werden
ls
gibt alle Dateien in einem Ordner ausls -l
zeigt zusätzlich Informationen wie „Besitzer“ etc. an
- Mit | kann die Ausgabe eines Befehls in einen anderen geleitet werden
- z.B.
cat text.txt | grep -i hello
- z.B.
- häufig existieren manuals, erreichbar mit
man
- zusätzlich gibt es oft auch
--help
- Beispiel:
man grep
odergrep --help
- Beispiel:
- Schnelle und einfache Ausführung von Programmen
- Einfach Automatisierung von häufigen Tasks
- Fernzugriff
- Hausübungen in Java und Racket
- Müssen auf den (Linux-)Poolrechnern laufen!
- Was wenn die Uni schon zu hat?
- Einfacher Zugang zu entfernten Rechnern
- ISP stellt mehrere virtuelle Poolrechner bereit
. . .
- Größeres Programmierprojekt
- Mehrere Leute arbeiten am gleichen Code
- Problem: Wie synchronisiert man den aktuellen Stand?
- Versionskontrollsystem des Linux Kernels
- Verschiedene Teile des Projekts können verteilt bearbeitet werden
- Weitere praktische Features wie Merges, Branches, etc.
. . .
git add test.racket
git commit -m "Neuer Test"
git push
- Abgabe von Hausübungen
- Handschrift vielleicht nicht lesbar
- Formeln in Word eingeben ist mühsam
- Schriftsatzsystem mit Fokus auf wissenschaftliches Schreiben
- sehr „schöne“ Dokumente
- Coporate Design der TU einfach installierbar
Distributionen {data-background-video="img/trumpdistribution.mp4" data-background-video-loop="true"}
- Sammlungen von Programmen und Konfigurationen
- Oft mit einer eigenen Paketverwaltung
- Bieten installierbare CD- bzw USB Abbilder an
- Meistens von Communities oder Firmen veröffentlicht
{height=80px style="background:white"}
- Gute Einstiegsdistribution
- Guter Support
- Zwei Releases pro Jahr
- Schönes Design
{height=100px style="background:white"}
- „Entwicklerdistribution“
- Sehr schnelle Updates
- Viele Drittanbieterrepos mit copr
{height=100px style="background:white"}
- Stabiles Linux ohne viel Aufheben
- Eher Long Term Stable (LTS)
- vier Jahre Updates pro Major Release
- Vor allem bekannt durch den selbstentwickelten Cinnamon Desktop
- Wahl zwischen verschiedenen Nutzeroberflächen
- Oft mit Sammlungen von Programmen
- Weitere Anpassungen möglich
- Anders strukturiert als bei Windows
- Konsole arbeitet direkt mit Dateien
- / - oberstes (root) Verzeichnis (C:\)
- /boot - beim Start benötigte Dateien
- /etc - Globale Einstellungen
- /home - Verzeichnisse der Nutzer*innen
- /tmp - temporäre Dateien
- /usr - Systemteile, Software, Bibliotheken
- Persönliche Daten (Dokumente, Downloads, etc.)
- Viele config Dateien
- einfach zu kopieren und zu backupen
- Dateien haben Eigentümer*innen und Gruppenzugehörigkeiten
- Dateien haben Attribute (read, write execute)
- Wenig Verbreitung == weniger Viren
- schnelle Sicherheitsupdates in den Repositories
- Software aus Repos ist meistens sicher
- gute Rechteverwaltung
:::::::::::::: {.columns}
::: {.column width="50%"}
{.fragment}
:::
::: {.column width="50%"}
{.fragment}
:::
::::::::::::::
- Linux User sind normalerweise keine Systemadmins
- Adminrechte können mit dem Befehl
sudo
erlangt werden - Dabei meist Nachfrage nach dem Nutzerpasswort
. . .
sudo rm -rf / # niemals ausführen
[sudo] password for $USER:
Sorry, try again.
[sudo] password for $USER:
Sorry, try again.
[sudo] password for $USER:
sudo: 3 incorrect password attempts
- User können trotzdem noch viel kaputt machen...
- ...aber es muss sehr explizit bestätigt werden
- Euer home ist nur eingeschränkt geschützt
- Libreoffice und Co. können nicht mit Microsoft Office mithalten
- Bestimmte Software nicht verfügbar
- Adobe Produkte (Photoshop, Indesign, etc.)
- Spiele
- Erfordert Einarbeitung
- Manchmal braucht man noch Windows für $Dinge
- Voller Umstieg kann schwierig sein
- Linux kann parallel zu Windows installiert werden
- Installer erkennen Windows meist automatisch
- Auswahl des Betriebssystems beim Start des Computers
- keine Performanceeinbußen
- Virtuelle Maschine mit Windows unter Linux
- gut geeignet für kleine Programmsammlungen
- etwas schlechtere Performance
- Wine Is Not an Emulator
- Windows Programme direkt unter Linux ausführen
- Inzwischen auch in Steam integriert (Proton)
- Gute Balance zwischen VM und Dual-Boot
- Sehr stark:
- Server
- Embedded Systems
- Supercomputer
- Smartphones
- Noch sehr schwach:
- Desktops
- OpenSource
- Paketverwaltung
- mehr Auswahl
- große Community
- lernt viel über Betriebssysteme
- macht das Studium leichter
- sicherer als Windows
https://github.com/miterion/linux-vortrag
- 32 oder 64 Bit
- Windows + Pause oder nach Systeminformationen suchen
- Ubuntu, Fedora, Linux Mint, etc.
- ggf. Gnome, Cinnamon, KDE, etc.
- falls vorhanden zwischen Long Term Support und „normaler“ Version wählen
- mit LTS Versionen macht man i.d.R. nichts falsch
- BIOS blendet notwendige Tasten häufig ein
- oft F12, F1, F2