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