X-Git-Url: http://git.plutz.net/?p=vhs_kurs;a=blobdiff_plain;f=Tag_4.short;h=f11091f8a27a5355da61e1179ccfd1dd068cef44;hp=a91f96c3eb889c1713e5fec4b2fd0ff1e4ffa03e;hb=HEAD;hpb=db5e48b46ebbd284849d1e5dcd3dabb8e285d097 diff --git a/Tag_4.short b/Tag_4.short index a91f96c..f11091f 100644 --- a/Tag_4.short +++ b/Tag_4.short @@ -1,82 +1,292 @@ [html [head [title VHS Linuxkurs]] [body - [footer Paul Hänsch | Linux Grundkurs | VHS Chemnitz] + [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig] [slide [h1 VHS Linux Grundkurs - Teil 4]] [slide [h2 Themen] [ul [li Softwareinstallation mit Paketsystemen] - [li Anwendungsprogramme] [li Installation des Betriebssystems] ] ] -[slide [h1 Was ist ein Paketsystem?]] +[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?] - Free Software definition - Softwareauthor - Maintainer -> Paket - Distribution - Paketquellen - digitale signaturen + [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] - synaptic - apt-get update - apt-cache search - apt-get install - apt-get remove - apt-get upgrade - dist-upgrade, autoremove - /etc/apt/sources.list + [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] - pacman, emerge, ipkg/opkg, rpm/yum, msi + [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] - kein Beispiel - Versionskontrolle - Compiler - Dependencies - Make + [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]] + ] ] -[slide [h1 Anwendungsprogramme]] + [slide [h1 Systeminstallation]] [slide [h2 Systeminstallation] - Leerer Datenträger - -> Partitionen anlegen - chroot / busybox - System soweit, dass Paketsystem benutzbar ist - debootstrap, pacstrap, tarball - Kernel, Bootloader -> Plattformspezifisch - benutzer anlegen, ggf. fstab anpassen - bootloader schreiben + [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 [h1 \...]] +[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] - Freitag, 26.4. - Netzwerk, Remotelogin, Dateiübertragung + [ul + [li Mittwoch, 16.10.] + ] ] ]]