]> git.plutz.net Git - vhs_kurs/blob - Tag_4.short
move document sections to recapture first day
[vhs_kurs] / Tag_4.short
1 [html
2 [head [title Linux Verstehen]]
3 [body
4   [footer Paul Hänsch | Linux Verstehen | Heinrich Hertz Gymnasium Berlin]
5
6 [slide [h1 Linux Verstehen - 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 Was ist ein Paketsystem?]
18   [ul
19   Die Vier Freiheiten:
20     [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
21     [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen [ul
22       [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]]
23     ]]
24     [li [b Verbreiten:] das Programm weitergeben]
25     [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben [ul
26       [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]]
27     ]]
28   ]
29 ]
30
31 [slide [h2 Was ist ein Paketsystem?]
32   [ul .uncover
33     [li Ein Softwareauthor schreibt [em Quellcode]]
34     [li Programm muss für ein Rechnersystem [em kompiliert/gebaut] werden]
35     [li Dies ist nicht Aufgabe des Authors (denn große Vielfalt von Plattformen, Hardware, etc.)]
36     [li Eine System-[em Distribution] ist eine Sammlung von Software[em paketen]]
37     [li Maintainer [em paketieren] Programme für eine Distribution]
38   ]
39 ]
40
41 [slide [h2 Softwareinstallation]
42   [p [h3 Wir benutzen ein Paketsystem]
43     [img src="synaptic_1.jpg"]
44   ]
45 ]
46
47 [slide [h2 Aufgabe]
48   [ul
49     [li [b Installiert] den [u Apache Web Server]]
50     [li Denkt euch einen Rechnernamen aus]
51     [li Teilt mir eure IP Adresse mit]
52   ]
53 ]
54
55 [slide [h2 Aufgabe]
56   [ul
57     [li Lest den ersten Absatz der [em Default Page]]
58     [li Ersetzt die Homepage im Apache]
59   ]
60 ]
61
62 [slide [h2 Was ist ein Paketsystem?]
63   [ul .uncover
64     [li Distributionen stellen Softwarearchive bereit → [em Paketquellen] [ul
65       [li z.B. online zum Download]
66       [li z.B. als CD-Rom]
67     ]]
68     [li Verschiedene Distributionen benutzen verschiedene Arten Pakete zu bauen → [em Paketsysteme] [ul 
69       [li z.B. nur Archiv entpacken]
70       [li z.B. Quellcode automatisch bauen]
71       [li z.B. Dateisystemimage mounten]
72     ]]
73     [li Oft sind Pakete kryptographisch signiert]
74   ]
75 ]
76
77 [slide id="crypto" [h2 Was ist ein Paketsystem?]
78   [ul
79     [li [strong Oft sind Pakete kryptographisch signiert]]
80     [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen]
81     [li -> Pakete sind vom Maintainer signiert]
82   ]
83 ]
84
85 [slide [h2 Apt und dpkg]
86   [ul
87     [li Pakete haben Abhängigkeiten]
88     [li Abhängigkeiten können Paketinstallationen blockieren]
89     [li Distributionen paketieren deshalb häufig nicht die neusten Programmversionen]
90   ]
91 ]
92
93 [slide [h1 Apt und dpkg]]
94
95 [slide [h2 Apt und dpkg]
96   [ul .uncover
97     [li [h3 Paketquellen bearbeiten]
98         [pre ~$ less /etc/apt/sources.list]
99     ]
100     [li [h3 Paketinformationen neu laden]
101         [pre ~$ sudo apt-get update]
102     ]
103     [li [h3 zum Installieren vormerken]
104         [pre ~$ sudo apt-get install ...]
105     ]
106   ]
107 ]
108
109 [slide [h2 Apt und dpkg]
110   [ul
111     [li [h3 Pakete finden]
112         [pre ~$ apt-cache search ...]
113         [pre ~$ apt-cache show ...]
114     ]
115   ]
116 ]
117
118 [slide [h2 Apt und dpkg]
119   [ul
120     [li [h3 Updates]
121         [pre ~$ sudo apt-get upgrade]
122         [pre ~$ sudo apt-get dist-upgrade]
123     ]
124     [li [h3 Pakete entfernen]
125         [pre ~$ sudo apt-get remove ...]
126         [pre ~$ sudo apt-get autoremove]
127     ]
128   ]
129 ]
130
131 [slide [h1 Andere Paketsysteme]]
132
133 [slide [h2 Andere Paketsysteme]
134   [ul .uncover
135     [li Arch GNU Linux [ul
136       [li [pre pacman -Ss ...; pacman -S ...; pacman -R ...]]
137     ]]
138     [li Gentoo [ul
139       [li [pre emerge --sync; emerge --search ...; emerge ... ]]
140     ]]
141     [li Fedora/RedHat [ul
142       [li [pre yum search ...; yum install ...; yum remove ... ]]
143     ]]
144     [li Andere [ul
145       [li ipkg/opkg, msi, ...]
146     ]]
147   ]
148 ]
149
150 [slide [h1 Software selbst übersetzen]
151   Selbst "Maintainer" sein ...
152 ]
153
154 [slide [h2 Software selbst übersetzen]
155   [ul .uncover
156     [li Authoren stellen Quellcode häufig über [em Versionsverwaltung] bereit [ul
157       [li Wir müssen den Quellcode [em auschecken / clonen]]
158     ]]
159     [li Software muss in Maschinencode übersetzt werden [ul
160       [li Wir brauchen einen [em Compiler] für die entsprechende Programmiersprache]
161       [li Wir müssen selbst [em Abhängigkeiten] beachten (→ Dependency Hell)]
162     ]]
163     [li IdR. wird der Prozess vereinfacht durch Buildautomatisierung]
164   ]
165 ]
166
167 [slide [h2 Software selbst übersetzen]
168   [ul .uncover
169     [h3 Ein einfaches Beispiel]
170     [li [pre ~$ git clone https://git.plutz.net/git/vhs_kurs]]
171     [li [pre ~$ cd vhs_kurs]]
172     [li [pre ~$ make]]
173   ]
174 ]
175
176 <!--
177 [Xslide [h1 Anwendungsprogramme]]
178
179 [Xslide [h2 Anwendungsprogramme]
180   Sprachpakete
181   LibreOffice, Inkscape, Marble, Cups, Webserver
182 ]
183 -->
184
185 [slide [h1 Systeminstallation]]
186
187 [slide [h2 Systeminstallation]
188   [ul .uncover
189     [li Beginnt mit einer leeren Partition]
190     [li System muss gerade soweit bestehen, dass Software installiert werden kann]
191     [li Systemkernel muss installiert sein]
192     [li Bootloader muss installiert sein (Plattformspezifisch)]
193     [li ggf. Benutzer anlegen]
194     [li ggf. /etc/fstab anpassen]
195   ]
196 ]
197
198 [slide [h2 Systeminstallation]
199   [ul .uncover
200     [h3 Installation des Basissystems]
201     [li Abhängig von Distribution]
202     [li debootstrap, pacstrap]
203     [li Archiv entpacken]
204   ]
205 ]
206
207 [slide [h2 Systeminstallation]
208   [ul .uncover
209     [li [pre ~$ mkdir sys]]
210     [li [strike mount /dev/sdx1 sys/]]
211     [li [pre ~$ mkdir sys/bin]]
212     [li [pre ~$ cp /bin/busybox sys/bin]]
213     [li [pre ~$ sys/bin/busybox --install sys/bin]]
214   ]
215 ]
216 [slide [h2 Systeminstallation]
217   [ul .uncover
218     [li [pre ~$ sudo chroot sys /bin/sh]]
219   ]
220 ]
221
222 [slide [h2 Zusammenfassung]
223   [ul
224     [li Paketsysteme vereinfachen die Softwareinstallation]
225     [li Paketsysteme erhöhen die Sicherheit]
226     [li Paketsysteme und verfügbare Pakete sind der Hauptunterschied zwischen Distributionen]
227     [li Zur Systeminstallation wird im wesentlichen das Paketsystem ausgerollt]
228   ]
229 ]
230
231 [slide [h1 Anwendersoftware]]
232 [slide [h1 \...]]
233
234 [slide [h2 Nächster Termin]
235   [ul
236     [li Dienstag, 5.7. - morgen]
237   ]
238 ]
239
240 ]]
241