2 [head [title Linux Verstehen]]
4 [footer Paul Hänsch | Linux Verstehen | Heinrich Hertz Gymnasium Berlin]
11 [li Seit 2012 freiberuflicher Programmierer]
12 [li Arbeit an und mit Freier Software (Open Source)]
13 [li Kunden: Jugendclub, Kinderzirkus, Kulturserver, ...]
14 [li in der Vergangenheit: Free Software Foundation Europe]
15 [li Videopodcast: GNUfunzt! http://gnufunzt.de]
16 [li Kontakt: paul@plutz.net]
19 [slide [h2 Organisatorisches zum Kurs]
22 [li 8:30 bis 13:00 Uhr]
23 [li Letzter Termin 5.7. - Installparty?]
25 [li Themenübersicht - Nach der Einführung]
28 [slide [h2 Vorstellungsrunde]
30 [li Warum habt ihr den Kurs gewählt?]
31 [li Welche Themen Interessieren euch?]
32 [li Welche Vorerfahrung habt ihr?]
36 [slide [h1 Was ist ein Betriebssystem?] ]
38 [slide [h2 Was ist ein Betriebssystem?]
40 [li Unterscheidung: Anwendungsprogramm, "App"]
41 [li idR. nicht selbst als "Programm" bezeichnet]
42 [li Läuft vom Start bis zum Halt des Computers]
43 [li Für Benutzer mehr oder weniger unsichtbar]
44 [li Stellt Funktionen für Programme Bereit]
48 [slide [h2 Funktionen eines Betriebssystems]
50 [li Einheitlicher Zugriff auf Hardware (Treiber)]
51 [li Organisation von Dateien]
52 [li Zugriff auf Netzwerk]
53 [li Zuteilung von Rechenzeit (Task-Switching, Multitasking)]
54 [li Trennung von Applikationen (Virtualisierung)]
55 [li Trennung von Benutzern, Zugriffssrechte]
56 [li [b Kontrolle dieser Funktionen über Dienstprogramme]]
61 [p style="text-align: center; font-size: 3em; line-height: 1.25em;"
62 [sup [b GNU]] [sub Desktop] [sup [i Unix]] [br]
63 [sub [u Ubuntu]] [sup [b Linux]] [sub Distribution]
64 [sub Gnome] [sup Knoppix]
68 [slide [h2 Was ist Unix?]
70 [li 1969 von an den Bell Labs für PDP-7 konzipiert]
71 [li Von "C"-Erfinder Dennis Ritchie und Ken Thompson]
72 [li Entworfen um "Space Travel"-Spiel als Anwendung]
73 [li Schafft grundlegenden Aufbau für Beriebssysteme]
74 [li Von Bell an kommerzielle Computerhersteller lizensiert]
78 [slide [h2 Was ist GNU?]
86 [slide [h2 Was ist GNU?]
88 [li 1983 am durch Richard M. Stallman am MIT begonnen]
89 [li Auslöser war u.A. Missmut über Kopierschutzpraktiken]
90 [li Grundlage der Free Software Bewegung]
91 [li Unix-Kompatibles Betriebssystem]
92 [li Umfasst Unix-Dienstprogramme]
96 [slide [h2 Was ist Freie Software?]
99 [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
100 [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen]
101 [li [b Verbreiten:] das Programm weitergeben]
102 [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben]
106 [slide [h2 Was ist Linux?]
108 [li 1991 durch Linus Torvalds an der Uni Helsinki begonnen]
109 [li Unix-Kompatibler Betriebssystem-[em Kernel]]
110 [li Lauffähig mit GNU-Dienstprogrammen]
111 [p style="text-align: center; font-size: 2em; line-height: 1.25em;" GNU + Linux]
115 [slide [h2 Was ist eine Distribution?]
117 [li Linux-Kernel ist ein eigenes Softwareprojekt]
118 [li GNU ist ein eigenes Softwareprojekt]
119 [li Grafische Bedienoerflächen sind unabhängig davon]
120 [li Anwendungsprogramme sind eigenständige Projekte]
121 [li "Distributor" stellt Softwarepakete zusammen]
122 [li Softwarekomponenten werden angepasst um miteinander kompatibel zu sein]
123 [li Software wird für Computerarchitekturen "kompiliert"]
127 [slide [h2 Beispiele für Distributionen]
129 [li Ubuntu - Kommerzielle Distribution basierend auf Debian]
130 [li Debian - Frühe Distribution mit Online-Paketsystem]
131 [li Gentoo - Zusammenstellung von Quellcode zum selbst anpassen]
132 [li Arch - Verbreitete Distribution mit eigenem Paketsystem]
133 [li Knoppix - Debian basiertes Live-System]
134 [li Fedora, RedHat, Suse, Parabola, Puppy, Rebecca Black, ...]
135 [li Tausende weitere]
139 [slide [h2 Desktopumgebungen]
140 Grafische Bedienoberflächen können sehr unterschiedlich aussehen
146 [li Maté, i3, Awesome, WindowMaker, LXQT, Enlightenment, usw...]
147 [li Unterscheidung: Window Manager, Toolkit, Softwaresuite]
151 [slide [h2 Weitere Begriffe]
153 [li [b Android:] anderes Betriebssystem mit Linux-Kernel]
154 [li [b BSD:] Berkeley Software Distribution, anderes Freies Unix]
155 [li [b Busybox:] andere Suite von Unix-Dienstprogrammen]
159 [slide [h1 Themenübersicht]]
161 [slide [h2 Themen Tag 1]
163 [li Arbeit mit Dateien]
164 [li Etwas Kommandozeile]
166 [li Benutzer, Gruppen]
167 [li Ordnerstrukturen]
171 [slide [h2 Weitere Themen]
173 [li Prozessmanagement]
174 [li Vertiefung Kommandozeile, Shellscripting]
175 [li Datenträger, Dateisysteme, Partitionen]
177 [li Paketsysteme, Softwareinstallation, Systeminstallation]
179 [li nach Wunsch Android, X11, Verschlüsselung, Internetdienste, Versionskontrolle, Gameserver, ...]
184 [slide [h1 Arbeit mit Dateien]
188 [slide [h2 Arbeit mit Dateien]
189 [pre ~$ touch datei1]
192 [slide [h2 Arbeit mit Dateien]
196 [slide [h2 Arbeit mit Dateien]
199 -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1]
202 [slide [h2 Arbeit mit Dateien]
203 [pre ~$ echo "Hallo Welt!" \> datei1]
206 [slide [h2 Arbeit mit Dateien]
209 -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1]
212 [slide [h2 Arbeit mit Dateien]
216 [slide [h2 Arbeit mit Dateien]
217 [pre style="font-size: .75em; line-height: 1.5em;"
222 -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1
223 ~$ echo "Hallo Welt!" > datei1
225 -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
232 [slide [h2 Arbeit mit Dateien]
235 -rwxr-xr-x 1 root root 1168776 Apr 18 06:12 /bin/bash]
238 [slide [h2 Arbeit mit Dateien]
239 [pre ~$ ls -l -h /bin/bash]
242 [slide [h2 Arbeit mit Dateien]
243 [pre -rwxr-xr-x 1 root root 1.2M Apr 18 06:12 /bin/bash]
246 [slide [h2 Zusammenfassung]
248 [li [pre touch] legt eine Datei an]
249 [li [pre ls] zeigt Informationen über eine Datei]
253 [slide [h2 Zusammenfassung]
255 [li Kommandos lassen sich parametrisieren, z.B. [pre ls -l] und [pre ls -h]]
259 [slide [h2 Zusammenfassung]
261 [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul .uncover
262 [li [strong Eigentlich nur ausgeben!]]
267 [slide [h2 Zusammenfassung]
269 [li [pre cat] zeigt den Inhalt von Dateien an]
273 [slide [h2 Zusammenfassung]
281 [slide [h1 Zugriffsrechte]]
283 [slide [h2 Zugriffsrechte]
284 [pre ~$ ls -l datei1]
285 [pre -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1]
286 [table style="width: 85%;"
287 [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]]
288 [tr [td [pre -]] [td [pre rw-]] [td [pre r--]] [td [pre r--]]]
292 [slide [h2 Zugriffsrechte]
293 [pre ~$ ls -l /bin/cat]
294 [pre -rwxr-xr-x 1 root root 34676 Feb 22 2017 /bin/cat]
295 [table style="width: 85%;"
296 [tr [th Typ] [th Eigentümer (root)] [th Gruppe (root)] [th Andere]]
297 [tr [td [pre -]] [td [pre rwx]] [td [pre r-x]] [td [pre r-x]]]
301 [slide [h2 Zugriffsrechte]
305 [pre --w-r--r-- 1 live live 12 Apr 10 02:13 datei1]
306 [table style="width: 85%;"
307 [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]]
308 [tr [td [pre -]] [td [pre -w-]] [td [pre r--]] [td [pre r--]]]
312 [slide [h2 Zugriffsrechte]
315 cat: datei1: Keine Berechtigung]
318 [slide [h2 Zugriffsrechte]
325 [slide [h2 Zugriffsrechte - Gruppen]
328 live sudo video input]
331 [slide [h2 Zugriffsrechte - Gruppen]
333 ~$ chgrp video datei1
335 -rw-r--r-- 1 live video 12 Apr 10 02:13 datei1]
338 [slide [h1 Navigation im Dateisystem]]
340 [slide [h2 Navigation im Dateisystem]
346 [slide [h2 Navigation im Dateisystem]
353 [slide [h2 Navigation im Dateisystem]
360 [slide [h2 Navigation im Dateisystem]
366 bin etc media proc sys var boot home mnt
367 root tmp dev lib opt sbin usr]
370 [slide [h2 Navigation im Dateisystem]
378 [slide [h2 Navigation im Dateisystem]
380 [li Dateipfade können [em absolut] oder [em relativ] sein]
381 [li Absolute Pfade beginnen immer mit einem Slash (Schrägstrich)]
383 [pre /home/live/datei1]]
384 [li Relative Pfade beginnen niemals mit einem Schrägstrich]
387 [li Relative Pfade bezeichenen einen Ort Abhängig vom Arbeitsverzeichnis (pwd)]
391 [slide [h2 Navigation im Dateisystem]
394 [li [pre /home/live/../live/../live]]
399 [slide [h2 Systemordner in Unix]
401 [li [strong /bin] enthält ausführbare Programme]
402 [li [strong /boot] enthält den Systemkernel und Dateien, die damit unmittelbar in Zusammenhang stehen]
403 [li [strong /etc] enthält systemweite Konfigurationsdateien]
404 [li [strong /home] enthält Heimverzeichnisse der Benutzer]
405 [li [strong /lib] enthält sogenannte Softwarebibliotheken]
406 [li [strong /media] wird benutzt um temporäre Medien wie CDs und USB-Sticks abzubilden]
407 [li [strong /var] enthält Dateien, die sich ohne Handlung des Benutzers im regulären Betrieb verändern (z.B. Logbücher)]
408 [li [strong /usr] enthält weitere /bin und /lib Verzeichnisse für weniger grundlegende Programme]
412 [slide [h2 Systemordner in Unix]
414 [li [strong /dev] enthält Geräte]
415 [li [strong /proc] enthält Prozesse]
416 [li [strong /sys] enthält Treiberschnittstellen]
417 [p style="text-align: center; margin: .5em; font-size: 1.5em" Everything is a File!]
421 [slide [h1 Mehr dazu nächstes mal!]]
423 [slide [h2 Zusammenfassung]
425 [li Einführung, Historie]
426 [li Dateien: touch, ls, cat]
427 [li Berechtigungen: chmod, groups, chgrp]
428 [li Navigation: cd, pwd]
429 [li Absolute Pfade, Relative Pfade]
430 [li Ordnerstrukturen]
434 [slide [h2 Daran denken:]
436 [li Anwesenheitsliste?]
437 [li nächster Termin: Mi. 29.6. - morgen]