2 [head [title VHS Linuxkurs]]
4 [footer Paul Hänsch | Linux Grundkurs | VHS Chemnitz]
6 [slide [h1 VHS Linux Grundkurs - Teil 4]]
10 [li Softwareinstallation mit Paketsystemen]
11 [li Installation des Betriebssystems]
15 [slide [h1 Was ist ein Paketsystem?]]
17 [slide [h2 Was ist ein Paketsystem?]
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]
27 [slide [h2 Was ist ein Paketsystem?]
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]]
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]]
41 [slide [h2 Was ist ein Paketsystem?]
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]
51 [slide [h2 Was ist ein Paketsystem?]
53 [li Distributionen stellen Softwarearchive bereit → [em Paketquellen] [ul
54 [li z.B. online zum Download]
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]
62 [li Oft sind Pakete kryptographisch signiert]
66 [slide [h2 Was ist ein Paketsystem?]
69 [slide [h1 Apt und dpkg]]
71 [slide [h2 Apt und dpkg]
73 [pre ~$ sudo synaptic]
74 [li Paketinformationen neu laden]
75 [li Paketquellen bearbeiten]
76 [li zum Installieren vormerken]
80 [slide [h2 Apt und dpkg]
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 ...]]
90 [slide [h2 Apt und dpkg]
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]
98 [slide [h2 Apt und dpkg]
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]]
107 [slide [h1 Andere Paketsysteme]]
109 [slide [h2 Andere Paketsysteme]
111 [li Arch GNU Linux [ul
112 [li [pre pacman -Ss ...; pacman -S ...; pacman -R ...]]
115 [li [pre emerge --sync; emerge --search ...; emerge ... ]]
117 [li Fedora/RedHat [ul
118 [li [pre yum search ...; yum install ...; yum remove ... ]]
121 [li ipkg/opkg, msi, ...]
126 [slide [h1 Software selbst übersetzen]
127 Selbst "Maintainer" sein ...
130 [slide [h2 Software selbst übersetzen]
132 [li Authoren stellen Quellcode häufig über [em Versionsverwaltung] bereit [ul
133 [li Wir müssen den Quellcode [em auschecken / clonen]]
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)]
139 [li IdR. wird der Prozess vereinfacht durch Buildautomatisierung]
143 [slide [h2 Software selbst übersetzen]
145 [h3 Ein einfaches Beispiel]
146 [li [pre ~$ git clone https://git.plutz.net/git/vhs_kurs]]
147 [li [pre ~$ cd vhs_kurs]]
153 [Xslide [h1 Anwendungsprogramme]]
155 [Xslide [h2 Anwendungsprogramme]
157 LibreOffice, Inkscape, Marble, Cups, Webserver
161 [slide [h1 Systeminstallation]]
163 [slide [h2 Systeminstallation]
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]
174 [slide [h2 Systeminstallation]
176 [h3 Installation des Basissystems]
177 [li Abhängig von Distribution]
178 [li debootstrap, pacstrap]
179 [li Archiv entpacken]
183 [slide [h2 Systeminstallation]
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]]
192 [slide [h2 Systeminstallation]
194 [li [pre ~$ sudo chroot sys /bin/sh]]
200 [slide [h2 Zusammenfassung]
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]
209 [slide [h2 Nächster Termin]
212 [li Netzwerk, Remotelogin, Dateiübertragung]