<!doctype html> <html lang="de"> <head> <meta charset="utf-8"> <title>Einführung in Linux</title> <meta name="description" content="YALC - Yet Another Linux Course "> <meta name="author" content="Daniel Schubert"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <link rel="stylesheet" href="css/reveal.css"> <link rel="stylesheet" href="css/theme/league.css" id="theme"> <link rel="icon" href="img/openlogo-nd-25.png" type="img/png"> <!-- Theme used for syntax highlighting of code --> <link rel="stylesheet" href="lib/css/zenburn.css"> <!-- Printing and PDF exports --> <script> var link = document.createElement( 'link' ); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css'; document.getElementsByTagName( 'head' )[0].appendChild( link ); </script> </head> <body> <div class="reveal"> <!-- Any section element inside of this container is displayed as a slide --> <div class="slides"> <section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom"> <h1>LINUX</h1> <h3>Das universelle Betriebssystem</h3> <p>Eine Einführung - Teil 2 <p> <small>Deutsche Angestellten Akademie</small> </p> </section> <section> <section><h3>Weitere Desktop Systeme</h3> <aside class="notes"> <ul> <li>X window - X11</li> </ul> </aside> </section> <section> xfce <figure> <img style="max-height: 25vw" src="img/Xfce_4.12_on_Fedora_22.png"><figcaption>zB xubuntu</figcaption></figure> <aside class="notes"> <ul> <li>Windows XP Ähnlich</li> <li>rechts oben START</li> <li>Ressourcen Sparsam</li> <li>alte hardware</li> <li>XUBUNTU</li> </ul> </aside> </section> <section> KDE <figure><img style="max-height: 25vw" src="img/linux-mint-18.1-kde-screenshot-2.png"><figcaption>zB kubuntu / SUSE</figcaption></figure> <aside class="notes"> <ul> <li>Sehr umfangreich konfigurierbar</li> <li>Modern</li> <li>vlcht mit WIn7 vergleichbar</li> <li>KUBUNTU</li> </ul> </aside> </section> <section> Pantheon <figure><img style="max-height: 25vw" src="img/Elementary_OS_0.3.1.png"><figcaption>elementaryOS</figcaption></figure> <aside class="notes"> <ul> <li>Modern</li> <li>die stylischte Variante</li> <li>Ubuntu Deriv</li> </ul> </aside> </section> <section> i3wm / awesome <figure><img style="max-height: 25vw" src="img/d1mscg9xqj7z.png"><figcaption>tiling window managers</figcaption></figure> <aside class="notes"> <ul> <li>tiling window manager</li> <li>komplett per tastatur steuerbar</li> <li>schnell</li> </ul> </aside> </section> </section> <section> <h3>Wichtige „Freie“ Programme</h3> <ul> <li class="fragment ">LibreOffice</li> <li class="fragment ">Thunderbird</li> <li class="fragment ">Firefox / Chromium</li> <li class="fragment ">GIMP</li> <li class="fragment ">InkScape - Vector Grafik</li> <li class="fragment ">ImageMagick - Bildmanipulation</li> <li class="fragment ">Blender - 3D Rendering</li> <li class="fragment ">VLC</li> <li class="fragment ">mplayer</li> </ul> <aside class="notes"> <ul> <li>ImageMagick - scriptbar</li> </ul> </aside> </section> <section> <h3>Wichtige „Freie“ Dienste</h3> <ul> <li class="fragment ">Webserver : Apache / Nginx</li> <li class="fragment ">Datenbanken: MySql / PostgreSql / MariaDB</li> <li class="fragment ">Email: Postfix / Sendmail </li> <li class="fragment ">Fileserver: Samba</li> <li class="fragment ">BIND / DNSmasq</li> </ul> <aside class="notes"> <ul> <li>Samba: Nachbau von Windows SMB -> Kompatibel</li> <li>Samba: läuft auf meinem PI</li> <li>BIND DNSMASQ : ohne die kein internet denkbar</li> </ul> </aside> </section> <section> <h3>Basics / Unterschiede zu Windows</h3> <ul> <li class="fragment ">Verzeichnistrenner : <code>/</code> <li class="fragment">Unterscheidung von gross / klein -Schreibung: Datei.txt ≠ datei.txt <li class="fragment ">Benutzerverzeichnis : <code>/home/username</code> <li class="fragment ">Wurzelverzeichnis „root directory“ :<code>/</code> <li class="fragment">gültige Dateinamen / Pfade: <ul> <li><code>/home/daniel/Dokumente/Wichtig.dez-2018.ods</code></li> <li><code>WichtigerText</code></li> <li><code>dies.darf_Nicht.weg</code></li> <li><code>README</code></li> </ul> </li> </ul> </section> <section> <h3>Basics / Unterschiede zu Windows</h3> <ul> <li class="fragment ">versteckte Datei/Ordner beginnt mit . : <code>.config</code> </li> <li class="fragment ">Datei-Endungen nicht vorgeschrieben</li> <li class="fragment ">Keine Laufwerksbuchstaben</li> <li class="fragment ">Laufwerke ( DVD, USB etc ) werden im Verzeichnisbaum „eingehängt” : mount</li> </ul> </section> <section> <h3>Alles ist eine Datei !</h3> <li class="fragment "><strong>Verzeichnisse</strong> <li class="fragment "><strong>Symbolische Links</strong> ähnlich zu »Verknüpfungen« unter Windows. <li class="fragment "><strong>Gerätedateien</strong> (engl. devices): Schnittstellen zu beliebigen Geräten wie Laufwerken. <code>/dev/fd0</code> ist das erste Diskettenlaufwerk. </section> <section> <figure><img src="img/hN4lt.jpg"></figure> </section> <section> <h3>Übungen</h3> <ol> <li>Wie werden versteckte Dateien Sichtbar?</li> <li>Einbinden eines USB Stick</li> <li class="fragment ">Installation von XFCE</li> <li class="fragment ">Wechsel der Desktop Umgebung zu xfce</li> </ol> <aside class="notes"> <ul> <li>X Window System X11 </li> <li>Benennung mit G und K und X </li> </ul> </aside> </section> <section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom"> <h3>Paketverwaltung</h3> </section> <section> <h3>Debian Versions-Bezeichungen</h3> <ul> <li class="fragment">4 Stränge, benannt nach Figuren aus <i>Toy Story</i></li> <li class="fragment">Testing ( Buster - wird Debian 10)</li> <li class="fragment">Unstable ( heisst immer Sid ) </li> <li class="fragment">Stable ( stretch - Debian 9 )</li> <li class="fragment">Oldstable ( Jessie - Debian 8 )</li> </ul> </section> <section> <h3>Programme zum Paketmanagement</h3> <ul> <li class="fragment">synaptic - point and click</li> <li class="fragment">apt-get - kann Abhängigkeiten selbständig auflösen</li> <li class="fragment">apt - das hübschere apt-get </li> <li class="fragment">dpkg - low level paket management</li> </ul> </section> <section> <h3>apt</h3> <table style="font-size: .5em"><tbody><tr><td> <code class="notranslate">update</code> </td><td> Neueinlesen der Paketlisten </td></tr><tr><td> <code class="notranslate">upgrade</code> </td><td> Installierte Pakete wenn möglich auf eine verbesserte Version aktualisieren. Um geänderte Abhängigkeiten zu erfüllen, werden gegebenenfalls auch neue Pakete installiert. </td></tr><tr><td> <code class="notranslate">full-upgrade</code> </td><td> Wie <code class="notranslate">upgrade</code>, nur können bei dem Vorgang auch Pakete entfernt werden. Alternativ kann statt <code class="notranslate">full-upgrade</code> auch der Befehl <code class="notranslate">dist-upgrade</code> verwendet werden. Das Ergebnis ist identisch, allerdings ist <code class="notranslate">dist-upgrade</code> in der Hilfe und der Man-Page von <code class="notranslate">apt</code> nicht dokumentiert. </td></tr><tr><td> <code class="notranslate">install PAKETNAME</code> </td><td> installiert das Paket <code class="notranslate">PAKETNAME</code> </td></tr><tr><td> <code class="notranslate">install /PFAD/ZUM/PAKET</code> </td><td> installiert ein lokales Paket und dessen Abhängigkeiten </td></tr><tr><td> <code class="notranslate">remove PAKETNAME</code> </td><td> deinstalliert das Paket <code class="notranslate">PAKETNAME</code> </td></tr><tr><td> <code class="notranslate">purge PAKETNAME</code> </td><td> wie <code class="notranslate">remove</code>, es werden aber zusätzlich auch alle Konfigurationsdateien gelöscht </td></tr><tr><td> <code class="notranslate">autoremove</code> </td><td> deinstalliert alle automatisch installierten Pakete, die nicht mehr benötigt werden und keine Abhängigkeiten mehr zu anderen Paketen haben </td></tr></tbody></table> <p><small>Quelle: https://wiki.ubuntuusers.de/apt/apt/</small> </p> </section> <section> <h3>Andere Distros</h3> <ul> <li>RedHat / CentOs : rpm ( *.rpm )</li> <li>YUM</li> <li>arch: pacman ( *.pkg.tar.xz )</li> </ul> <p class="fragment">Kovertierung möglich mit <span style="color: green">alien</span> <div class="fragment grow highlight-red">NICHT MISCHEN!!</div> </section> <section> <h3>Nachteile:</h3> <ul> <li>Häufige Updates</li> <li>grosse Downlods bei Updates</li> <li>ältere Distris manchmal nicht mit neuen Programmen kompatibel</li> </ul> </section> <section> <h3>Jetzt Neu!</h3> <ul> <li class="fragment">snappy ( ubuntu ) </li> <li class="fragment">flatpack</li> <li class="fragment">Lösen das Problem der unterschiedlichen Abhängigkeiten und Versionen je nach Distro</li> </ul> <aside class="notes"> <ul> <li>snappy: container mit allem drin</li> <li>flatpack: ähnlich, und open source ;-)</li> </ul> </aside> </section> <section> Manche Programme sind nicht als Paket verfügbar. Installation von Hand möglich. <pre style="background-color:#000">programm.tar.gz</pre> <ul> <li class="fragment ">-> tar : tape archive</li> <li class="fragment ">-> gz : zip ( gzip )</li> <li class="fragment ">gezippter container</li> <li class="fragment ">nachteil: umgeht Paketverwaltung</li> </ul> </section> <section> <section> <h3>Übungen</h3> <p> Im Terminal <ol> <li>Update des Systems mit apt</li> <li>Upgrade des Systems mit apt</li> <li>Liste alle installierten Paketen</li> <li>Welches sind die momentan aktiven repositories?</li> </ol> <div style="font-size:.8em" class="fragment"> <p>Halp!!</p> <ul > <li>sudo apt update</li> <li>sudo apt upgrade</li> <li>apt list</li> <li>dpkg --list</li> <li>less /etc/apt/source.list</li> </ul> </div> </section> <section> <p> <pre> deb http://ftp.uni-stuttgart.de/debian/ stretch main contrib non-free deb-src http://ftp.uni-stuttgart.de/debian/ stretch main contrib non-free Types: deb URIs: http://ftp.uni-stuttgart.de/debian/ Suites: stretch Components: main contrib non-free</pre> </section> </section> <section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom"> <h1>Das Hilfesystem</h1> </section> <section> <h3>Wie finde ich Hilfe??</h3> <blockquote>Man muss nicht alles wissen, aber man sollte wissen wo ma n es nachschlagen kann.</blockquote> <ul> <li class="fragment ">Im Internet ;-)</li> <li class="fragment ">www.debian.org/doc/</li> <li class="fragment ">wiki.ubuntuusers.de </li> <li class="fragment ">The Linux Documentaion Project - http://tldp.org/ </li> <li class="fragment "><F1> ( nicht im Terminal ) </li> </ul> <p class="fragment fade-right ">Ausserdem:::</p> </section> <section> <h3>Die man - Pages</h3> <p > Für (fast) alle Terminal-Programme existiert eine <br><span class="fragment highlight-green">man - Page</span> </p> <pre>man sudo </pre> </section> <section style="font-size: .8em"> <p>In Linux-Literatur oder auch in den Manpages selbst ist häufig eine man-Nummer hinter dem Kommando angegeben, z.B. less(1), damit der man-Text zielgenau aufgerufen werden kann. <br>Es gibt die Themenbereiche 1 bis 9 und n. <ol style="font-size: .6em"> <li>Benutzerkommandos</li> <li>Systemaufruf</li> <li>Funktionen der Programmiersprache C</li> <li>Dateiformate</li> <li>Konfigurationsdateien</li> <li>Spiele</li> <li>Diverses</li> <li>Kommandos zur Systemadministrati</li> <li>Kernelfunktionen</li> </ol> <p>Die Eingabe für den Aufruf von less mit dem Thema (1) sieht so aus: <pre>man 1 less </pre> </section> <section> <table style="font-size: .5em"><tr class="titel"><td colspan="4">Die Tastenkürzel</td></tr><tr class="kopf"><td>Taste</td><td>Bedeutung</td><td>Taste</td><td>Bedeutung</td></tr><tr><td> <span class="key">↑</span> oder <span class="key">Y</span> </td><td>im Text nach oben scrollen</td><td> <span class="key">↓</span> oder <span class="key">E</span> </td><td>im Text nach unten scrollen</td></tr><tr class="highlight"><td> <span class="key">←</span> </td><td>im Text nach links scrollen</td><td> <span class="key">→</span> </td><td>im Text nach rechts scrollen</td></tr><tr><td> <span class="key">Bild ↑</span> oder <span class="key">U</span> oder <span class="key">B</span> </td><td>im Text seitenweise nach oben scrollen</td><td> <span class="key">Bild ↓</span> oder <span class="key">D</span> oder <span class="key">F</span> </td><td>im Text seitenweise nach unten scrollen</td></tr><tr class="highlight"><td> <span class="key">G</span> </td><td>zum Textanfang springen</td><td> <span class="key">⇧</span> + <span class="key">G</span> </td><td>zum Textende springen</td></tr><tr><td> <span class="key">⇧</span> + <span class="key">7</span> </td><td>in den Suchmodus "Vorwärtssuche"</td><td> <span class="key">⇧</span> + <span class="key">ß</span> </td><td>in den Suchmodus "Rückwärtssuche"</td></tr><tr class="highlight"><td> <span class="key">N</span> </td><td>zum nächsten Suchresultat springen</td><td> <span class="key">⇧</span> + <span class="key">N</span> </td><td>zum vorherigen Suchresultat springen</td></tr><tr><td> <span class="key">H</span> </td><td>Hilfetext mit vielen zusätzlichen Tasten und Optionen</td><td> <span class="key">Q</span> </td><td>Beenden</td></tr></table> <p><small>https://wiki.ubuntuusers.de/man/</small></p> </section> <section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom"> <h2>Die Bash</h2> </section> </div> </div> <script src="lib/js/head.min.js"></script> <script src="js/reveal.js"></script> <script> // More info https://github.com/hakimel/reveal.js#configuration Reveal.initialize({ controls: true, progress: true, history: true, center: true, transition: 'slide', // none/fade/slide/convex/concave/zoom // More info https://github.com/hakimel/reveal.js#dependencies dependencies: [ { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } }, { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, { src: 'plugin/search/search.js', async: true }, { src: 'plugin/zoom-js/zoom.js', async: true }, { src: 'plugin/notes/notes.js', async: true } ] }); </script> </body> </html>