From: Paul Hänsch Date: Sat, 16 Nov 2019 10:00:59 +0000 (+0100) Subject: lpd X-Git-Url: https://git.plutz.net/?a=commitdiff_plain;h=refs%2Fheads%2FLinuxPresentationDay;p=vhs_kurs lpd --- diff --git a/LPD.short b/LPD.short new file mode 100644 index 0000000..f2b45a8 --- /dev/null +++ b/LPD.short @@ -0,0 +1,167 @@ +[html +[head [title VHS Linuxkurs] + [style type="text/css" ] +] +[body + [footer Paul Hänsch | Linux Presentation Day | VHS Leipzig] +[slide + [h1 VHS Linux Presentation Day] +] +[slide [h1 Was ist ein Betriebssystem?] ] + +[slide [h2 Was ist ein Betriebssystem?] + [ul .uncover + [li Unterscheidung: Anwendungsprogramm, "App"] + [li idR. nicht selbst als "Programm" bezeichnet] + [li Läuft vom Start bis zum Halt des Computers] + [li Für Benutzer mehr oder weniger unsichtbar] + [li Stellt Funktionen für Programme Bereit] + ] +] + +[slide [h2 Funktionen eines Betriebssystems] + [ul .uncover + [li Einheitlicher Zugriff auf Hardware (Treiber)] + [li Organisation von Dateien] + [li Zugriff auf Netzwerk] + [li Zuteilung von Rechenzeit (Task-Switching, Multitasking)] + [li Trennung von Applikationen (Virtualisierung)] + [li Trennung von Benutzern, Zugriffssrechte] + [li [b Kontrolle dieser Funktionen über Dienstprogramme]] + ] +] + +[slide [h2 Begriffe] + [p style="text-align: center; font-size: 3em; line-height: 1.25em;" + [sup [b GNU]] [sub Desktop] [sup [i Unix]] [br] + [sub [u Ubuntu]] [sup [b Linux]] [sub Distribution] + [sub Gnome] [sup Knoppix] + ] +] + +[slide [h2 Was ist Unix?] + [ul .uncover + [li 1969 von an den Bell Labs für PDP-7 konzipiert] + [li Von "C"-Erfinder Dennis Ritchie und Ken Thompson] + [li Entworfen um "Space Travel"-Spiel als Anwendung] + [li Schafft grundlegenden Aufbau für Beriebssysteme] + [li Von Bell an kommerzielle Computerhersteller lizensiert] + ] +] + +[slide [h2 Was ist GNU?] + [ul + [p [b G]NU is] + [p [b N]ot] + [p [b U]nix] + ] +] + +[slide [h2 Was ist GNU?] + [ul .uncover + [li 1983 am durch Richard M. Stallman am MIT begonnen] + [li Auslöser war u.A. Missmut über Kopierschutzpraktiken] + [li Grundlage der Free Software Bewegung] + [li Unix-Kompatibles Betriebssystem] + [li Umfasst Unix-Dienstprogramme] + ] +] + +[slide [h2 Was ist Freie Software?] + [ul .uncover + Die Vier Freiheiten: + [li [b Verwenden:] das Programm für jeglichen Zweck ausführen] + [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen] + [li [b Verbreiten:] das Programm weitergeben] + [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben] + ] +] + +[slide [h2 Was ist Linux?] + [ul .uncover + [li 1991 durch Linus Torvalds an der Uni Helsinki begonnen] + [li Unix-Kompatibler Betriebssystem-[em Kernel]] + [li Lauffähig mit GNU-Dienstprogrammen] + [p style="text-align: center; font-size: 2em; line-height: 1.25em;" GNU + Linux] + ] +] + +[slide [h2 Was ist eine Distribution?] + [ul .uncover + [li Linux-Kernel ist ein eigenes Softwareprojekt] + [li GNU ist ein eigenes Softwareprojekt] + [li Grafische Bedienoerflächen sind unabhängig davon] + [li Anwendungsprogramme sind eigenständige Projekte] + [li "Distributor" stellt Softwarepakete zusammen] + [li Softwarekomponenten werden angepasst um miteinander kompatibel zu sein] + [li Software wird für Computerarchitekturen "kompiliert"] + ] +] + +[slide [h2 Beispiele für Distributionen] + [ul + [li Ubuntu - Kommerzielle Distribution basierend auf Debian] + [li Debian - Frühe Distribution mit Online-Paketsystem] + [li Gentoo - Zusammenstellung von Quellcode zum selbst anpassen] + [li Arch - Verbreitete Distribution mit eigenem Paketsystem] + [li Knoppix - Debian basiertes Live-System] + [li Fedora, RedHat, Suse, Parabola, Puppy, Rebecca Black, ...] + [li Tausende weitere] + ] +] + +[slide [h2 Desktopumgebungen] + Grafische Bedienoberflächen können sehr unterschiedlich aussehen + [ul + [li Gnome] + [li KDE] + [li LXDE] + [li Xfce] + [li Maté, i3, Awesome, WindowMaker, LXQT, Enlightenment, usw...] + [li Unterscheidung: Window Manager, Toolkit, Softwaresuite] + ] +] + +[slide [h2 Weitere Begriffe] + [ul + [li [b Android:] anderes Betriebssystem mit Linux-Kernel] + [li [b BSD:] Berkeley Software Distribution, anderes Freies Unix] + [li [b Busybox:] andere Suite von Unix-Dienstprogrammen] + ] +] + +[slide [h1 Themenübersicht]] + +[slide [h2 Themen im Linux Grundkurs] + [ul .uncover + [li Arbeit mit Dateien [ul + [li Ordnerstrukturen, Zugriffsrechte, Benutzer, Gruppen] + ]] + [li Syntax der Kommandozeile] + [li Datenträger, Dateisysteme, Partitionen] + [li Prozesse und Prozessmanagement] + [li Netzwerkgrundlagen[ul + [li TCP/IP, DNS, HTTP, SSH] + ]] + [li Softwareinstallation, Paketsysteme] + [li Installparty] + ] +] + +[slide [h2 Linux Grundkurs an der VHS] + [ul + [li Datum: ] + ] +] + +]] diff --git a/Tag_1.short b/Tag_1.short deleted file mode 100644 index 92a55ff..0000000 --- a/Tag_1.short +++ /dev/null @@ -1,433 +0,0 @@ -[html -[head [title VHS Linuxkurs]] -[body - [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig] -[slide - [h1 VHS Linux Grundkurs] -] -[slide [h2 Dozent] - [ul - [li Paul Hänsch] - [li Seit 2012 freiberuflicher Programmierer] - [li Arbeit an und mit Freier Software (Open Source)] - [li Kunden: Jugendclub, Kinderzirkus, Physiotherapie, HTW, ...] - [li in der Vergangenheit: Free Software Foundation Europe] - [li Videopodcast: GNUfunzt! http://gnufunzt.de] - [li Kontakt: paul@plutz.net] - ] -] -[slide [h2 Organisatorisches zum Kurs] - [ul - [li 6 Termine jeden Mittwoch] - [li 17:00 bis 20:15 Uhr] - [li Letzter Termin 23.10. - Installparty] - [li Themenübersicht - Nach der Einführung] - ] -] -[slide [h1 Was ist ein Betriebssystem?] ] - -[slide [h2 Was ist ein Betriebssystem?] - [ul .uncover - [li Unterscheidung: Anwendungsprogramm, "App"] - [li idR. nicht selbst als "Programm" bezeichnet] - [li Läuft vom Start bis zum Halt des Computers] - [li Für Benutzer mehr oder weniger unsichtbar] - [li Stellt Funktionen für Programme Bereit] - ] -] - -[slide [h2 Funktionen eines Betriebssystems] - [ul .uncover - [li Einheitlicher Zugriff auf Hardware (Treiber)] - [li Organisation von Dateien] - [li Zugriff auf Netzwerk] - [li Zuteilung von Rechenzeit (Task-Switching, Multitasking)] - [li Trennung von Applikationen (Virtualisierung)] - [li Trennung von Benutzern, Zugriffssrechte] - [li [b Kontrolle dieser Funktionen über Dienstprogramme]] - ] -] - -[slide [h2 Begriffe] - [p style="text-align: center; font-size: 3em; line-height: 1.25em;" - [sup [b GNU]] [sub Desktop] [sup [i Unix]] [br] - [sub [u Ubuntu]] [sup [b Linux]] [sub Distribution] - [sub Gnome] [sup Knoppix] - ] -] - -[slide [h2 Was ist Unix?] - [ul .uncover - [li 1969 von an den Bell Labs für PDP-7 konzipiert] - [li Von "C"-Erfinder Dennis Ritchie und Ken Thompson] - [li Entworfen um "Space Travel"-Spiel als Anwendung] - [li Schafft grundlegenden Aufbau für Beriebssysteme] - [li Von Bell an kommerzielle Computerhersteller lizensiert] - ] -] - -[slide [h2 Was ist GNU?] - [ul - [p [b G]NU is] - [p [b N]ot] - [p [b U]nix] - ] -] - -[slide [h2 Was ist GNU?] - [ul .uncover - [li 1983 am durch Richard M. Stallman am MIT begonnen] - [li Auslöser war u.A. Missmut über Kopierschutzpraktiken] - [li Grundlage der Free Software Bewegung] - [li Unix-Kompatibles Betriebssystem] - [li Umfasst Unix-Dienstprogramme] - ] -] - -[slide [h2 Was ist Freie Software?] - [ul .uncover - Die Vier Freiheiten: - [li [b Verwenden:] das Programm für jeglichen Zweck ausführen] - [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen] - [li [b Verbreiten:] das Programm weitergeben] - [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben] - ] -] - -[slide [h2 Was ist Linux?] - [ul .uncover - [li 1991 durch Linus Torvalds an der Uni Helsinki begonnen] - [li Unix-Kompatibler Betriebssystem-[em Kernel]] - [li Lauffähig mit GNU-Dienstprogrammen] - [p style="text-align: center; font-size: 2em; line-height: 1.25em;" GNU + Linux] - ] -] - -[slide [h2 Was ist eine Distribution?] - [ul .uncover - [li Linux-Kernel ist ein eigenes Softwareprojekt] - [li GNU ist ein eigenes Softwareprojekt] - [li Grafische Bedienoerflächen sind unabhängig davon] - [li Anwendungsprogramme sind eigenständige Projekte] - [li "Distributor" stellt Softwarepakete zusammen] - [li Softwarekomponenten werden angepasst um miteinander kompatibel zu sein] - [li Software wird für Computerarchitekturen "kompiliert"] - ] -] - -[slide [h2 Beispiele für Distributionen] - [ul - [li Ubuntu - Kommerzielle Distribution basierend auf Debian] - [li Debian - Frühe Distribution mit Online-Paketsystem] - [li Gentoo - Zusammenstellung von Quellcode zum selbst anpassen] - [li Arch - Verbreitete Distribution mit eigenem Paketsystem] - [li Knoppix - Debian basiertes Live-System] - [li Fedora, RedHat, Suse, Parabola, Puppy, Rebecca Black, ...] - [li Tausende weitere] - ] -] - -[slide [h2 Desktopumgebungen] - Grafische Bedienoberflächen können sehr unterschiedlich aussehen - [ul - [li Gnome] - [li KDE] - [li LXDE] - [li Xfce] - [li Maté, i3, Awesome, WindowMaker, LXQT, Enlightenment, usw...] - [li Unterscheidung: Window Manager, Toolkit, Softwaresuite] - ] -] - -[slide [h2 Weitere Begriffe] - [ul - [li [b Android:] anderes Betriebssystem mit Linux-Kernel] - [li [b BSD:] Berkeley Software Distribution, anderes Freies Unix] - [li [b Busybox:] andere Suite von Unix-Dienstprogrammen] - ] -] - -[slide [h1 Themenübersicht]] - -[slide [h2 Themen Tag 1] - [ul .uncover - [li Arbeit mit Dateien] - [li Etwas Kommandozeile] - [li Zugriffsrechte] - [li Benutzer, Gruppen] - [li Ordnerstrukturen] - ] -] - -[slide [h2 Weitere Themen] - [ul .uncover - [li Prozessmanagement] - [li Vertiefung Kommandozeile, Shellscripting] - [li Datenträger, Dateisysteme, Partitionen] - [li Systemstart] - [li Paketsysteme, Softwareinstallation, Systeminstallation] - [li Netzwerk, SSH] - [li nach Wunsch Android, X11, Verschlüsselung, Internetdienste, Versionskontrolle, ...] - [li Installparty] - ] -] - -[slide [h1 Arbeit mit Dateien] - [pre ~$ _] -] - -[slide [h2 Arbeit mit Dateien] - [pre ~$ touch datei1] -] - -[slide [h2 Arbeit mit Dateien] - [pre ~$ ls] -] - -[slide [h2 Arbeit mit Dateien] - [pre - ~$ ls -l datei1 - -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1] -] - -[slide [h2 Arbeit mit Dateien] - [pre ~$ echo "Hallo Welt!" \> datei1] -] - -[slide [h2 Arbeit mit Dateien] - [pre - ~$ ls -l datei1 - -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1] -] - -[slide [h2 Arbeit mit Dateien] - [pre ~$ cat datei1] -] - -[slide [h2 Arbeit mit Dateien] - [pre style="font-size: .75em; line-height: 1.5em;" - ~$ touch datei1 - ~$ ls - datei1 - ~$ ls -l datei1 - -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1 - ~$ echo "Hallo Welt!" > datei1 - ~$ ls -l datei1 - -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1 - ~$ cat datei1 - Hallo Welt! - ~$ _ - ] -] - -[slide [h2 Arbeit mit Dateien] - [pre - ~$ ls -l /bin/bash - -rwxr-xr-x 1 root root 1168776 Apr 18 06:12 /bin/bash] -] - -[slide [h2 Arbeit mit Dateien] - [pre ~$ ls -l -h /bin/bash] -] - -[slide [h2 Arbeit mit Dateien] - [pre -rwxr-xr-x 1 root root 1.2M Apr 18 06:12 /bin/bash] -] - -[slide [h2 Zusammenfassung] - [ul - [li [pre touch] legt eine Datei an] - [li [pre ls] zeigt Informationen über eine Datei] - ] -] - -[slide [h2 Zusammenfassung] - [ul - [li Kommandos lassen sich parametrisieren, z.B. [pre ls -l] und [pre ls -h]] - ] -] - -[slide [h2 Zusammenfassung] - [ul - [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul .uncover - [li [strong Eigentlich nur ausgeben!]] - ]] - ] -] - -[slide [h2 Zusammenfassung] - [ul - [li [pre cat] zeigt den Inhalt von Dateien an] - ] -] - -[slide [h2 Zusammenfassung] - [pre touch] - [pre ls] - [pre ls -l -h] - [pre echo] - [pre cat] -] - -[slide [h1 Zugriffsrechte]] - -[slide [h2 Zugriffsrechte] - [pre ~$ ls -l datei1] - [pre -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1] - [table style="width: 85%;" - [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]] - [tr [td [pre -]] [td [pre rw-]] [td [pre r--]] [td [pre r--]]] - ] -] - -[slide [h2 Zugriffsrechte] - [pre ~$ ls -l /bin/cat] - [pre -rwxr-xr-x 1 root root 34676 Feb 22 2017 /bin/cat] - [table style="width: 85%;" - [tr [th Typ] [th Eigentümer (root)] [th Gruppe (root)] [th Andere]] - [tr [td [pre -]] [td [pre rwx]] [td [pre r-x]] [td [pre r-x]]] - ] -] - -[slide [h2 Zugriffsrechte] - [pre - ~$ chmod u-r datei1 - ~$ ls -l datei1] - [pre --w-r--r-- 1 live live 12 Apr 10 02:13 datei1] - [table style="width: 85%;" - [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]] - [tr [td [pre -]] [td [pre -w-]] [td [pre r--]] [td [pre r--]]] - ] -] - -[slide [h2 Zugriffsrechte] - [pre - ~$ cat datei1 - cat: datei1: Keine Berechtigung] -] - -[slide [h2 Zugriffsrechte] - [pre - ~$ chmod u+r datei1 - ~$ cat datei1 - Hallo Welt!] -] - -[slide [h2 Zugriffsrechte - Gruppen] - [pre - ~$ groups - live sudo video input] -] - -[slide [h2 Zugriffsrechte - Gruppen] - [pre - ~$ chgrp video datei1 - ~$ ls -l datei1 - -rw-r--r-- 1 live video 12 Apr 10 02:13 datei1] -] - -[slide [h1 Navigation im Dateisystem]] - -[slide [h2 Navigation im Dateisystem] - [pre - ~$ pwd - /home/live] -] - -[slide [h2 Navigation im Dateisystem] - [pre - ~$ cd . - ~$ pwd - /home/live] -] - -[slide [h2 Navigation im Dateisystem] - [pre - ~$ cd .. - ~$ pwd - /home] -] - -[slide [h2 Navigation im Dateisystem] - [pre - ~$ cd .. - ~$ pwd - / - ~$ ls - bin etc media proc sys var boot home mnt - root tmp dev lib opt sbin usr] -] - -[slide [h2 Navigation im Dateisystem] - [div - [pre ~$ ls bin] - [pre ~$ ls etc] - [pre ~$ ls dev] - ] -] - -[slide [h2 Navigation im Dateisystem] - [ul .uncover - [li Dateipfade können [em absolut] oder [em relativ] sein] - [li Absolute Pfade beginnen immer mit einem Slash (Schrägstrich)] - [li [pre /bin/bash] - [pre /home/live/datei1]] - [li Relative Pfade beginnen niemals mit einem Schrägstrich] - [li [pre bash] - [pre live/datei1]] - [li Relative Pfade bezeichenen einen Ort Abhängig vom Arbeitsverzeichnis (pwd)] - ] -] - -[slide [h2 Navigation im Dateisystem] - [ul .uncover - Weitere Pfade: - [li [pre /home/live/../live/../live]] - [li [pre /./bin/./]] - ] -] - -[slide [h2 Systemordner in Unix] - [ul - [li [strong /bin] enthält ausführbare Programme] - [li [strong /boot] enthält den Systemkernel und Dateien, die damit unmittelbar in Zusammenhang stehen] - [li [strong /etc] enthält systemweite Konfigurationsdateien] - [li [strong /home] enthält Heimverzeichnisse der Benutzer] - [li [strong /lib] enthält sogenannte Softwarebibliotheken] - [li [strong /media] wird benutzt um temporäre Medien wie CDs und USB-Sticks abzubilden] - [li [strong /var] enthält Dateien, die sich ohne Handlung des Benutzers im regulären Betrieb verändern (z.B. Logbücher)] - [li [strong /usr] enthält weitere /bin und /lib Verzeichnisse für weniger grundlegende Programme] - ] -] - -[slide [h2 Systemordner in Unix] - [ul .uncover - [li [strong /dev] enthält Geräte] - [li [strong /proc] enthält Prozesse] - [li [strong /sys] enthält Treiberschnittstellen] - [p style="text-align: center; margin: .5em; font-size: 1.5em" Everything is a File!] - ] -] - -[slide [h1 Mehr dazu nächstes mal!]] - -[slide [h2 Zusammenfassung] - [ul .uncover - [li Einführung, Historie] - [li Dateien: touch, ls, cat] - [li Berechtigungen: chmod, groups, chgrp] - [li Navigation: cd, pwd] - [li Absolute Pfade, Relative Pfade] - [li Ordnerstrukturen] - ] -] - -[slide [h2 Daran denken:] - [ul - [li Anwesenheitsliste] - [li Lehrnachweis] - [li nächster Termin: 25.9.] - ] -] - -]] diff --git a/Tag_2.short b/Tag_2.short deleted file mode 100644 index 346b5dc..0000000 --- a/Tag_2.short +++ /dev/null @@ -1,413 +0,0 @@ -[html -[head [title VHS Linuxkurs]] -[body - [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig] - -[slide - [h1 VHS Linux Grundkurs - Teil 2] -] - -[slide [h2 Themen] - [ul - [li Wiederholung + Syntax der Kommandozeile] - [li Arbeit mit Dateien und Pfaden] - [li Datenträger und Dateisysteme] - ] -] - -[slide [h2 Nicht Vergessen!] - [ul [li Achja, Die Tastaturbelegung...]] -] - -[slide [h1 Syntax der Kommandozeile]] - -[slide [h2 Syntax der Kommandozeile] - [pre ~$ echo Hallo Welt] -] - -[slide [h2 Syntax der Kommandozeile] - [pre - ~$ echo Hallo Welt - Hallo Welt] -] - -[slide [h2 Syntax der Kommandozeile] - [pre - ~$ echo Hallo Welt - Hallo Welt - - ~$ echo Hallo Welt] -] - -[slide [h2 Syntax der Kommandozeile] - [pre - ~$ echo Hallo Welt - Hallo Welt - - ~$ echo Hallo Welt - Hallo Welt] -] - -[slide [h2 Syntax der Kommandozeile] - [table width="85%" - [tr - [th Shellprompt] [th Befehl / Programm] [th Parameter 1] [th Parameter 2] - ][tr - [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre Welt]] - ] - ] -] - -[slide [h2 Syntax der Kommandozeile] - [pre ~$ echo "Hallo Welt"] -] - -[slide [h2 Syntax der Kommandozeile] - [table width="85%" - [tr - [th Shellprompt] [th Befehl / Programm] [th Parameter 1] - ][tr - [th ~$] [td [pre echo]] [td [pre Hallo Welt]] - ] - ] -] - -[slide [h2 Syntax der Kommandozeile] - [h3 Identisch:] - [pre ~$ echo "Hallo Welt"] - [pre ~$ echo Hallo" "Welt] - [h3 [em Nicht] identisch:] - [pre ~$ echo Hallo " " Welt] -] - -[slide [h2 Syntax der Kommandozeile] - [pre ~$ echo "Hallo Welt"] - [pre ~$ echo Hallo" "Welt] - [table width="85%" - [tr - [th Shellprompt] [th Befehl] [th Parameter 1] - ][tr - [th ~$] [td [pre echo]] [td [pre Hallo Welt]] - ] - ] -] - -[slide [h2 Syntax der Kommandozeile] - [pre ~$ echo Hallo " " Welt] - [pre ~$ echo "Hallo" " " "Welt"] - [table width="85%" - [tr - [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3] - ][tr - [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre  ]] [td [pre Welt]] - ] - ] -] - -[slide [h2 Syntax der Kommandozeile] - [h3 Folie vom ersten Kurstag:] - [pre ~$ echo "Hallo Welt!" \> datei1] -] - -[slide [h2 Syntax der Kommandozeile] - [ul - [h3 Folie vom ersten Kurstag:] - [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul - [li [strong Eigentlich nur ausgeben!]] - ]] - ] -] - -[slide [h2 Syntax der Kommandozeile] - [table width="85%" - [tr - [th Shellprompt] [th Befehl] [th Parameter 1] [th Umleitung] [th Ziel der Umleitung] - ][tr - [th ~$] [td [pre echo]] [td [pre Hallo Welt!]] [td \>] [td datei1] - ] - ] -] - -[slide [h2 Syntax der Kommandozeile] - [ul .uncover - [li style="margin-top: 1em;" [pre ~$ echo "Hallo Welt!" > datei1]] - [li style="margin-top: 1em;" [pre ~$ ls -l > datei1]] - [li style="margin-top: 1em;" [pre ~$ cat datei1 > datei2]] - [li style="margin-top: 1em;" [strong Shellkommandos sind eine Sprache!]] - ] -] - -[slide [h1 Arbeit mit Dateien und Pfaden]] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre ~$ touch datei1 datei2 datei3] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre ~$ mkdir ordner1 ordner2] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre ~$ mv datei1 ordner1] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre ~$ mv datei2 datei3 ordner2] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [table width="85%" - [tr - [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] - ][tr - [th ~$] [td [pre mv]] [td [pre datei1]] [td [pre ordner1]] - ] - ] - [table width="85%" - [tr - [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3] - ][tr - [th ~$] [td [pre mv]] [td [pre datei2]] [td [pre datei3]] [td [pre ordner2]] - ] - ] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [ul .uncover - [li [pre ~$ ls ordner1]] - [li [pre ~$ cd ordner1]] - [li [pre ~$ ls]] - [li [pre ~$ ls ordner1]] - ] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [ul - [li [pre ~$ ls ordner1]] - [li [pre ~$ cd ordner1]] - [li [pre ~$ ls]] - [li [pre ~$ ls ordner1]] - [li Wir sind [strong in] [em ordner1], dieser Ordner enthält nicht seinerseits einen [em ordner1]] - ] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre ~$ ls /home/live/ordner1] - funktioniert immer =\> absoluter Pfad -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [ul - [li Relativer Pfad: [pre ~$ ls ../ordner2]] - [li Absoluter Pfad: [pre ~$ ls /home/live/ordner2]] - ] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre ~$ cp datei1 "Name mit Leerzeichen"] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [ul .uncover - [li [pre ~$ mv "Name mit Leerzeichen" Name_ohne_Leerzeichen]] - [li auch möglich: - [pre ~$ mv Name\\ mit\\ Leerzeichen Name_ohne_Leerzeichen]] - ] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre - ~$ mv Name_ohne_Leerzeichen .. - ~$ mv ../Name_ohne_Leerzeichen .] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre - ~$ mv ../ordner2/datei2 . - ~$ mv /home/live/ordner2/datei3 .] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre - ~$ cd /home/live - ~$ rmdir ordner2] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre - ~$ rmdir ordner1] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre - ~$ rm ordner1] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre - ~$ rm ordner1/datei2] -] - -[slide [h2 Arbeit mit Dateien und Pfaden] - [pre - ~$ rm -r ordner1/] -] - -[slide [h2 Zusammenfassung] - [ul .uncover - [h3 Shellsyntax] - [li Die Shell erlaubt es Instruktionen zu beschreiben] - [li mit \> kann jede Programmausgabe in eine Datei geleitet werden] - [li Die Fähigkeiten von Programmen sind so erweiterbar] - ] -] - -[slide [h2 Zusammenfassung] - [ul .uncover - [h3 Pfade] - [li Einige Programme nehmen Pfade als Parameter an] - [li Pfade können nach Belieben absolut oder relativ sein] - [li Pfade mit Leerzeichen werden in Anführungszeichen gefasst, damit sie als einzelne Parameter gelten] - [li [strong Kommandos:] mkdir, cp, mv, rmdir, rm, rm -r] - ] -] - -[slide [h1 Datenträger und Dateisysteme]] - -[slide [h2 Datenträger] - [ul .uncover - [li Enthalten Verzeichnisse und Dateien] - [li Aber: Gerät enthält nur einen "Datenstrom"] - [li Dateistrukturen müssen kodiert werden] - [li Ein Dateisystem kodiert Dateien auf einem Datenträger] - ] -] - -[slide [h2 Datenträger] - [ul .uncover - [h3 Beispiel: CD-ROM Images] - [li Dateisystem von CD-ROMs ist spezifiziert in ISO 9660] - [li ISO 9660 wird beim Schreiben von CDs zusamengebaut, ist nicht nachträglich veränderlich] - [li Unterstützt Unix-Benutzerrechte nur mit Erweiterungen] - [li Ganzes Dateisystem kann in .iso-Dateien gespeichert werden] - ] -] - -[slide [h2 Datenträger] - [ul .uncover - [h3 Beispiel: CD-ROMs] - [li CD-ROM kann von .iso-Datei gebrannt werden] - [li Inhalt der CD ist [em identisch] mit .iso-Datei] - [li Erstellen eines CD-Images: [pre ~$ cp /dev/cdrom live.iso]] - ] -] - -[slide [h1 Dateisysteme]] - -[slide [h2 Dateisysteme] - [ul .uncover - [li [pre ~$ mkdir cdrom][br]] - [li [pre ~$ sudo mount live.iso cdrom/][br]] - [li [pre ~$ ls cdrom/]] - ] -] - -[slide [h2 Dateisysteme] - [ul .uncover - [h3 Diverse Kommandos] - [li [pre ~$ lsblk][br]] - [li [pre ~$ df] [pre ~$ df -h] [br]] - [li [pre ~$ mount][br]] - [li [pre ~$ umount]] - ] -] - -[slide [h1 Dateisysteme auf Datenträgern anlegen]] - -[slide [h2 Dateisysteme und Datenträger] - [p [h3 Wir brauchen einen Computer ;-)] - [img "aqemu_1.jpg" "aQemu aus dem Menü starten"] - ] -] - -[slide [h2 Dateisysteme und Datenträger] - [p [h3 Wir brauchen einen Computer ;-)] - [img "aqemu_2.jpg" "eine neue Maschine anlegen"] - ] -] - -[slide [h2 Dateisysteme und Datenträger] - [p [h3 Wir brauchen einen Computer ;-)] - [img "aqemu_3.jpg" "Das CDROM-Laufwerk hinzufügen"] - ] -] - -[slide [h2 Dateisysteme und Datenträger] - [p [h3 Alternativ auf der Kommandozeile ;-)] - [pre ~$ dd bs=1M count=0 seek=2048 of=sparse.img] - [pre ~$ kvm -m 1024 sparse.img -cdrom /dev/cdrom] - ] -] - -[slide [h2 Dateisysteme und Datenträger] - [ul .uncover - [li Festplatten und USB-Sticks werden [em partitioniert]] - [li Dateisysteme werden idR. in einer Partition angelegt] - [li Ein Programm zum Anlegen von Partitionen und Dateisystemen: - [pre ~$ sudo gparted] - ] - ] -] - -[slide [h2 Dateisysteme und Datenträger] - [ul .uncover - [h3 Wir brauchen:] - [li Eine Partitionstabelle: gpt] - [li Eine Partition] - [li Ein Dateisystem: vfat] - [li Eine zweite Partition] - [li Ein zweites Dateisystem: ext4] - ] -] - -[slide [h2 Dateisysteme und Datenträger] - [ul .uncover - [h3 Dateisysteme] - [li Ext4: Verbreitet für Linux-Systeminstallation] - [li FAT (vfat): Verbreitet für Wechselmedien [ul - [li Kann keine Zugriffsrechte abbilden]]] - [li exFAT: Moderneres FS für Wechselmedien (unterstützt Dateien \>4GB)] - [li NTFS: Dateisystem für Windows-Installationen] - [li Weitere: HPFS, BtrFS, UDF, ...] - ] -] - -[slide [h2 Dateisysteme und Datenträger] - [ul .uncover - [h3 Dateisystem-Tools auf der Kommandozeile:] - [li [pre ~$ sudo fdisk /dev/sda][br]] - [li [pre ~$ sudo mkfs.ext4 /dev/sda1][br]] - [li mkfs.vfat, mkisofs, ...] - ] -] - -[slide [h1 \...]] - -[slide [h2 Zusammenfassung] - [ul - [li Um Dateien darzustellen benötigen wir ein Dateisystem] - [li Verschiedene Dateisysteme haben verschiedene Eigenschaften] - [li Datenträger werden partitioniert] - [li Partitionen nehmen Dateisysteme auf] - [li Wir [em mounten] Dateisysteme um auf Dateien zuzugreifen] - ] -] - -[slide [h2 Nächster Termin] - [ul - [li Nächster Termin: 2. Oktober] - [li Themen: Prozessverwaltung, Netzwerke] - ] -] - -] diff --git a/Tag_3.short b/Tag_3.short deleted file mode 100644 index 25f9987..0000000 --- a/Tag_3.short +++ /dev/null @@ -1,367 +0,0 @@ -[html -[head [title VHS Linuxkurs]] -[body - [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig] - -[slide [h1 VHS Linux Grundkurs - Teil 3]] - -[slide [h2 Themen] - [ul - [li Prozessverwaltung] - [li Prozesse und Benutzer] - [li Netzwerke] - ] -] - -[slide [h1 Prozesse und Prozessmanagement]] - -[slide [h2 Prozesse und Prozessmanagement] - [pre ~$ mousepad] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre Strg + Z] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre ~$ fg] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre - Strg + Z - ~$ bg] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre ~$ pidof mousepad] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre ~$ mousepad &] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre ~$ pidof mousepad] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre ~$ kill ...] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre - ~$ ps - ~$ ps -e - ~$ ps -eo pid,user,command] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre - ~$ pstree - ~$ pstree -u -p] -] - -[slide [h2 Prozesse und Prozessmanagement] - [pre ~$ htop] -] - -[slide [h1 Prozesse und Benutzer]] - -[slide [h2 Prozesse und Benutzer] - [ul .uncover - [li [pre ~$ touch /home/live/datei1][br]] - [li [pre ~$ touch /datei1][br]] - [li "live" hat keine Schreibrechte im Stammverzeichnis] - ] -] - -[slide [h2 Prozesse und Benutzer] - [pre ~$ ls -lh /usr/bin/sudo] -] - -[slide [h2 Prozesse und Benutzer] - [h3 Zugriffsrechte] - [pre /usr/bin/sudo] - [table - [tr [th Typ] [th Eigentümer [strong (root)]] [th Gruppe [strong (root)]] [Andere]] - [tr [td -] [td rw[strong s]] [td r-x] [td r-x]] - ] - [p] - [ul .uncover - [li sudo wird immer mit den Rechten von "root" ausgeführt] - ] -] - -[slide [h2 Prozesse und Benutzer] - [ul - [p [em sudo] gestattet die Ausführung eines Programms als [em root]. Je nach konfiguration fragt es dabei nach dem Benutzerpasswort, und gestattet oder verwährt bestimmte Aktionen.] - [li [pre - ~$ whoami - live] [br]] - [li [pre - ~$ sudo whoami - root]] - ] -] - -[slide [h2 Prozesse und Benutzer] - [ul .uncover - [li [pre ~$ sudo touch /home/live/datei2][br]] - [li [pre ~$ sudo touch /datei2]] - ] -] - -[slide [h2 Prozesse und Benutzer] - [ul .uncover - [li [pre ~$ echo Hallo > /home/live/datei2][br]] - [li [pre ~$ echo Hallo > /datei2]] - ] -] - -[slide [h2 Prozesse und Benutzer] - [ul .uncover - [li [pre ~$ sudo echo Hallo > /home/live/datei2][br]] - [li [pre ~$ sudo echo Hallo > /datei2][br]] - [li → ???] - ] -] - -[slide [h2 Prozesse und Benutzer] - [table [tr - [th] [th Programm] [th Parameter 1] [th Parameter 2] [th Umleitung] [th Ziel] - ][tr - [td [pre ~$]] [td [pre sudo]] [td [pre echo]] [td [pre Hallo]] [td [pre \>]] [td [pre datei2]] - ][tr - [td ] [td nimmt die Identität root an] [td wird von sudo als root ausgeführt] [td Geht als [em Parameter 1] an echo] [td wird von der Shell abgewickelt] [td wird von der Shell geschrieben] - ]] - [p] - [ul .uncover - [li → Die Shell läuft selbst als Benutzer] - ] -] - -[slide [h2 Zusammenfassung] - [ul .uncover - [h3 Prozesse] - [li Prozesse können auf dem Terminal im Hintergrund und im Vordergrund laufen] - [li Prozesse sind hierarchisch angeordnet] - [li jeder Prozess ist einem Systembenutzer zugeordnet] - [li [strong Kommandos:] jobs, fg, bg, pidof, kill, ps, pstree, htop] - ] -] - -[slide [h1 [strike Linux Grundkurs][br] - Netzwerk Grundkurs] -] - -[slide [h2 Netzwerk - Beispiel] - [h3 Wir rufen eine Webseite auf] - [pre -~$ telnet vhs-leipzig.de 80 -GET / HTTP/1.1 -Host: vhs-leipzig.de -] -] - -[slide [h2 Netzwerk - Beispiel HTTP] - [ul - [li HTTP ist ein Netzwerkprotokoll] - [li Wir benutzen es für eine Anwendung - zum Aufrufen von Webseiten] - [li HTTP ist ein Applikationsprotokoll] - ] -] - -[slide [h2 Netzwerk - Routing] - [h3 Was ist vhs-leipzig.de?] - [pre ~$ nslookup vhs-leipzig.de] -] - -[slide [h2 Netzwerk - Routing] - [ul - [li Jeder [em Internethost] hat eine IP-Adresse] - [li IP ist das Internetprotokoll] - [li Das Internet ist eine Verbindung [em zwischen] Netzwerken - Inter Net] - [li IP ermöglicht Routing zwischen Netzwerken und Routenfindung im Internet] - ] -] - -[slide [h2 Netzwerk - Routing] - [h3 Unser Rechner hat auch eine IP-Adresse] - [pre ~$ ip address] -] - -[slide [h2 Netzwerk - Routing] - [h3 Unser Rechner wird über ein [em Gateway] ins Internet geroutet] - [pre ~$ ip route list] -] - -[slide [h2 Netzwerk - Routing] - [ul - [li Ein Gateway bzw. Router vermittelt zwischen IP-Netzen] - [li Unser Rechner benutzt das Gateway um andere Netze im Internet zu erreichen] - ] -] - -[slide [h2 Netzwerk - Link] - [h3 Im lokalen Netz gibt es auch Link-Addressen] - [pre ~$ arp -n] -] - -[slide [h2 Netzwerk - Link] - [ul - [li Link-Adressen werden auch Hardware- oder MAC-Adressen genannt] - [li Link-Adressen werden [strong nicht] zwischen Netzwerken geroutet - dazu dienen nur IP-Adressen] - [li Über Link-Adressen können nur Rechner im selben Netzwerk erreicht werden] - [li Link-Adressen sind idR. in der Netzwerkhardware fest eingestellt] - [li Ein Netzwerk sind Rechner, die über Kabel und [em Switches] verbunden sind] - ] -] - -[slide [h2 Netzwerk - Transport] - [ul - [h3 Eine Sache fehlt noch:] - [li Das [em Transport]-Protokoll] - [li [pre ~$ telnet vhs-leipzig.de [strong 80]]] - ] -] - -[slide [h2 Netzwerk - Transport] - [ul .uncover - [li HTTP ist ein Applikationsprotokoll auf Port 80] - [li ... auf Port 80 von TCP, dem Transmission Control Protocol] - [li TCP ist ein Transportprotokoll] - [li TCP-"Adressen" werden Ports genannt, und erlauben es an einem einzelnen Internethost mehrere [em Dienste] bzw. Applikationen zu unterscheiden] - ] -] - -[slide [h2 Netzwerk - Transport] - [ul - [li IP bricht Netzwerkdaten in Pakete auf] - [li TCP ermöglicht es Paketverluste zu erkennen und eine Neuübertragung durchzuführen] - [li TCP ordnet vertauschte Pakete in der richtigen Reihenfolge an] - [li TCP ermöglicht damit [em Verbindungen] und [em Streams]] - ] -] - -[slide [h2 Netzwerk - Transport] - [ul - [li Ein anderes Transportprotokoll ist UDP] - [li UDP ist Sinnvoll für Übertragungen in einzelnen Paketen] - [li Ein Applikationsprotokoll auf UDP ist z.B. Namensauflösung (DNS, Port 53)] - [li [pre ~$ nslookup vhs-leipzig.de]] - ] -] - -[slide [h2 Netzwerk - IP-Konfiguration] - [ul .uncover - [li [em Link-Adressen sind idR. in der Netzwerkhardware fest eingestellt]] - [li Eine IP-Adresse ist abhängig von dem Netz, in dem sich ein Rechner befindet] - [li ebenso die Adresse des Gateways] - [li und ggf. der [em Nameserver]] - [li und ggf. Gateways zu anderen lokalen Netzen] - [li usw...] - ] -] - -[slide [h2 Netzwerk - IP-Konfiguration] - [ul .uncover - [li zur automatischen IP-Konfiguration dient das Protokoll DHCP] - [li sobald ein Link besteht kann ein Rechner eine IP-Konfiguration via DHCP erfragen] - [li ein DHCP-Server sendet als Antwort die IP-Konfiguration] - [li Unter GNU/Linux gibt es versciedene Hilfsmittel zur IP-Konfiguration] - [li Der Dienst [em NetworkManager] enthält diverse Automatismen] - [li Beispiel für manuellen DHCP-Request: [pre ~$ sudo dhclient -v eth0]] - ] -] - -[slide [h2 Netzwerk - Problembehebung] - [ul .uncover - [h3 Ein Netzwerkdienst (eine Webseite) kann nicht erreicht werden] - [li geht mein Link?] - [li geht das Gateway?] - [li geht die Namensauflösung?] - [li geht der Internethost?] - [li geht der Dienst?] - ] -] - -[slide [h2 Netzwerk - Problembehebung] - [ul - [h3 Programme zur Diagnose] - [li [pre ~$ ip address]] - [li [pre ~$ ip route list]] - [li [pre ~$ nslookup] oder [pre ~$ dig]] - [li Gateway pingen, Nameserver pingen, bekannte IP-Adresse pingen - [pre ~$ ping]] - [li [pre ~$ nmap]] - ] -] - -[slide [h1 SSH - Die Secure Shell]] - -[slide [h2 SSH] - [pre ~$ ssh live@hostname] - ("hostname" ist die IP-Adresse an der Tafel) -] - -[slide [h2 SSH] - [pre ~$ tmux a] -] - -[slide [h2 SSH] - [pre ~$ ssh -X live@hostname] - [pre ~$ mousepad] -] - -[slide [h2 SSH - Dateiübertragung] - [ul .uncover - [li [pre ~$ ssh live@hostname ls]] - [li [pre ~$ ssh live@hostname cat datei1]] - [li [pre ~$ ssh live@hostname cat datei1 > datei1]] - ] -] - -[slide [h2 SSH - Dateiübertragung] - [pre scp live@hostname:datei1 ./] -] - -[slide [h2 SSH - Dateiübertragung] - [p Dateimanager → sftp://live@hostname] -] - -[slide [h2 SSH - Dateiübertragung] - [pre - ~$ mkdir mount - ~$ sshfs live@hostname: mount - ~$ ls mount] -] - -[slide [h1 Rdesktop]] - -[slide [h2 Rdesktop] - [pre ~$ rdesktop hostname] -] - -[slide [h2 Rdesktop] - [ul .uncover - [li RDesktop ist ein [em Client] für das Remote Desktop Protocol (RDP)] - [li Das gibt es auch unter Windows] - [li RDesktop erlaubt auch den Login auf Windows-Terminal Servern] - [li Der RDP-Client unter Windows kann auch für den Login auf Linux-Servern genutzt werden] - ] -] - -[slide [h1 \...] - Webserver..., Netcat..., tar..., inetd... -] - -[slide [h2 Nächster Termin] - [ul - [li Mittwoch, 9. Oktober] - [li Softwareinstallation] - [li Anwendungsprogramme] - ] -] - -]] diff --git a/Tag_4.short b/Tag_4.short deleted file mode 100644 index f11091f..0000000 --- a/Tag_4.short +++ /dev/null @@ -1,293 +0,0 @@ -[html -[head [title VHS Linuxkurs]] -[body - [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig] - -[slide [h1 VHS Linux Grundkurs - Teil 4]] - -[slide [h2 Themen] - [ul - [li Softwareinstallation mit Paketsystemen] - [li Installation des Betriebssystems] - ] -] - -[slide [h1 Softwareinstallation und Paketsysteme]] - -[slide [h2 Softwareinstallation] - [p [h3 Wir benutzen ein Paketsystem] - [img src="synaptic_1.jpg"] - ] -] - -[slide [h2 Was ist ein Paketsystem?] - [ul .uncover - Die Vier Freiheiten: - [li [b Verwenden:] das Programm für jeglichen Zweck ausführen] - [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen] - [li [b Verbreiten:] das Programm weitergeben] - [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben] - ] -] - -[slide [h2 Was ist ein Paketsystem?] - [ul - Die Vier Freiheiten: - [li [b Verwenden:] das Programm für jeglichen Zweck ausführen] - [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen [ul - [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]] - ]] - [li [b Verbreiten:] das Programm weitergeben] - [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben [ul - [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]] - ]] - ] -] - -[slide [h2 Was ist ein Paketsystem?] - [ul .uncover - [li Ein Softwareauthor schreibt [em Quellcode]] - [li Programm muss für ein Rechnersystem [em kompiliert/gebaut] werden] - [li Dies ist nicht Aufgabe des Authors (denn große Vielfalt von Plattformen, Hardware, etc.)] - [li Eine System-[em Distribution] ist eine Sammlung von Software[em paketen]] - [li Maintainer [em paketieren] Programme für eine Distribution] - ] -] - -[slide [h2 Was ist ein Paketsystem?] - [ul .uncover - [li Distributionen stellen Softwarearchive bereit → [em Paketquellen] [ul - [li z.B. online zum Download] - [li z.B. als CD-Rom] - ]] - [li Verschiedene Distributionen benutzen verschiedene Arten Pakete zu bauen → [em Paketsysteme] [ul - [li z.B. nur Archiv entpacken] - [li z.B. Quellcode automatisch bauen] - [li z.B. Dateisystemimage mounten] - ]] - [li Oft sind Pakete kryptographisch signiert] - ] -] - -[slide [h2 Was ist ein Paketsystem?] - [ul - [li [strong Oft sind Pakete kryptographisch signiert]] - [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen] - ] -] - -[slide [h1 Doch nochmal zur Kryptographie]] - -[slide [h2 Was ist verschlüsselung?] - [p [h3 Der Klassiker: Symmetrische Verschlüsselung:] - [a href="https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem" - [img src="1200px-Orange_blue_symmetric_cryptography_de.svg.png" width="50%"] - [br] https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem] - ] -] - -[slide [h2 Symmetrische Verschlüsselung] - [ul - [h3 Verschlüsseln:] - [li [pre ~$ echo "Geh Heim Dienst!" >datei]] - [li [pre ~$ gpg -c datei]] - [h3 Zum entschlüsseln:] - [li [pre ~$ gpg -d date.gpg]] - [p (Achtung: gpg merkt sich Passworte für kurze Zeit)] - ] -] - -[slide [h1 Symmetrische Verschlüsselung -> Asymmetrische Verschlüsselung]] - -[slide [h2 Asymmetrische Verschlüsselung] - [p style="text-align: center;" - [a href="https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem" - [img src="Orange_blue_public_private_keygeneration_de.svg.png" width="25%" ] - [img src="1200px-Orange_blue_public_key_cryptography_de.svg.png" width="60%" ] - [br] https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem - ] - ] -] - -[slide [h1 Asymmetrische Verschlüsselung -> Signierung] - Wenn jeder eine Nachricht an mich verschlüsseln kann, wie kann ich dann die Identität des Absenders verifizieren? -] - -[slide [h2 Signierung] - [p style="text-align: center;" - [a href="https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem" - [img src="1200px-Orange_blue_digital_signature_de.svg.png" width="50%"] - [br] https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem - ] - ] -] - -[slide [h2 Signierung] - [h3 Übung aus dem letzten Kurstag] - [pre - ~$ ssh beamer - The authenticity of host 'beamer (192.168.101.20)' can't be established. - ECDSA key fingerprint is SHA256:.... - Are you sure you want to continue connecting (yes/no)? _ - ] - [ul - [li -> der öffentliche Schlüssel identifiziert einen Host (Fingerprinting)] - ] -] - -[slide [h2 Was ist ein Paketsystem?] - [ul .uncover - [li [strong Oft sind Pakete kryptographisch signiert]] - [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen] - [li -> Pakete sind vom Maintainer signiert] - ] -] - -[slide [h1 Apt und dpkg]] - -[slide [h2 Apt und dpkg] - [ul .uncover - [li Paketinformationen neu laden] - [li Paketquellen bearbeiten] - [li zum Installieren vormerken] - ] -] - -[slide [h2 Apt und dpkg] - [ul .uncover - [li [pre ~$ sudo apt-get update]] - [li [pre ~$ apt-cache search ...]] - [li [pre ~$ apt-cache show ...]] - [li [pre ~$ sudo apt-get install ...]] - [li [pre ~$ sudo apt-get remove ...]] - ] -] - -[slide [h2 Apt und dpkg] - [ul .uncover - [li Pakete haben Abhängigkeiten] - [li Abhängigkeiten können Paketinstallationen blockieren] - [li Distributionen paketieren deshalb häufig nicht die neusten Programmversionen] - ] -] - -[slide [h2 Apt und dpkg] - [ul .uncover - [li [pre ~$ less /etc/apt/sources.list]] - [li [pre ~$ sudo apt-get upgrade]] - [li [pre ~$ sudo apt-get dist-upgrade]] - [li [pre ~$ sudo apt-get autoremove]] - ] -] - -[slide [h1 Andere Paketsysteme]] - -[slide [h2 Andere Paketsysteme] - [ul .uncover - [li Arch GNU Linux [ul - [li [pre pacman -Ss ...; pacman -S ...; pacman -R ...]] - ]] - [li Gentoo [ul - [li [pre emerge --sync; emerge --search ...; emerge ... ]] - ]] - [li Fedora/RedHat [ul - [li [pre yum search ...; yum install ...; yum remove ... ]] - ]] - [li Andere [ul - [li ipkg/opkg, msi, ...] - ]] - ] -] - -[slide [h1 Software selbst übersetzen] - Selbst "Maintainer" sein ... -] - -[slide [h2 Software selbst übersetzen] - [ul .uncover - [li Authoren stellen Quellcode häufig über [em Versionsverwaltung] bereit [ul - [li Wir müssen den Quellcode [em auschecken / clonen]] - ]] - [li Software muss in Maschinencode übersetzt werden [ul - [li Wir brauchen einen [em Compiler] für die entsprechende Programmiersprache] - [li Wir müssen selbst [em Abhängigkeiten] beachten (→ Dependency Hell)] - ]] - [li IdR. wird der Prozess vereinfacht durch Buildautomatisierung] - ] -] - -[slide [h2 Software selbst übersetzen] - [ul .uncover - [h3 Ein einfaches Beispiel] - [li [pre ~$ git clone https://git.plutz.net/git/vhs_kurs]] - [li [pre ~$ cd vhs_kurs]] - [li [pre ~$ make]] - ] -] - - - -[slide [h1 Systeminstallation]] - -[slide [h2 Systeminstallation] - [ul .uncover - [li Beginnt mit einer leeren Partition] - [li System muss gerade soweit bestehen, dass Software installiert werden kann] - [li Systemkernel muss installiert sein] - [li Bootloader muss installiert sein (Plattformspezifisch)] - [li ggf. Benutzer anlegen] - [li ggf. /etc/fstab anpassen] - ] -] - -[slide [h2 Systeminstallation] - [ul .uncover - [h3 Installation des Basissystems] - [li Abhängig von Distribution] - [li debootstrap, pacstrap] - [li Archiv entpacken] - ] -] - -[slide [h2 Systeminstallation] - [ul .uncover - [li [pre ~$ mkdir sys]] - [li [strike mount /dev/sdx1 sys/]] - [li [pre ~$ mkdir sys/bin]] - [li [pre ~$ cp /bin/busybox sys/bin]] - [li [pre ~$ sys/bin/busybox --install sys/bin]] - ] -] -[slide [h2 Systeminstallation] - [ul .uncover - [li [pre ~$ sudo chroot sys /bin/sh]] - ] -] - -[slide [h2 Zusammenfassung] - [ul - [li Paketsysteme vereinfachen die Softwareinstallation] - [li Paketsysteme erhöhen die Sicherheit] - [li Paketsysteme und verfügbare Pakete sind der Hauptunterschied zwischen Distributionen] - [li Zur Systeminstallation wird im wesentlichen das Paketsystem ausgerollt] - ] -] - -[slide [h1 Anwendersoftware]] -[slide [h1 \...]] - -[slide [h2 Nächster Termin] - [ul - [li Mittwoch, 16.10.] - ] -] - -]] - diff --git a/Tag_5.short b/Tag_5.short deleted file mode 100644 index db780a6..0000000 --- a/Tag_5.short +++ /dev/null @@ -1,163 +0,0 @@ -[html -[head [title VHS Linuxkurs]] -[body - [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig] - -[slide [h1 VHS Linux Grundkurs - Teil 5]] - -[slide [h2 Themen] - [ul - [li Ein Beispiel in Wine] - [li Symlinks, Hardlinks und Konzepte für das Backup] - [li Owncloud/Nextcloud - Beispiel für einen Webservice] - ] -] - -[slide [h1 Ein Beispiel in WinE] [strong W]ine [strong i]s [strong n]ot an [strong E]mulator] - -[slide [h2 Installation von Wine] - [ul .uncover - [li [pre ~$ sudo apt-get install wine]] - [li -> 32 bit vs. 64 bit] - [li [pre ~$ sudo dpkg --add-architecture i386] Notiz am Rande: Lange Option mit --] - [li [pre ~$ sudo apt-get update]] - [li [pre ~$ sudo apt-get install wine32]] - ] -] - -[slide [h2 Benutzen von Wine] - [ul - [li [pre ~$ winecfg]] - [li [pre ~$ WINEPREFIX=~/.wine/irgendwas winecfg]] - [h3 Beispiel Media Monkey:] - [li [pre ~$ WINEPREFIX=~/.wine/mediamonkey wine MediaMonkey.exe]] - ] -] - -[slide [h2 Installation von Software] - [ul - [li Lizenzvertrag durchlesen [ul - [li Verwenden, Verstehen, Verbreiten, Verbessern?] - [li GNU Software in Windows-Programmen?] - ]] - ] -] - -[slide [h2 Alternativen finden] - [ul - [li Clementine [ul - [li Remote Control] - [li Automatisches Tagging] - [li Formate konvertieren] - ]] - [li K3B [ul - [li CDs Erstellen / Kopieren] - [li auch Lautstärke normalisieren, etc...] - ]] - [li Programme können kombiniert werden] - ] -] - -[slide [h1 Symlinks, Hardlinks, Backup]] - -[slide [h2 Symlinks] - [ul .uncover - [li Symlinks sind Verweise auf einen anderen Pfad, wirken wie Dateien] - [li Andere Bzeichungen: symbolische Links, semantische Links] - [li [pre ~$ ln -s /usr/share/icons/Adwaita/scalable/ icons]] - [li Im Dateimanager: Ordner ziehen, Strg + Shift] - [li Symlinks können ungültig sein] - ] -] - -[slide [h2 Hardlinks] - [ul .uncover - [li Eine Datei wird über einen Pfad identifiziert] - [li Ein Pfad ist ein Verzeichniseintrag] - [li Verschiedene Verzeichiseinträge dürfen auf die selbe Datei verweisen] - [li Die Datei ist an mehreren Orten gleichzeitig (!)] - [li Funktioniert natürlich nur innerhalb des selben Dateisystems] - [li Wird ein Eintrag gelöscht, bleiben die anderen gültig] - ] -] - -[slide [h2 Backups] - [ul - [li Zum Backup gehört auch Restore ;-)] - [li Klassisches Backup: voll, differentiell, inkrementell] - [li Probleme: [ul - [li Backups müssen in mehreren Schritten zurück gespielt werden] - [li Verlust eines Backups macht nachfolgende Inkremente unbrauchbar] - ]] - [li Das geht besser - mit Hardlinks] - ] -] - -[slide [h2 Backups mit rsync] - [ul - [li [pre ~$ rsync -a Daten/ Backup_2019-10-16/]] - [li [pre ~$ rsync -a Daten/ Backup_2019-10-17/ --link-dest=Backup_2019-10-16/ ]] - [li Jedes Backup wirkt wie ein Vollbackup [ul - [li Kann als ganzes zurückgespielt werden] - [li Kann gelöscht werden - andere Backups bleiben nutzbar] - ]] - [li Zeit- und Speicherplatzaufwand wirken wie bei inkrementellen Backups] - ] -] - -[slide [h1 Nextcloud]] - -[slide [h2 Installation] - [p [h3 1. Der Webserver] - [pre ~$ sudo apt-get install apache2 php] - ] -] - -[slide [h2 Installation] - [h3 2. Die Applikation] - [ul - [li [pre ~$ wget https://download.nextcloud.com/server/releases/nextcloud-17.0.0.zip]] - [li [pre ~$ unzip nextcloud-17.0.0.zip]] - [li [pre ~$ mv nextcloud /srv/]] - ] -] - -[slide [h2 Nextcloud Konfiguration] - [pre ~$ sudo nano /etc/apache2/sites-available/nextcloud.conf] - [pre -Alias / "/srv/nextcloud/" - - - Require all granted - Options FollowSymlinks MultiViews - AllowOverride All - - SetEnv HOME /srv/nextcloud - SetEnv HTTP_HOME /srv/nextcloud -] -] - -[slide [h2 Nextcloud Abhängigkeiten] - [ul - [li [pre ~$ sudo a2ensite nextcloud]] - [li [pre ~$ sudo systemctl reload apache2]] - [li Webbroser http://localhost] - [li Log-Files?] - [li [pre ~$ sudo chown www-data:www-data -R /srv/nextcloud]] - [li [pre ~$ sudo apt-get install php-curl php-fdomdocument \\ -      php-{gd,mbstring,sqlite3,xml,zip}]] - ] -] - -[slide [h1 \...] cups, cron, adduser, snapshots?] - -[slide [h2 Nächster Termin] - [ul - [h3 Installparty!] - [li nächster Mittwoch, 23. Oktober] - [li Bringt eure Laptops mit!] - [li Sichert vorher eure Daten!] - ] -] - -]]