+++ /dev/null
-[html
-[head [title VHS Linuxkurs]]
-[body
- [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig]
-
-[slide [h1 VHS Linux Grundkurs - Teil 4]]
-
-[slide [h2 Themen]
- [ul
- [li Softwareinstallation mit Paketsystemen]
- [li Installation des Betriebssystems]
- ]
-]
-
-[slide [h1 Softwareinstallation und Paketsysteme]]
-
-[slide [h2 Softwareinstallation]
- [p [h3 Wir benutzen ein Paketsystem]
- [img src="synaptic_1.jpg"]
- ]
-]
-
-[slide [h2 Was ist ein Paketsystem?]
- [ul .uncover
- Die Vier Freiheiten:
- [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
- [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen]
- [li [b Verbreiten:] das Programm weitergeben]
- [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben]
- ]
-]
-
-[slide [h2 Was ist ein Paketsystem?]
- [ul
- Die Vier Freiheiten:
- [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
- [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen [ul
- [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]]
- ]]
- [li [b Verbreiten:] das Programm weitergeben]
- [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben [ul
- [li [em Der Zugang zum Quellcode ist dafür Voraussetzung]]
- ]]
- ]
-]
-
-[slide [h2 Was ist ein Paketsystem?]
- [ul .uncover
- [li Ein Softwareauthor schreibt [em Quellcode]]
- [li Programm muss für ein Rechnersystem [em kompiliert/gebaut] werden]
- [li Dies ist nicht Aufgabe des Authors (denn große Vielfalt von Plattformen, Hardware, etc.)]
- [li Eine System-[em Distribution] ist eine Sammlung von Software[em paketen]]
- [li Maintainer [em paketieren] Programme für eine Distribution]
- ]
-]
-
-[slide [h2 Was ist ein Paketsystem?]
- [ul .uncover
- [li Distributionen stellen Softwarearchive bereit → [em Paketquellen] [ul
- [li z.B. online zum Download]
- [li z.B. als CD-Rom]
- ]]
- [li Verschiedene Distributionen benutzen verschiedene Arten Pakete zu bauen → [em Paketsysteme] [ul
- [li z.B. nur Archiv entpacken]
- [li z.B. Quellcode automatisch bauen]
- [li z.B. Dateisystemimage mounten]
- ]]
- [li Oft sind Pakete kryptographisch signiert]
- ]
-]
-
-[slide [h2 Was ist ein Paketsystem?]
- [ul
- [li [strong Oft sind Pakete kryptographisch signiert]]
- [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen]
- ]
-]
-
-[slide [h1 Doch nochmal zur Kryptographie]]
-
-[slide [h2 Was ist verschlüsselung?]
- [p [h3 Der Klassiker: Symmetrische Verschlüsselung:]
- [a href="https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem"
- [img src="1200px-Orange_blue_symmetric_cryptography_de.svg.png" width="50%"]
- [br] https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem]
- ]
-]
-
-[slide [h2 Symmetrische Verschlüsselung]
- [ul
- [h3 Verschlüsseln:]
- [li [pre ~$ echo "Geh Heim Dienst!" >datei]]
- [li [pre ~$ gpg -c datei]]
- [h3 Zum entschlüsseln:]
- [li [pre ~$ gpg -d date.gpg]]
- [p (Achtung: gpg merkt sich Passworte für kurze Zeit)]
- ]
-]
-
-[slide [h1 Symmetrische Verschlüsselung -> Asymmetrische Verschlüsselung]]
-
-[slide [h2 Asymmetrische Verschlüsselung]
- [p style="text-align: center;"
- [a href="https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem"
- [img src="Orange_blue_public_private_keygeneration_de.svg.png" width="25%" ]
- [img src="1200px-Orange_blue_public_key_cryptography_de.svg.png" width="60%" ]
- [br] https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem
- ]
- ]
-]
-
-[slide [h1 Asymmetrische Verschlüsselung -> Signierung]
- Wenn jeder eine Nachricht an mich verschlüsseln kann, wie kann ich dann die Identität des Absenders verifizieren?
-]
-
-[slide [h2 Signierung]
- [p style="text-align: center;"
- [a href="https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem"
- [img src="1200px-Orange_blue_digital_signature_de.svg.png" width="50%"]
- [br] https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem
- ]
- ]
-]
-
-[slide [h2 Signierung]
- [h3 Übung aus dem letzten Kurstag]
- [pre
- ~$ ssh beamer
- The authenticity of host 'beamer (192.168.101.20)' can't be established.
- ECDSA key fingerprint is SHA256:....
- Are you sure you want to continue connecting (yes/no)? _
- ]
- [ul
- [li -> der öffentliche Schlüssel identifiziert einen Host (Fingerprinting)]
- ]
-]
-
-[slide [h2 Was ist ein Paketsystem?]
- [ul .uncover
- [li [strong Oft sind Pakete kryptographisch signiert]]
- [li Einer der wichtigsten Sicherheitsaspekte von Linux-Systemen]
- [li -> Pakete sind vom Maintainer signiert]
- ]
-]
-
-[slide [h1 Apt und dpkg]]
-
-[slide [h2 Apt und dpkg]
- [ul .uncover
- [li Paketinformationen neu laden]
- [li Paketquellen bearbeiten]
- [li zum Installieren vormerken]
- ]
-]
-
-[slide [h2 Apt und dpkg]
- [ul .uncover
- [li [pre ~$ sudo apt-get update]]
- [li [pre ~$ apt-cache search ...]]
- [li [pre ~$ apt-cache show ...]]
- [li [pre ~$ sudo apt-get install ...]]
- [li [pre ~$ sudo apt-get remove ...]]
- ]
-]
-
-[slide [h2 Apt und dpkg]
- [ul .uncover
- [li Pakete haben Abhängigkeiten]
- [li Abhängigkeiten können Paketinstallationen blockieren]
- [li Distributionen paketieren deshalb häufig nicht die neusten Programmversionen]
- ]
-]
-
-[slide [h2 Apt und dpkg]
- [ul .uncover
- [li [pre ~$ less /etc/apt/sources.list]]
- [li [pre ~$ sudo apt-get upgrade]]
- [li [pre ~$ sudo apt-get dist-upgrade]]
- [li [pre ~$ sudo apt-get autoremove]]
- ]
-]
-
-[slide [h1 Andere Paketsysteme]]
-
-[slide [h2 Andere Paketsysteme]
- [ul .uncover
- [li Arch GNU Linux [ul
- [li [pre pacman -Ss ...; pacman -S ...; pacman -R ...]]
- ]]
- [li Gentoo [ul
- [li [pre emerge --sync; emerge --search ...; emerge ... ]]
- ]]
- [li Fedora/RedHat [ul
- [li [pre yum search ...; yum install ...; yum remove ... ]]
- ]]
- [li Andere [ul
- [li ipkg/opkg, msi, ...]
- ]]
- ]
-]
-
-[slide [h1 Software selbst übersetzen]
- Selbst "Maintainer" sein ...
-]
-
-[slide [h2 Software selbst übersetzen]
- [ul .uncover
- [li Authoren stellen Quellcode häufig über [em Versionsverwaltung] bereit [ul
- [li Wir müssen den Quellcode [em auschecken / clonen]]
- ]]
- [li Software muss in Maschinencode übersetzt werden [ul
- [li Wir brauchen einen [em Compiler] für die entsprechende Programmiersprache]
- [li Wir müssen selbst [em Abhängigkeiten] beachten (→ Dependency Hell)]
- ]]
- [li IdR. wird der Prozess vereinfacht durch Buildautomatisierung]
- ]
-]
-
-[slide [h2 Software selbst übersetzen]
- [ul .uncover
- [h3 Ein einfaches Beispiel]
- [li [pre ~$ git clone https://git.plutz.net/git/vhs_kurs]]
- [li [pre ~$ cd vhs_kurs]]
- [li [pre ~$ make]]
- ]
-]
-
-<!--
-[Xslide [h1 Anwendungsprogramme]]
-
-[Xslide [h2 Anwendungsprogramme]
- Sprachpakete
- LibreOffice, Inkscape, Marble, Cups, Webserver
-]
--->
-
-[slide [h1 Systeminstallation]]
-
-[slide [h2 Systeminstallation]
- [ul .uncover
- [li Beginnt mit einer leeren Partition]
- [li System muss gerade soweit bestehen, dass Software installiert werden kann]
- [li Systemkernel muss installiert sein]
- [li Bootloader muss installiert sein (Plattformspezifisch)]
- [li ggf. Benutzer anlegen]
- [li ggf. /etc/fstab anpassen]
- ]
-]
-
-[slide [h2 Systeminstallation]
- [ul .uncover
- [h3 Installation des Basissystems]
- [li Abhängig von Distribution]
- [li debootstrap, pacstrap]
- [li Archiv entpacken]
- ]
-]
-
-[slide [h2 Systeminstallation]
- [ul .uncover
- [li [pre ~$ mkdir sys]]
- [li [strike mount /dev/sdx1 sys/]]
- [li [pre ~$ mkdir sys/bin]]
- [li [pre ~$ cp /bin/busybox sys/bin]]
- [li [pre ~$ sys/bin/busybox --install sys/bin]]
- ]
-]
-[slide [h2 Systeminstallation]
- [ul .uncover
- [li [pre ~$ sudo chroot sys /bin/sh]]
- ]
-]
-
-[slide [h2 Zusammenfassung]
- [ul
- [li Paketsysteme vereinfachen die Softwareinstallation]
- [li Paketsysteme erhöhen die Sicherheit]
- [li Paketsysteme und verfügbare Pakete sind der Hauptunterschied zwischen Distributionen]
- [li Zur Systeminstallation wird im wesentlichen das Paketsystem ausgerollt]
- ]
-]
-
-[slide [h1 Anwendersoftware]]
-[slide [h1 \...]]
-
-[slide [h2 Nächster Termin]
- [ul
- [li Mittwoch, 16.10.]
- ]
-]
-
-]]
-