linuxkurs/2.html

469 lines
16 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 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>
<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 ">&lt;F1&gt; ( 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 &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>
</section>
<section>
<h2>sudo / root</h2>
<p>Benutzer Konzept
</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>