linuxkurs/2.html

466 lines
16 KiB
HTML
Raw Normal View History

2018-12-11 10:48:20 +01:00
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Einführung in Linux</title>
2018-12-13 11:54:01 +01:00
<meta name="description" content="YALC - Yet Another Linux Course ">
2018-12-11 10:48:20 +01:00
<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">
2018-12-13 11:54:01 +01:00
<link rel="icon" href="img/openlogo-nd-25.png" type="img/png">
2018-12-11 10:48:20 +01:00
<!-- 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
2018-12-13 11:54:01 +01:00
<p> <small>Deutsche Angestellten Akademie</small> </p>
2018-12-11 10:48:20 +01:00
</section>
2018-12-13 11:54:01 +01:00
2018-12-11 10:48:20 +01:00
<section>
2018-12-13 11:54:01 +01:00
<section><h3>Weitere Desktop Systeme</h3>
2018-12-11 10:48:20 +01:00
<aside class="notes">
<ul>
2018-12-13 11:54:01 +01:00
<li>X window - X11</li>
2018-12-11 10:48:20 +01:00
</ul>
2018-12-13 11:54:01 +01:00
</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>
2018-12-11 10:48:20 +01:00
</section>
2018-12-13 11:54:01 +01:00
2018-12-11 10:48:20 +01:00
<section>
2018-12-13 11:54:01 +01:00
<h3>Wichtige „Freie“ Programme</h3>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
</section>
<section>
2018-12-13 11:54:01 +01:00
<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">
2018-12-11 10:48:20 +01:00
<ul>
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
</ul>
2018-12-13 11:54:01 +01:00
</aside>
</section>
<section>
<h3>Basics / Unterschiede zu Windows</h3>
2018-12-11 10:48:20 +01:00
<ul>
2018-12-13 11:54:01 +01:00
<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:
2018-12-11 10:48:20 +01:00
<ul>
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
</ul>
</li>
</ul>
</section>
<section>
2018-12-13 11:54:01 +01:00
<h3>Basics / Unterschiede zu Windows</h3>
2018-12-11 10:48:20 +01:00
<ul>
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
</ul>
2018-12-13 11:54:01 +01:00
</section>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
<section>
2018-12-13 11:54:01 +01:00
<h3>Übungen</h3>
2018-12-11 10:48:20 +01:00
<ol>
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
</ol>
2018-12-13 11:54:01 +01:00
<aside class="notes">
<ul>
<li>X Window System X11 </li>
<li>Benennung mit G und K und X </li>
</ul>
</aside>
2018-12-11 10:48:20 +01:00
</section>
2018-12-13 11:54:01 +01:00
<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
<h3>Paketverwaltung</h3>
2018-12-11 10:48:20 +01:00
</section>
2018-12-13 11:54:01 +01:00
<section>
<h3>Debian Versions-Bezeichungen</h3>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
2018-12-11 10:48:20 +01:00
</section>
<section>
2018-12-13 11:54:01 +01:00
<h3>apt</h3>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<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 ge­ge­be­nen­falls 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>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<p><small>Quelle: https://wiki.ubuntuusers.de/apt/apt/</small> </p>
2018-12-11 10:48:20 +01:00
</section>
<section>
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<div class="fragment grow highlight-red">NICHT MISCHEN!!</div>
2018-12-11 10:48:20 +01:00
</section>
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<aside class="notes">
<ul>
<li>snappy: container mit allem drin</li>
<li>flatpack: ähnlich, und open source ;-)</li>
</ul>
</aside>
2018-12-11 10:48:20 +01:00
</section>
<section>
2018-12-13 11:54:01 +01:00
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>
2018-12-11 10:48:20 +01:00
</div>
</section>
2018-12-13 11:54:01 +01:00
<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>
2018-12-11 10:48:20 +01:00
</section>
</section>
2018-12-13 11:54:01 +01:00
<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
<h1>Das Hilfesystem</h1>
2018-12-11 10:48:20 +01:00
</section>
<section>
2018-12-13 11:54:01 +01:00
<h3>Wie finde ich Hilfe??</h3>
<blockquote>Man muss nicht alles wissen, aber man sollte wissen wo ma n es nachschlagen kann.</blockquote>
2018-12-11 10:48:20 +01:00
<ul>
2018-12-13 11:54:01 +01:00
<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 ">&lt;F1&gt; ( nicht im Terminal ) </li>
2018-12-11 10:48:20 +01:00
</ul>
2018-12-13 11:54:01 +01:00
<p class="fragment fade-right ">Ausserdem:::</p>
2018-12-11 10:48:20 +01:00
</section>
<section>
2018-12-13 11:54:01 +01:00
<h3>Die man - Pages</h3>
<p > Für (fast) alle Terminal-Programme existiert eine <br><span class="fragment highlight-green">man - Page</span>
2018-12-11 10:48:20 +01:00
</p>
2018-12-13 11:54:01 +01:00
<pre>man sudo </pre>
2018-12-11 10:48:20 +01:00
</section>
2018-12-13 11:54:01 +01:00
<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:
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
<pre>man 1 less </pre>
2018-12-11 10:48:20 +01:00
</section>
<section>
2018-12-13 11:54:01 +01:00
<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 &quot;Vorwärtssuche&quot;</td><td>
<span class="key"></span> +
<span class="key">ß</span> </td><td>in den Suchmodus &quot;Rückwärtssuche&quot;</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>
2018-12-11 10:48:20 +01:00
</section>
2018-12-17 12:34:44 +01:00
<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
<h2>Die Bash</h2>
2018-12-11 10:48:20 +01:00
</section>
2018-12-13 11:54:01 +01:00
2018-12-11 10:48:20 +01:00
2018-12-13 11:54:01 +01:00
2018-12-11 10:48:20 +01:00
</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>