2 [head [title VHS Linuxkurs]]
4 [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig]
6 [slide [h1 VHS Linux Grundkurs - Teil 4]]
10 [li Softwareinstallation mit Paketsystemen]
11 [li Installation des Betriebssystems]
15 [slide [h1 Softwareinstallation und Paketsysteme]]
17 [slide [h2 Softwareinstallation]
18 [p [h3 Wir benutzen ein Paketsystem]
19 [img src="synaptic_1.jpg"]
23 [slide [h2 Was ist ein Paketsystem?]
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]
33 [slide [h2 Was ist ein Paketsystem?]
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]]
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]]
47 [slide [h2 Was ist ein Paketsystem?]
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]
57 [slide [h2 Was ist ein Paketsystem?]
59 [li Distributionen stellen Softwarearchive bereit → [em Paketquellen] [ul
60 [li z.B. online zum Download]
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]
68 [li Oft sind Pakete kryptographisch signiert]
72 [slide [h2 Was ist ein Paketsystem?]
74 [li [strong Oft sind Pakete kryptographisch signiert]]
75 [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen]
79 [slide [h1 Doch nochmal zur Kryptographie]]
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]
89 [slide [h2 Symmetrische Verschlüsselung]
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)]
100 [slide [h1 Symmetrische Verschlüsselung -> Asymmetrische Verschlüsselung]]
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
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?
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
125 [slide [h2 Signierung]
126 [h3 Übung aus dem letzten Kurstag]
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)? _
134 [li -> der öffentliche Schlüssel identifiziert einen Host (Fingerprinting)]
138 [slide [h2 Was ist ein Paketsystem?]
140 [li [strong Oft sind Pakete kryptographisch signiert]]
141 [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen]
142 [li -> Pakete sind vom Maintainer signiert]
146 [slide [h1 Apt und dpkg]]
148 [slide [h2 Apt und dpkg]
150 [li Paketinformationen neu laden]
151 [li Paketquellen bearbeiten]
152 [li zum Installieren vormerken]
156 [slide [h2 Apt und dpkg]
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 ...]]
166 [slide [h2 Apt und dpkg]
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]
174 [slide [h2 Apt und dpkg]
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]]
183 [slide [h1 Andere Paketsysteme]]
185 [slide [h2 Andere Paketsysteme]
187 [li Arch GNU Linux [ul
188 [li [pre pacman -Ss ...; pacman -S ...; pacman -R ...]]
191 [li [pre emerge --sync; emerge --search ...; emerge ... ]]
193 [li Fedora/RedHat [ul
194 [li [pre yum search ...; yum install ...; yum remove ... ]]
197 [li ipkg/opkg, msi, ...]
202 [slide [h1 Software selbst übersetzen]
203 Selbst "Maintainer" sein ...
206 [slide [h2 Software selbst übersetzen]
208 [li Authoren stellen Quellcode häufig über [em Versionsverwaltung] bereit [ul
209 [li Wir müssen den Quellcode [em auschecken / clonen]]
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)]
215 [li IdR. wird der Prozess vereinfacht durch Buildautomatisierung]
219 [slide [h2 Software selbst übersetzen]
221 [h3 Ein einfaches Beispiel]
222 [li [pre ~$ git clone https://git.plutz.net/git/vhs_kurs]]
223 [li [pre ~$ cd vhs_kurs]]
229 [Xslide [h1 Anwendungsprogramme]]
231 [Xslide [h2 Anwendungsprogramme]
233 LibreOffice, Inkscape, Marble, Cups, Webserver
237 [slide [h1 Systeminstallation]]
239 [slide [h2 Systeminstallation]
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]
250 [slide [h2 Systeminstallation]
252 [h3 Installation des Basissystems]
253 [li Abhängig von Distribution]
254 [li debootstrap, pacstrap]
255 [li Archiv entpacken]
259 [slide [h2 Systeminstallation]
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]]
268 [slide [h2 Systeminstallation]
270 [li [pre ~$ sudo chroot sys /bin/sh]]
274 [slide [h2 Zusammenfassung]
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]
283 [slide [h1 Anwendersoftware]]
286 [slide [h2 Nächster Termin]
288 [li Mittwoch, 16.10.]