]> git.plutz.net Git - vhs_kurs/blob - Tag_4.short
korrekturen
[vhs_kurs] / Tag_4.short
1 [html
2 [head [title VHS Linuxkurs]]
3 [body
4   [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig]
5
6 [slide [h1 VHS Linux Grundkurs - Teil 4]]
7
8 [slide [h2 Themen]
9   [ul
10     [li Softwareinstallation mit Paketsystemen]
11     [li Installation des Betriebssystems]
12   ]
13 ]
14
15 [slide [h1 Softwareinstallation und Paketsysteme]]
16
17 [slide [h2 Softwareinstallation]
18   [p [h3 Wir benutzen ein Paketsystem]
19     [img src="synaptic_1.jpg"]
20   ]
21 ]
22
23 [slide [h2 Was ist ein Paketsystem?]
24   [ul .uncover
25   Die Vier Freiheiten:
26     [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
27     [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen]
28     [li [b Verbreiten:] das Programm weitergeben]
29     [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben]
30   ]
31 ]
32
33 [slide [h2 Was ist ein Paketsystem?]
34   [ul
35   Die Vier Freiheiten:
36     [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
37     [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen [ul
38       [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]]
39     ]]
40     [li [b Verbreiten:] das Programm weitergeben]
41     [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben [ul
42       [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]]
43     ]]
44   ]
45 ]
46
47 [slide [h2 Was ist ein Paketsystem?]
48   [ul .uncover
49     [li Ein Softwareauthor schreibt [em Quellcode]]
50     [li Programm muss für ein Rechnersystem [em kompiliert/gebaut] werden]
51     [li Dies ist nicht Aufgabe des Authors (denn große Vielfalt von Plattformen, Hardware, etc.)]
52     [li Eine System-[em Distribution] ist eine Sammlung von Software[em paketen]]
53     [li Maintainer [em paketieren] Programme für eine Distribution]
54   ]
55 ]
56
57 [slide [h2 Was ist ein Paketsystem?]
58   [ul .uncover
59     [li Distributionen stellen Softwarearchive bereit → [em Paketquellen] [ul
60       [li z.B. online zum Download]
61       [li z.B. als CD-Rom]
62     ]]
63     [li Verschiedene Distributionen benutzen verschiedene Arten Pakete zu bauen → [em Paketsysteme] [ul 
64       [li z.B. nur Archiv entpacken]
65       [li z.B. Quellcode automatisch bauen]
66       [li z.B. Dateisystemimage mounten]
67     ]]
68     [li Oft sind Pakete kryptographisch signiert]
69   ]
70 ]
71
72 [slide [h2 Was ist ein Paketsystem?]
73   [ul
74     [li [strong Oft sind Pakete kryptographisch signiert]]
75     [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen]
76   ]
77 ]
78
79 [slide [h1 Doch nochmal zur Kryptographie]]
80
81 [slide [h2 Was ist verschlüsselung?]
82   [p [h3 Der Klassiker: Symmetrische Verschlüsselung:]
83     [a href="https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem"
84       [img src="1200px-Orange_blue_symmetric_cryptography_de.svg.png" width="50%"]
85       [br] https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem]
86   ]
87 ]
88
89 [slide [h2 Symmetrische Verschlüsselung]
90   [ul
91     [h3 Verschlüsseln:]
92     [li [pre ~$ echo "Geh Heim Dienst!" >datei]]
93     [li [pre ~$ gpg -c datei]]
94     [h3 Zum entschlüsseln:]
95     [li [pre ~$ gpg -d date.gpg]]
96     [p (Achtung: gpg merkt sich Passworte für kurze Zeit)]
97   ]
98 ]
99
100 [slide [h1 Symmetrische Verschlüsselung -> Asymmetrische Verschlüsselung]]
101
102 [slide [h2 Asymmetrische Verschlüsselung]
103   [p style="text-align: center;" 
104     [a href="https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem"
105       [img src="Orange_blue_public_private_keygeneration_de.svg.png" width="25%" ]
106       [img src="1200px-Orange_blue_public_key_cryptography_de.svg.png" width="60%" ]
107       [br] https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem
108     ]
109   ]
110 ]
111
112 [slide [h1 Asymmetrische Verschlüsselung -> Signierung]
113   Wenn jeder eine Nachricht an mich verschlüsseln kann, wie kann ich dann die Identität des Absenders verifizieren?
114 ]
115
116 [slide [h2 Signierung]
117   [p style="text-align: center;" 
118     [a href="https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem"
119       [img src="1200px-Orange_blue_digital_signature_de.svg.png" width="50%"]
120       [br] https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem
121     ]
122   ]
123 ]
124
125 [slide [h2 Signierung]
126   [h3 Übung aus dem letzten Kurstag]
127   [pre
128   ~$ ssh beamer
129   The authenticity of host 'beamer (192.168.101.20)' can't be established.
130   ECDSA key fingerprint is SHA256:....
131   Are you sure you want to continue connecting (yes/no)? _
132   ]
133   [ul
134     [li -> der öffentliche Schlüssel identifiziert einen Host (Fingerprinting)]
135   ]
136 ]
137
138 [slide [h2 Was ist ein Paketsystem?]
139   [ul .uncover
140     [li [strong Oft sind Pakete kryptographisch signiert]]
141     [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen]
142     [li -> Pakete sind vom Maintainer signiert]
143   ]
144 ]
145
146 [slide [h1 Apt und dpkg]]
147
148 [slide [h2 Apt und dpkg]
149   [ul .uncover
150     [li Paketinformationen neu laden]
151     [li Paketquellen bearbeiten]
152     [li zum Installieren vormerken]
153   ]
154 ]
155
156 [slide [h2 Apt und dpkg]
157   [ul .uncover
158     [li [pre ~$ sudo apt-get update]]
159     [li [pre ~$ apt-cache search ...]]
160     [li [pre ~$ apt-cache show ...]]
161     [li [pre ~$ sudo apt-get install ...]]
162     [li [pre ~$ sudo apt-get remove ...]]
163   ]
164 ]
165
166 [slide [h2 Apt und dpkg]
167   [ul .uncover
168     [li Pakete haben Abhängigkeiten]
169     [li Abhängigkeiten können Paketinstallationen blockieren]
170     [li Distributionen paketieren deshalb häufig nicht die neusten Programmversionen]
171   ]
172 ]
173
174 [slide [h2 Apt und dpkg]
175   [ul .uncover
176     [li [pre ~$ less /etc/apt/sources.list]]
177     [li [pre ~$ sudo apt-get upgrade]]
178     [li [pre ~$ sudo apt-get dist-upgrade]]
179     [li [pre ~$ sudo apt-get autoremove]]
180   ]
181 ]
182
183 [slide [h1 Andere Paketsysteme]]
184
185 [slide [h2 Andere Paketsysteme]
186   [ul .uncover
187     [li Arch GNU Linux [ul
188       [li [pre pacman -Ss ...; pacman -S ...; pacman -R ...]]
189     ]]
190     [li Gentoo [ul
191       [li [pre emerge --sync; emerge --search ...; emerge ... ]]
192     ]]
193     [li Fedora/RedHat [ul
194       [li [pre yum search ...; yum install ...; yum remove ... ]]
195     ]]
196     [li Andere [ul
197       [li ipkg/opkg, msi, ...]
198     ]]
199   ]
200 ]
201
202 [slide [h1 Software selbst übersetzen]
203   Selbst "Maintainer" sein ...
204 ]
205
206 [slide [h2 Software selbst übersetzen]
207   [ul .uncover
208     [li Authoren stellen Quellcode häufig über [em Versionsverwaltung] bereit [ul
209       [li Wir müssen den Quellcode [em auschecken / clonen]]
210     ]]
211     [li Software muss in Maschinencode übersetzt werden [ul
212       [li Wir brauchen einen [em Compiler] für die entsprechende Programmiersprache]
213       [li Wir müssen selbst [em Abhängigkeiten] beachten (→ Dependency Hell)]
214     ]]
215     [li IdR. wird der Prozess vereinfacht durch Buildautomatisierung]
216   ]
217 ]
218
219 [slide [h2 Software selbst übersetzen]
220   [ul .uncover
221     [h3 Ein einfaches Beispiel]
222     [li [pre ~$ git clone https://git.plutz.net/git/vhs_kurs]]
223     [li [pre ~$ cd vhs_kurs]]
224     [li [pre ~$ make]]
225   ]
226 ]
227
228 <!--
229 [Xslide [h1 Anwendungsprogramme]]
230
231 [Xslide [h2 Anwendungsprogramme]
232   Sprachpakete
233   LibreOffice, Inkscape, Marble, Cups, Webserver
234 ]
235 -->
236
237 [slide [h1 Systeminstallation]]
238
239 [slide [h2 Systeminstallation]
240   [ul .uncover
241     [li Beginnt mit einer leeren Partition]
242     [li System muss gerade soweit bestehen, dass Software installiert werden kann]
243     [li Systemkernel muss installiert sein]
244     [li Bootloader muss installiert sein (Plattformspezifisch)]
245     [li ggf. Benutzer anlegen]
246     [li ggf. /etc/fstab anpassen]
247   ]
248 ]
249
250 [slide [h2 Systeminstallation]
251   [ul .uncover
252     [h3 Installation des Basissystems]
253     [li Abhängig von Distribution]
254     [li debootstrap, pacstrap]
255     [li Archiv entpacken]
256   ]
257 ]
258
259 [slide [h2 Systeminstallation]
260   [ul .uncover
261     [li [pre ~$ mkdir sys]]
262     [li [strike mount /dev/sdx1 sys/]]
263     [li [pre ~$ mkdir sys/bin]]
264     [li [pre ~$ cp /bin/busybox sys/bin]]
265     [li [pre ~$ sys/bin/busybox --install sys/bin]]
266   ]
267 ]
268 [slide [h2 Systeminstallation]
269   [ul .uncover
270     [li [pre ~$ sudo chroot sys /bin/sh]]
271   ]
272 ]
273
274 [slide [h2 Zusammenfassung]
275   [ul
276     [li Paketsysteme vereinfachen die Softwareinstallation]
277     [li Paketsysteme erhöhen die Sicherheit]
278     [li Paketsysteme und verfügbare Pakete sind der Hauptunterschied zwischen Distributionen]
279     [li Zur Systeminstallation wird im wesentlichen das Paketsystem ausgerollt]
280   ]
281 ]
282
283 [slide [h1 Anwendersoftware]]
284 [slide [h1 \...]]
285
286 [slide [h2 Nächster Termin]
287   [ul
288     [li Mittwoch, 16.10.]
289   ]
290 ]
291
292 ]]
293