Merge branch 'master' of git.scytec.de:danthefan/linuxkurs
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
bower_components/
|
bower_components/
|
||||||
|
*.m4v
|
||||||
|
*.wav
|
||||||
|
423
15.html
@ -42,27 +42,16 @@
|
|||||||
<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
|
<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
|
||||||
<h1>LINUX</h1>
|
<h1>LINUX</h1>
|
||||||
<h3>Das universelle Betriebssystem</h3>
|
<h3>Das universelle Betriebssystem</h3>
|
||||||
<p>Eine Einführung - Teil 14
|
<p>Eine Einführung - Teil 15
|
||||||
<p> <small>Deutsche Angestellten Akademie</small> </p>
|
<p> <small>Deutsche Angestellten Akademie</small> </p>
|
||||||
<aside class="notes">
|
<aside class="notes">
|
||||||
Frage: Fragen zur letzten Stunde?
|
Frage: Fragen zur letzten Stunde?
|
||||||
</aside>
|
</aside>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section data-transition="slide" data-background="#b5533c" data-background-transition="convex"> <h3>lampp stack</h3> </section>
|
<section data-transition="slide" data-background="#b5533c" data-background-transition="convex"> <h3>lampp stack</h3> Linux & Apache & mysql & php</section>
|
||||||
|
|
||||||
<section>
|
|
||||||
<ul>
|
|
||||||
<li>mysql basics</li>
|
|
||||||
<li>wordpress tabellen ansehen</li>
|
|
||||||
<li>apache vhost</li>
|
|
||||||
<li>letsencrypt</li>
|
|
||||||
<li></li>
|
|
||||||
<li></li>
|
|
||||||
<li></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<pre><code class="bash">~$ sudo apt install apache2 mysql-server phpmyadmin</code></pre>
|
<pre><code class="bash">~$ sudo apt install apache2 mysql-server phpmyadmin</code></pre>
|
||||||
|
|
||||||
@ -80,17 +69,409 @@ MariaDB [(none)]> \q
|
|||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<section>
|
<section>
|
||||||
|
<h3>mysql</h3>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
mysql ist eine „relationale Datenbank”
|
||||||
|
<p><blockquote> Relationale Datenbanken versuchen, die Realität in einem Datenmodell abzubilden.</blockquote>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="fragment ">mysql</li>
|
<li>Jede Zeile einer Tabelle ist ein Datensatz</li>
|
||||||
<li class="fragment ">LAMP</li>
|
<li>Jede Zeile ( Tupel ) besteht aus <strong>Attributen</strong> ( die Spalten )</li>
|
||||||
<li class="fragment ">Multimedia</li>
|
<li>Über <strong>Primärschlüssel</strong> werden Beziehungen hergestellt</li>
|
||||||
<li class="fragment ">Gimp</li>
|
<li>Eine Datenbank kann viele Tabellen beinhalten</li>
|
||||||
|
<li>Die Tabellen stehen in Beziehung ( Relation )</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
-->
|
|
||||||
|
<section>
|
||||||
|
<img src="img/relationales_datenbankmodell_beispiel.jpg">
|
||||||
|
<p><small style="font-size:.4em">Quelle: http://www.datenbanken-verstehen.de/datenbank-grundlagen/datenbankmodell/relationales-datenbankmodell/</small>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4>Normalisierung</h4>
|
||||||
|
Aufteilung der Attribute (Spalten) in mehrere Relationen ( Tabellen ), so dass eine Form ohne Redundanzen entsteht.
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<img src="img/Aufspaltung_einer_Tabelle_in_zwei_(Beispiel).svg">
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<table style="font-size: .5em">
|
||||||
|
<tr>
|
||||||
|
<td>Rg Nr</td>
|
||||||
|
<td>Datum</td>
|
||||||
|
<td>Name</td>
|
||||||
|
<td>Straße</td>
|
||||||
|
<td>Ort</td>
|
||||||
|
<td>Artikel</td>
|
||||||
|
<td>Anzahl</td>
|
||||||
|
<td>Preis</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>143</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>Max Müller</td>
|
||||||
|
<td>Trumstrasse 4</td>
|
||||||
|
<td>75179 Pforzheim</td>
|
||||||
|
<td>Bleistift</td>
|
||||||
|
<td>1001</td>
|
||||||
|
<td>1,00€</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
1. Normalform
|
||||||
|
<table style="font-size: .5em">
|
||||||
|
<tr>
|
||||||
|
<td>Rg Nr</td>
|
||||||
|
<td>Datum</td>
|
||||||
|
<td>Vor Name</td>
|
||||||
|
<td>Nach Name</td>
|
||||||
|
<td>Straße</td>
|
||||||
|
<td>Hausnr</td>
|
||||||
|
<td>PLZ</td>
|
||||||
|
<td>Ort</td>
|
||||||
|
<td>Artikel</td>
|
||||||
|
<td>Anzahl</td>
|
||||||
|
<td>Preis</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>143</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>Max</td>
|
||||||
|
<td>Müller</td>
|
||||||
|
<td>Trumstrasse</td>
|
||||||
|
<td> 4</td>
|
||||||
|
<td>75179</td>
|
||||||
|
<td> Pforzheim</td>
|
||||||
|
<td>Bleistift</td>
|
||||||
|
<td>1001</td>
|
||||||
|
<td>1,00€</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<table style="font-size: .5em">
|
||||||
|
<tr>
|
||||||
|
<td>Rg Nr</td>
|
||||||
|
<td>Datum</td>
|
||||||
|
<td>Vor Name</td>
|
||||||
|
<td>Nach Name</td>
|
||||||
|
<td>Straße</td>
|
||||||
|
<td>Hausnr</td>
|
||||||
|
<td>PLZ</td>
|
||||||
|
<td>Ort</td>
|
||||||
|
<td>Artikel</td>
|
||||||
|
<td>Anzahl</td>
|
||||||
|
<td>Preis</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>144</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>Max</td>
|
||||||
|
<td>Müller</td>
|
||||||
|
<td>Trumstrasse</td>
|
||||||
|
<td> 4</td>
|
||||||
|
<td>75179</td>
|
||||||
|
<td> Pforzheim</td>
|
||||||
|
<td>Bleistift</td>
|
||||||
|
<td>1001</td>
|
||||||
|
<td>1,00€</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>145</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>Max</td>
|
||||||
|
<td>Müller</td>
|
||||||
|
<td>Trumstrasse</td>
|
||||||
|
<td> 4</td>
|
||||||
|
<td>75179</td>
|
||||||
|
<td> Pforzheim</td>
|
||||||
|
<td>Tüte</td>
|
||||||
|
<td>1001</td>
|
||||||
|
<td>0,10€</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>146</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>Max</td>
|
||||||
|
<td>Müller</td>
|
||||||
|
<td>Trumstrasse</td>
|
||||||
|
<td> 4</td>
|
||||||
|
<td>75179</td>
|
||||||
|
<td> Pforzheim</td>
|
||||||
|
<td>Ratzefummel</td>
|
||||||
|
<td>1001</td>
|
||||||
|
<td>1,50€</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Kunden
|
||||||
|
|
||||||
|
<table style="font-size: .5em">
|
||||||
|
<tr>
|
||||||
|
<td>ID</td>
|
||||||
|
<td>Vor Name</td>
|
||||||
|
<td>Nach Name</td>
|
||||||
|
<td>Straße</td>
|
||||||
|
<td>Hausnr</td>
|
||||||
|
<td>PLZ</td>
|
||||||
|
<td>Ort</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>1234</td>
|
||||||
|
<td>Max</td>
|
||||||
|
<td>Müller</td>
|
||||||
|
<td>Trumstrasse</td>
|
||||||
|
<td> 4</td>
|
||||||
|
<td>75179</td>
|
||||||
|
<td> Pforzheim</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr>
|
||||||
|
<div>
|
||||||
|
Rechnungen:
|
||||||
|
<table style="font-size: .5em">
|
||||||
|
<tr>
|
||||||
|
<td>Rg Nr</td>
|
||||||
|
<td>Datum</td>
|
||||||
|
<td>KundenID</td>
|
||||||
|
<td>Artikel</td>
|
||||||
|
<td>Anzahl</td>
|
||||||
|
<td>Preis</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>144</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>1234</td>
|
||||||
|
<td>Bleistift</td>
|
||||||
|
<td>1001</td>
|
||||||
|
<td>1,00</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>145</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>1234</td>
|
||||||
|
<td>Tüte</td>
|
||||||
|
<td>12</td>
|
||||||
|
<td>0,10</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>146</td>
|
||||||
|
<td>01.04.2018</td>
|
||||||
|
<td>1234</td>
|
||||||
|
<td>Ratzefummel</td>
|
||||||
|
<td>32</td>
|
||||||
|
<td>1,50</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<img src="img/Wp_Normal_1_301208_165800.JPG">
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Verbindung aufnehmen:
|
||||||
|
<pre><code class="bash">~$ sudo mysql
|
||||||
|
# oder:
|
||||||
|
~$ mysql -u BENUTZERNAME -p -h localhost
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="fragment ">-u : Username</li>
|
||||||
|
<li class="fragment ">-p : Passwort abfragen</li>
|
||||||
|
<li class="fragment ">-h : Host</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>Datenbank erstellen
|
||||||
|
<pre style="font-size:.4em"><code class="sql">CREATE DATABASE IF NOT EXISTS test;
|
||||||
|
|
||||||
|
USE test;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS books (
|
||||||
|
BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||||
|
Title VARCHAR(100) NOT NULL,
|
||||||
|
SeriesID INT, AuthorID INT);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS authors
|
||||||
|
(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS series
|
||||||
|
(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
|
||||||
|
INSERT INTO books (Title,SeriesID,AuthorID)
|
||||||
|
VALUES('The Fellowship of the Ring',1,1),
|
||||||
|
('The Two Towers',1,1), ('The Return of the King',1,1),
|
||||||
|
('The Sum of All Men',2,2), ('Brotherhood of the Wolf',2,2),
|
||||||
|
('Wizardborn',2,2), ('The Hobbbit',0,1);</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>Tabellen anzeigen
|
||||||
|
<pre><code class="sql">
|
||||||
|
SHOW TABLES;
|
||||||
|
|
||||||
|
+----------------+
|
||||||
|
| Tables_in_test |
|
||||||
|
+----------------+
|
||||||
|
| authors |
|
||||||
|
| books |
|
||||||
|
| series |
|
||||||
|
+----------------+
|
||||||
|
3 rows in set (0.00 sec)
|
||||||
|
</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<pre><code class="sql">DESCRIBE books;
|
||||||
|
|
||||||
|
+----------+--------------+------+-----+---------+----------------+
|
||||||
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
|
+----------+--------------+------+-----+---------+----------------+
|
||||||
|
| BookID | int(11) | NO | PRI | NULL | auto_increment |
|
||||||
|
| Title | varchar(100) | NO | | NULL | |
|
||||||
|
| SeriesID | int(11) | YES | | NULL | |
|
||||||
|
| AuthorID | int(11) | YES | | NULL | |
|
||||||
|
+----------+--------------+------+-----+---------+----------------+
|
||||||
|
</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Daten anzeigen:
|
||||||
|
<pre><code class="sql">SELECT * FROM books;
|
||||||
|
|
||||||
|
+--------+----------------------------+----------+----------+
|
||||||
|
| BookID | Title | SeriesID | AuthorID |
|
||||||
|
+--------+----------------------------+----------+----------+
|
||||||
|
| 1 | The Fellowship of the Ring | 1 | 1 |
|
||||||
|
| 2 | The Two Towers | 1 | 1 |
|
||||||
|
| 3 | The Return of the King | 1 | 1 |
|
||||||
|
| 4 | The Sum of All Men | 2 | 2 |
|
||||||
|
| 5 | Brotherhood of the Wolf | 2 | 2 |
|
||||||
|
| 6 | Wizardborn | 2 | 2 |
|
||||||
|
| 7 | The Hobbbit | 0 | 1 |
|
||||||
|
+--------+----------------------------+----------+----------+
|
||||||
|
7 rows in set (0.00 sec)</code></pre></section>
|
||||||
|
|
||||||
|
<section>Daten einfügen:
|
||||||
|
<pre><code class="sql">INSERT INTO books (Title, SeriesID, AuthorID)
|
||||||
|
VALUES ("Lair of Bones", 2, 2);
|
||||||
|
|
||||||
|
Query OK, 1 row affected (0.00 sec)</code></pre>
|
||||||
|
<pre><code>SELECT * FROM books;</code></pre></section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Daten modifizieren:
|
||||||
|
<pre><code class="sql">UPDATE books
|
||||||
|
SET Title = "The Hobbit"
|
||||||
|
WHERE BookID = 7;
|
||||||
|
|
||||||
|
Query OK, 1 row affected (0.00 sec)
|
||||||
|
Rows matched: 1 Changed: 1 Warnings: 0</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Speicherort: <pre><code>/var/lib/mysql</code></pre>
|
||||||
|
Konfiguration <pre><code>/etc/mysql/my.cnf</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Andere Datenbanken:
|
||||||
|
|
||||||
|
<p><ul>
|
||||||
|
<li class="fragment ">PostgreSql</li>
|
||||||
|
<li class="fragment ">SQLite</li>
|
||||||
|
<li class="fragment ">Redis</li>
|
||||||
|
<li class="fragment ">MongoDB</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section data-transition="slide" data-background="#b5533c" data-background-transition="convex"> <h3>Apache Webserver</h3></section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<ul>
|
||||||
|
<li>Apache ist der meistgenutzte (?) Webserver</li>
|
||||||
|
<li class="fragment ">Apache beantwortet http Requests. </li>
|
||||||
|
<li class="fragment ">Punkt.</li>
|
||||||
|
<li class="fragment ">kennt Module -> Funtionserweiterung</li>
|
||||||
|
<li class="fragment ">interpretiert versch. Script-Sprachen über Module</li>
|
||||||
|
<li class="fragment "><a href="https://de.wikipedia.org/wiki/Apache_HTTP_Server#Module">Liste der Module</a></li>
|
||||||
|
<li class="fragment ">php, ruby, perl, lua, JavaScript, .net .....</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<ul>
|
||||||
|
<li>aktuelle Version 2.3 ( deswegen apache2 )</li>
|
||||||
|
<li class="fragment ">Standard Speicherort f. Webseiten: /var/www/html</li>
|
||||||
|
<li class="fragment ">Aufruf per Browser : <br>http://localhost/ <br>http://SERVER-IP_ODER_NAME/</li>
|
||||||
|
<li class="fragment ">Standardmässig wird <code>index.html</code> ausgeliefert</li>
|
||||||
|
<li class="fragment ">wenn nicht vorhanden Liste des Verz. Inhalt</li>
|
||||||
|
<li class="fragment ">Steuerung über <br><code>systemctl start | stop | restart | reload | force-reload apache2</code> </li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4>Konfiguration</h4>
|
||||||
|
<ul>
|
||||||
|
<li class="fragment "><code>/etc/apache2/apache2.conf</code></li>
|
||||||
|
<li class="fragment ">Zusätzliche conf Files: <br><code>/etc/apache2/conf-available/</code></li>
|
||||||
|
<li class="fragment ">Einzelne Webseiten ( vhosts ) <br><code>/etc/apache2/sites-available/</code></li>
|
||||||
|
<li class="fragment ">per Verzeichnis: <code>.htaccess</code></li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
De-/ Aktivieren einer Zusätzlichen Konfigurationsdatei <pre><code class="bash">~$ sudo a2enconf NAME_DER_DATEI.conf
|
||||||
|
~$ sudo a2disconf NAME_DER_DATEI.conf </code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
De-/ Aktivieren einer Zusätzlichen Webseite <pre><code class="bash">~$ sudo a2ensite MEINE_WEBSEITE.conf
|
||||||
|
~$ sudo a2dissite MEINE_WEBSEITE.conf </code></pre>
|
||||||
|
|
||||||
|
<small>Diese beiden Befehle machen Symlinks in die Ordner <br><code>/etc/apache/[ conf | site ]-enabled</code></small>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p>Nach Änderungen in diesen Dateien: <pre><code class="bash">~$ sudo systemctl reload apache2</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4>Virtual Hosts</h4>
|
||||||
|
<div>Es ist möglich, von einem Server verschiedene Domains auszuliefern mit sog. Virtual Hosts.</div>
|
||||||
|
<p>Beispiel:: <a href="beispiele/15/schubertdaniel.conf">beispiele/15/schubertdaniel.conf</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<span style="color: orange">Aufgabe:</span> <p>Erstellt eine Webseite namens omikron, die per <p><code>http://localhost/omikron</code> <br>aus dem Ordner <p><code>/var/www/html/omikron</code> <br>ausgeliefert wird.
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section><span style="color: orange">Aufgabe:</span> <p>Verlegt die Wordpress Installation nach <code>/home/NUTZERNAME/www/wordpress</code></section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<section>
|
<section>
|
||||||
|
383
16.html
Normal file
@ -0,0 +1,383 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="de">
|
||||||
|
<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>
|
||||||
|
<style type="text/css">
|
||||||
|
.reveal img{ max-height: 60vh}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</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 16
|
||||||
|
<p> <small>Deutsche Angestellten Akademie</small> </p>
|
||||||
|
<aside class="notes">
|
||||||
|
Frage: Fragen zur letzten Stunde?
|
||||||
|
</aside>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section data-transition="slide" data-background="#b5533c" data-background-transition="convex" ><h3 >Linux und Multimedia</h3></section>
|
||||||
|
|
||||||
|
<section data-transition="slide" data-background="img/trianglify.svg" data-background-transition="convex"> <h3 style="color: lightgrey; text-shadow: 1px 1px black">Bildbearbeitung</h3></section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h5>the Gimp</h5>
|
||||||
|
<p>GNU Image Manipulation Programm</p>
|
||||||
|
<img src="img/2019-03-02-124423_1366x768_scrot.png">
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h5>Darktable</h5>
|
||||||
|
<img src="img/2019-03-02-124938_1366x768_scrot.png">
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h5>Inkscape</h5>
|
||||||
|
<p>Vektorbilder </p>
|
||||||
|
<img src="img/2019-03-02-125227_1366x768_scrot.png">
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<p><a href="https://imagemagick.org/index.php" target="_blank">ImageMagick</a>
|
||||||
|
<pre><code> sudo apt install imagemagick</code></pre>
|
||||||
|
<ul>
|
||||||
|
<li>convert / mogrify
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<pre><code class="bash">convert bild.jpg out.gif </code></pre>
|
||||||
|
<ul>
|
||||||
|
<li>montage</li>
|
||||||
|
</ul>
|
||||||
|
<pre><code>montage *.jpg out.jpg</code></pre>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>import</li>
|
||||||
|
</ul>
|
||||||
|
<pre><code>import screen.jpg</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
|
||||||
|
<pre><code class="bash" contenteditable>
|
||||||
|
# komprimiert ein jpg ohne sichtbare Qualitätsverluste
|
||||||
|
# ( zb für Webseiten Deployment )
|
||||||
|
convert -strip -interlace Plane -sampling-factor 4:2:0 \
|
||||||
|
-quality 85% quelle.jpg result.jpg
|
||||||
|
|
||||||
|
# das selbe, aber rekursiv und destruktiv
|
||||||
|
find . -name "*.jpg" -exec mogrify -strip -interlace Plane \
|
||||||
|
-sampling-factor 4:2:0 -quality 85% {} \;
|
||||||
|
|
||||||
|
# Bild beschneiden und zentrieren
|
||||||
|
convert input.jpg -crop '1900x1400+0+0'\
|
||||||
|
-gravity Center output.jpg
|
||||||
|
</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<pre style="width: 80vw; font-size: .5em"><code class="bash">convert -size 320x90 canvas:none -stroke snow4 -size 1x90 -tile gradient:white-snow4 \
|
||||||
|
-draw 'roundrectangle 16, 5, 304, 85 20,40' +tile -fill snow \
|
||||||
|
-draw 'roundrectangle 264, 5, 304, 85 20,40' -tile gradient:chartreuse-green \
|
||||||
|
-draw 'roundrectangle 16, 5, 180, 85 20,40' -tile gradient:chartreuse1-chartreuse3 \
|
||||||
|
-draw 'roundrectangle 140, 5, 180, 85 20,40' +tile -fill none \
|
||||||
|
-draw 'roundrectangle 264, 5, 304, 85 20,40' -strokewidth 2 \
|
||||||
|
-draw 'roundrectangle 16, 5, 304, 85 20,40' \( +clone -background snow4 \
|
||||||
|
-shadow 80x3+3+3 \) +swap -background none -layers merge \( +size -pointsize 90 \
|
||||||
|
-strokewidth 1 -fill red label:'50 %' -trim +repage \( +clone -background firebrick3 \
|
||||||
|
-shadow 80x3+3+3 \) +swap -background none -layers merge \) -insert 0 -gravity center \
|
||||||
|
-append -background white -gravity center -extent 320x200 cylinder_shaded.png</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>Ein Bild verschlüsseln
|
||||||
|
<pre><code class="bash">convert rose.jpg -encipher passphrase.txt rose.png</code></pre>
|
||||||
|
<pre><code class="bash"># ein anders Bild als Passwort
|
||||||
|
convert rose.jpg -encipher smiley.gif rose.png</code></pre>
|
||||||
|
|
||||||
|
<pre><code class="bash"># entschlüsseln
|
||||||
|
convert rose.png -decipher smiley.gif rose.jpg</code></pre>
|
||||||
|
|
||||||
|
<a href="https://imagemagick.org/Usage/transform/#encipher">ImageMagick Hilfe Seite</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<span style="color: orange">Aufgabe:</span>
|
||||||
|
<ul>
|
||||||
|
<li>Bereitet <a href="https://www.schubertdaniel.de/linuxkurs/bilder.zip">diese Bilder</a> vor für eine Bildergallerie. </li>
|
||||||
|
<li>Die Bilder sollen nicht grösser als 1200x800px sein.</li>
|
||||||
|
<li>Die Bilder sollen nicht beschnitten werden.</li>
|
||||||
|
<li>Die Metadaten sollen entfernt werden.</li>
|
||||||
|
<li>Veröffentlicht die Bilder in einer Gallerie auf eurer Wordpress Seite.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
Hinweis:
|
||||||
|
<pre><code>convert input.jpg -resize '1200x800' output.jpg</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
screenshots mit scrot
|
||||||
|
<pre><code class="bash">~$ scrot -d 5 '%Y-%m-%d_$wx$h.png'</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section data-transition="slide" data-background="img/trianglify.svg" data-background-transition="convex"> <h3 style="color: lightgrey; text-shadow: 1px 1px black">Video Editing / Transkodierung</h3></section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4>Einfacher Videoschnitt</h4>
|
||||||
|
<ul>
|
||||||
|
<li class="fragment">OpenShot
|
||||||
|
<div><img src="img/openshot-screen.jpg"></div></li>
|
||||||
|
<li class="fragment">Pitivi</li>
|
||||||
|
<li class="fragment">KDEnlive</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h4 class="fragment">Anspruchsvoller Videoschnitt</h4>
|
||||||
|
<ul>
|
||||||
|
<li class="fragment">Blender - eigentl. 3D-Rendering <ul><li><a href="https://www.youtube.com/watch?v=YE7VzlLtp-4">Big Buck Bunny bei YouTube</a></li>
|
||||||
|
<li><a href="https://www.blenderguru.com/articles/27-inspiring-blender-animations-that-will-make-your-jaw-drop">Blender Videos</a></li></ul>
|
||||||
|
<li class="fragment">Lightworks</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h3>Ausflug</h3>
|
||||||
|
Video Container
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Ein Video Container beinhält
|
||||||
|
<ul>
|
||||||
|
<li class="fragment ">Eine Videospur</li>
|
||||||
|
<li class="fragment ">eine oder mehrere Audiospuren</li>
|
||||||
|
<li class="fragment ">Untertitel</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Die Videospur ist meist kodiert mit
|
||||||
|
<ul>
|
||||||
|
<li class="fragment ">mpeg-1</li>
|
||||||
|
<li class="fragment ">mpeg-4</li>
|
||||||
|
<li class="fragment ">mpeg4-part10: h264 / h265</li>
|
||||||
|
<li class="fragment ">vp8 / vp9 </li>
|
||||||
|
<li class="fragment ">theora</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Die Audiospur ist meist kodiert mit
|
||||||
|
<p>
|
||||||
|
<ul>
|
||||||
|
<li class="fragment ">mp3</li>
|
||||||
|
<li class="fragment ">aac</li>
|
||||||
|
<li class="fragment ">ogg vorbis</li>
|
||||||
|
<li class="fragment ">opus</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Zusammengesetzt ergeben sich Container
|
||||||
|
<ul>
|
||||||
|
<li class="fragment ">mp4 : h264 + mp3 ( <a href="https://de.wikipedia.org/wiki/MP4">Wikipedia</a> )</li>
|
||||||
|
<li class="fragment ">webm : vp9 + opus ( <a href="https://de.wikipedia.org/wiki/WebM">Wikipedia</a> )</li>
|
||||||
|
<li class="fragment ">ogv : theora + ogg ( <a href="https://de.wikipedia.org/wiki/Ogg">Wikipedia</a> )</li>
|
||||||
|
<li class="fragment ">mehr <a href="https://de.wikipedia.org/wiki/Containerformat">Wikipedia</a></li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h4>ffmpeg</h4>
|
||||||
|
<h5>Das Schweizer Taschenmesser der Audio / Video Konvertierung</h5>
|
||||||
|
|
||||||
|
<pre><code class="bash"># einfache Transkodierung
|
||||||
|
ffmpeg -i videoi.avi video.mpg
|
||||||
|
|
||||||
|
# DVD Rip
|
||||||
|
ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k \
|
||||||
|
-g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.mpg
|
||||||
|
|
||||||
|
# h264 kodiertes mp4 zur Darstellung im Browser
|
||||||
|
ffmpeg -i infile.avi -vf scale=1200:800 -b:v 600k \
|
||||||
|
-b:a 128k -c:v libx264 -preset medium outfile.mp4
|
||||||
|
|
||||||
|
# mp3 aus wav
|
||||||
|
ffmpeg -i infile.wav -b:a 192k outfile.mp3
|
||||||
|
|
||||||
|
</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<pre><code class="bash" contenteditable>
|
||||||
|
# produziert 3 Videos; benötigt für Webseiten
|
||||||
|
# damit alle Browser d. Video abspielen
|
||||||
|
|
||||||
|
# video: h264; audio: aac ( default )
|
||||||
|
ffmpeg -i infile -b:v 600k -b:a 128k -c:v libx264 out.mp4
|
||||||
|
|
||||||
|
# video: vp9; audio: opus ( default )
|
||||||
|
ffmpeg -i infile -b:v 600k -b:a 128k out.webm
|
||||||
|
|
||||||
|
# video: theora; audio: ogg vorbis
|
||||||
|
ffmpeg -i infile -codec:v libtheora -qscale:v 7 \
|
||||||
|
-codec:a libvorbis -qscale:a 5 out.ogv
|
||||||
|
</code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<ul>
|
||||||
|
<li>Handbrake</li>
|
||||||
|
<li>libdvdcss</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<span style="color: orange">Aufgabe:</span>
|
||||||
|
<ul>
|
||||||
|
<li>installiert ffmpeg</li>
|
||||||
|
<li>erstellt aus <a href="/beispiele/16/infile.m4v">DIESEM</a> Video einen 10sec langen mp4 Video-Snippet.</li>
|
||||||
|
<li>erstellt aus <a href="/beispiele/16/wav-file.zip">DIESEM</a> Wav ein MP3 mit 192kB Bitrate.</li>
|
||||||
|
<li>erstellt aus der Wav-Datei eine flac Datei.</li>
|
||||||
|
<li>vergleicht die Grössen.</li>
|
||||||
|
<li>Warum ist es nicht sinnvoll aus einem mp3 ein wav zu machen?</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
Hinweis:
|
||||||
|
<pre><code class="bash" contenteditable># 10sec langes video:
|
||||||
|
ffmpeg -t 10 -i ..... </code></pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section data-transition="slide" data-background="img/Jaromir-Chalabala1.jpg" data-background-transition="convex"> <h3 style="color: lightgrey; text-shadow: 1px 1px black">Audio Production</h3></section>
|
||||||
|
<section>
|
||||||
|
Audio unter Linux ist .... interessant.
|
||||||
|
<p>Meist Kombination aus Pulseaudio / ALSA
|
||||||
|
<p>PulseAudio -> Middleware
|
||||||
|
<p>ALSA -> Treiber
|
||||||
|
<p>Für Echtzeit-Audio-Verarbeitung ( möglichst geringe Latenzen ) muss die Kombination Jack / ALsa konfiguriert werden
|
||||||
|
|
||||||
|
<aside class="notes">alsamixer</aside>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section>Audacity
|
||||||
|
<div><img src="img/audacity.png"></div></section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Ardour - Professionelles Recording
|
||||||
|
<div><img src="img/ardour.jpg"></div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Guitarix - Virtueller Gitarrenamp
|
||||||
|
<div><img src="img/guitarix.jpg"></div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<p><a href="http://kxstudio.linuxaudio.org/index.php">Plugins und andere Tools</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
Jack
|
||||||
|
<div><img src="img/QjackctlConnectionsForm.png"></div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4>Abspielprgramme</h4>
|
||||||
|
<ul>
|
||||||
|
<li class="fragment">VLC</li>
|
||||||
|
<li class="fragment">Mplayer</li>
|
||||||
|
<li class="fragment">Rhythmbox</li>
|
||||||
|
<li class="fragment">mocp</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4>Multimedia Distributionen</h4>
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.bandshed.net/avlinux/">avlinux</a></li>
|
||||||
|
<li><a href="http://ubuntustudio.org">UbuntuStudio</a></li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h4>Gaming</h4>
|
||||||
|
<ul>
|
||||||
|
<li class="fragment ">Steam</li>
|
||||||
|
<li class="fragment ">GOG</li>
|
||||||
|
<li class="fragment ">viele Open Source Spiele
|
||||||
|
<ul>
|
||||||
|
<li>Sauerbraten</li>
|
||||||
|
<li>Assault Cube</li>
|
||||||
|
<li>Zero-K</li>
|
||||||
|
<li>0 A.D.</li>
|
||||||
|
<li>Flightgear</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</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>
|
130
17.html
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="de">
|
||||||
|
<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>
|
||||||
|
<style type="text/css">
|
||||||
|
.reveal img{ max-height: 60vh}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</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>Übungen
|
||||||
|
<p> <small>Deutsche Angestellten Akademie</small> </p>
|
||||||
|
<aside class="notes">
|
||||||
|
Frage: Fragen zur letzten Stunde?
|
||||||
|
</aside>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section style="font-size: .6em">
|
||||||
|
<span style="color: orange">Experimente mit versch. Kompressionsprogrammen ( gzip, bzip2, xz ):</span>
|
||||||
|
<ul>
|
||||||
|
<li>Besorgen Sie sich eine geeignete Datei (etwa ein größeres tar -Archiv zB den Linux Kernel) und komprimieren Sie sie jeweils mit gzip , bzip2 und xz . Messen Sie dabei die Ausführungszeit durch ein vorgesetztes time . Wie verhalten die Laufzeiten und die Komprimierungsraten sich zueinander?</li>
|
||||||
|
<li>Experimentieren Sie mit der Datei aus der vorigen Aufgabe und vergleichen Sie die Laufzeit und die Größe des Resultats für xz mit verschiedenen Effizienz-Optionen. Was ist der Unterschied zwischen -1 und -6 und zwischen -6 und -9 ?</li>
|
||||||
|
<li></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Hinweise:
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section style="font-size: .65em">
|
||||||
|
<h4>Übungen mit grep / reguläre Ausdrücke</h4>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Sind die Operatoren ? und + in regulären Ausdrücken wirklich nötig?
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Finden Sie in <a href="/beispiele/17/frosch.txt">frosch.txt</a> alle Zeilen, in denen das Wort »Tochter« oder »Königstochter« vorkommt.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
In der Datei /etc/passwd stehen die Benutzer des Rechners (meistens jedenfalls). Jede Zeile der Datei besteht aus einer Reihe von durch Doppelpunkten getrennten Feldern. Das letzte Feld jeder Zeile gibt die Login-Shell eines Benutzers an. Geben Sie eine grep-Kommandozeile an, mit der Sie alle Benutzer finden können, die die Bash als Login-Shell verwenden.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Suchen Sie in /usr/share/dict/words nach allen Wörtern, die die genau die fünf Vokale »a«, »e«, »i«, »o« und »u« in dieser Reihenfolge enthalten (möglicherweise mit Konsonanten davor, dazwischen und dahinter).
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
Geben Sie ein Kommando an, das im »Froschkönig« alle Zeilen sucht und ausgibt, in denen irgendein mindestens vierbuchstabiges Wort zweimal auftritt.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>Quelle: <a href="/pdf/Linux-Kurs/lxes-de-manual.pdf">lxes-de-manual.pdf</a>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Übungen
|
||||||
|
C8.7 [2] Wie können Sie prüfen, ob in einem Verzeichnis Dateien mit »merkwürdigen« Namen enthalten sind, etwa solche mit Leerzeichen am Schluss
|
||||||
|
oder mit unsichtbaren Steuerzeichen in der Mitte?
|
||||||
|
</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>
|
||||||
|
|
||||||
|
|
21
beispiele/15/schubertdaniel.conf
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
|
||||||
|
<VirtualHost 144.76.58.9:80 [2a01:4f8:191:6204:0:0:0:2]:80 >
|
||||||
|
|
||||||
|
ServerName www.schubertdaniel.de
|
||||||
|
ServerAlias schubertdaniel.de
|
||||||
|
|
||||||
|
DocumentRoot /home/dany/www/schubertdaniel
|
||||||
|
DirectoryIndex index.php index.html
|
||||||
|
|
||||||
|
CustomLog /home/dany/www/log/schubertdaniel.log common
|
||||||
|
|
||||||
|
Header set Content-Language: de
|
||||||
|
|
||||||
|
<Directory /home/dany/www/schubertdaniel>
|
||||||
|
AllowOverride All # ermöglicht .htaccess
|
||||||
|
Require all granted # öffentlich zugänglich
|
||||||
|
Options -Indexes # kein Inhaltslisting
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
</VirtualHost>
|
34
beispiele/15/wp-backup.sh
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function db_backup {
|
||||||
|
|
||||||
|
# Vars
|
||||||
|
host=localhost
|
||||||
|
user=XXXXXXX
|
||||||
|
pass=XXXXXXX
|
||||||
|
db=wordpress
|
||||||
|
|
||||||
|
echo 'DB Export ------> '
|
||||||
|
mysqldump --opt --add-drop-table -h$host -u$user -p$pass $db | gzip > wp-db.sql.gz
|
||||||
|
}
|
||||||
|
|
||||||
|
function file_backup {
|
||||||
|
backupfile="wordpress-backup.tar"
|
||||||
|
|
||||||
|
echo 'File Backup --- building tar File...'
|
||||||
|
tar -cf $backupfile ~/wp*
|
||||||
|
echo '+DONE'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo '-------------------------------------------'
|
||||||
|
echo 'Tolles Backup Script'
|
||||||
|
echo '-------------------------------------------'
|
||||||
|
|
||||||
|
backupdir=backup
|
||||||
|
|
||||||
|
cd ~ ; mkdir $backupdir && cd $backupdir || { echo "FEHLER!!!!"; exit 1 }
|
||||||
|
|
||||||
|
# Funktionsaufrufe
|
||||||
|
db_backup
|
||||||
|
file_backup
|
BIN
beispiele/16/bild.jpg
Normal file
After Width: | Height: | Size: 3.0 MiB |
6
beispiele/16/create-webvideos-defaults.sh
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
ffmpeg -t 5 -i infile out-def.mp4
|
||||||
|
|
||||||
|
ffmpeg -t 5 -i infile out-def.webm
|
||||||
|
|
||||||
|
ffmpeg -t 5 -i infile out-def.ogv
|
6
beispiele/16/create-webvideos.sh
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 5 sec langes Video
|
||||||
|
ffmpeg -t 5 -i infile -b:v 600k -b:a 128k -c:v libx264 out.mp4
|
||||||
|
ffmpeg -t 5 -i infile -b:v 600k -b:a 128k out.webm
|
||||||
|
ffmpeg -t 5 -i infile -codec:v libtheora -qscale:v 5 -codec:a libvorbis -qscale:a 5 out.ogv
|
BIN
beispiele/16/cylinder_shaded.png
Normal file
After Width: | Height: | Size: 88 KiB |
20
beispiele/16/file-to-mp3-192k.rb
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
def convert(file,filebase)
|
||||||
|
#`ffmpeg -i '#{file}' -ab 192k '#{filebase}'.mp3`
|
||||||
|
`lame -q 0 -b 192 '#{file}' '#{filebase}'.mp3`
|
||||||
|
end
|
||||||
|
|
||||||
|
dir = Dir.new(".")
|
||||||
|
|
||||||
|
while file = dir.read do
|
||||||
|
reg = /(m4a|ogg|wav)/i
|
||||||
|
puts reg
|
||||||
|
|
||||||
|
if file.match(reg)
|
||||||
|
filebase = File.basename(file, "." + file.match(reg).to_s)
|
||||||
|
convert(file, filebase)
|
||||||
|
else
|
||||||
|
puts "Keine passende Datei gefunden: m4a, ogg, wav. "
|
||||||
|
end
|
||||||
|
end
|
BIN
beispiele/16/wav-file.zip
Normal file
91
beispiele/17/borg-www-backup.rb
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
require "date"
|
||||||
|
require "fileutils"
|
||||||
|
|
||||||
|
$NOW = Date.today.strftime("%d-%m-%Y_%H:%M:%S")
|
||||||
|
|
||||||
|
# borg repository
|
||||||
|
$REPO = "/home/dany/backups/borg"
|
||||||
|
|
||||||
|
# websites folder
|
||||||
|
$WEBSITESDIR = "/home/dany/www"
|
||||||
|
|
||||||
|
# local backup folder for db files
|
||||||
|
$BACKUPDIR = "/home/dany/backups"
|
||||||
|
|
||||||
|
unless File.exist?( $BACKUPDIR )
|
||||||
|
FileUtils.mkdir_p( $BACKUPDIR )
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# Unterverzeichnisse von www die gebackuppt werden sollen
|
||||||
|
liste = [
|
||||||
|
"conf",
|
||||||
|
"danletard.de",
|
||||||
|
"papier-restaurierung",
|
||||||
|
"schubertdaniel",
|
||||||
|
"x2ero",
|
||||||
|
"conworx",
|
||||||
|
"rvv/wp-content",
|
||||||
|
"rvv/shop"
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# websites
|
||||||
|
def websites( liste )
|
||||||
|
Dir.chdir( $WEBSITESDIR )
|
||||||
|
|
||||||
|
liste.each do |elem|
|
||||||
|
if File.exist?( elem )
|
||||||
|
`borg create -C zlib,8 #{$REPO}::#{elem}-{now:%d-%m-%Y_%H:%M:%S} #{elem} --exclude '*mpeg'`
|
||||||
|
|
||||||
|
else
|
||||||
|
puts "File or Directory \"#{elem}\" not found!\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
# davical db backup
|
||||||
|
def calendar_db_backup
|
||||||
|
Dir.chdir( $BACKUPDIR )
|
||||||
|
`pg_dump -U davical_app davical | gzip > kalender-#{$NOW}.psql.gz`
|
||||||
|
end
|
||||||
|
|
||||||
|
# wordpress db backup
|
||||||
|
def wp_db_backup
|
||||||
|
host= "localhost"
|
||||||
|
user= "rvv"
|
||||||
|
pass= "owUy9JTWLHQ0"
|
||||||
|
#db= "rvv0rettung"
|
||||||
|
db= "rvv_dev"
|
||||||
|
|
||||||
|
do_sql_backup(host,user,pass,db)
|
||||||
|
end
|
||||||
|
|
||||||
|
# oxid db backup
|
||||||
|
def oxid_db_backup
|
||||||
|
host= "localhost"
|
||||||
|
user= "rvv"
|
||||||
|
pass= "owUy9JTWLHQ0"
|
||||||
|
db= "rvv_shop"
|
||||||
|
|
||||||
|
do_sql_backup(host,user,pass,db)
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
# Helper function
|
||||||
|
#
|
||||||
|
def do_sql_backup(host,user,pass,db)
|
||||||
|
Dir.chdir( $BACKUPDIR )
|
||||||
|
`mysqldump --opt --add-drop-table -h#{host} -u#{user} -p#{pass} #{db} | gzip > #{db}-#{$NOW}.sql.gz`
|
||||||
|
end
|
||||||
|
|
||||||
|
websites( liste )
|
||||||
|
wp_db_backup
|
||||||
|
oxid_db_backup
|
||||||
|
calendar_db_backup
|
||||||
|
|
||||||
|
FileUtils.chown_R( 1000, 1000, $BACKUPDIR)
|
||||||
|
|
||||||
|
|
158
beispiele/17/frosch.txt
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
Der Froschkönig oder der eiserne Heinrich
|
||||||
|
|
||||||
|
In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
|
||||||
|
König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
|
||||||
|
schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
|
||||||
|
sich verwunderte, sooft sie ihr ins Gesicht schien.
|
||||||
|
|
||||||
|
Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
|
||||||
|
unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war,
|
||||||
|
ging die jüngste Prinzessin hinaus in den Wald und setzte sich an den Rand
|
||||||
|
des kühlen Brunnens. Und wenn sie Langeweile hatte, nahm sie eine
|
||||||
|
goldene Kugel, warf sie in die Höhe und fing sie wieder auf. Das war
|
||||||
|
ihr liebstes Spiel.
|
||||||
|
|
||||||
|
Nun trug es sich einmal zu, daß die goldene Kugel der Königstochter
|
||||||
|
nicht in die Händchen fiel, sondern auf die Erde schlug und gerade in
|
||||||
|
den Brunnen hineinrollte. Die Königstochter folgte ihr mit den Augen
|
||||||
|
nach, aber die Kugel verschwand, und der Brunnen war tief, so tief,
|
||||||
|
daß man keinen Grund sah.
|
||||||
|
|
||||||
|
Da fing die Prinzessin an zu weinen und weinte immer lauter und konnte
|
||||||
|
sich gar nicht trösten. Als sie so klagte, rief ihr plötzlich jemand
|
||||||
|
zu: »Was hast du nur, Königstochter? Du schreist ja, daß sich ein
|
||||||
|
Stein erbarmen möchte.«
|
||||||
|
|
||||||
|
Sie sah sich um, woher die Stimme käme, da erblickte sie einen Frosch,
|
||||||
|
der seinen dicken, häßlichen Kopf aus dem Wasser streckte. »Ach, du
|
||||||
|
bist's, alter Wasserpatscher«, sagte sie. »Ich weine über meine
|
||||||
|
goldene Kugel, die mir in den Brunnen hinabgefallen ist.«
|
||||||
|
|
||||||
|
»Sei still und weine nicht«, antwortete der Frosch, »ich kann wohl Rat
|
||||||
|
schaffen. Aber was gibst du mir, wenn ich dein Spielzeug wieder
|
||||||
|
heraufhole?«
|
||||||
|
|
||||||
|
»Was du haben willst, lieber Frosch«, sagte sie, »meine Kleider, meine
|
||||||
|
Perlen und Edelsteine, auch noch die goldene Krone, die ich trage.«
|
||||||
|
|
||||||
|
Der Frosch antwortete: »Deine Kleider, deine Perlen und Edelsteine und
|
||||||
|
deine goldene Krone, die mag ich nicht. Aber wenn du mich liebhaben
|
||||||
|
willst und ich dein Geselle und Spielkamerad sein darf, wenn ich an
|
||||||
|
deinem Tischlein neben dir sitzen, von deinem goldenen Tellerlein
|
||||||
|
essen, aus deinem Becherlein trinken, in deinem Bettlein schlafen
|
||||||
|
darf, dann will ich hinuntersteigen und dir die goldene Kugel
|
||||||
|
heraufholen.«
|
||||||
|
|
||||||
|
»Ach, ja«, sagte sie, »ich verspreche dir alles, was du willst, wenn
|
||||||
|
du mir nur die Kugel wiederbringst.« Sie dachte aber, der einfältige
|
||||||
|
Frosch mag schwätzen, was er will, der sitzt doch im Wasser bei
|
||||||
|
seinesgleichen und quakt und kann keines Menschen Geselle sein!
|
||||||
|
|
||||||
|
Als der Frosch das Versprechen der Königstochter erhalten hatte,
|
||||||
|
tauchte er seinen Kopf unter, sank hinab, und über ein Weilchen kam er
|
||||||
|
wieder heraufgerudert, hatte die Kugel im Maul und warf sie ins
|
||||||
|
Gras. Die Königstochter war voll Freude, als sie ihr schönes Spielzeug
|
||||||
|
wiedererblickte, hob es auf und sprang damit fort.
|
||||||
|
|
||||||
|
»Warte, warte!« rief der Frosch. »Nimm mich mit, ich kann nicht so
|
||||||
|
laufen wie du!« Aber was half es ihm, daß er ihr sein Quak-quak so
|
||||||
|
laut nachschrie, wie er nur konnte! Sie hörte nicht darauf, eilte nach
|
||||||
|
Hause und hatte den Frosch bald vergessen.
|
||||||
|
|
||||||
|
Am andern Tag, als sie sich mit dem König und allen Hofleuten zur
|
||||||
|
Tafel gesetzt hatte und eben von ihrem goldenen Tellerlein aß, da kam,
|
||||||
|
plitsch platsch, plitsch platsch, etwas die Marmortreppe
|
||||||
|
heraufgekrochen. Als es oben angelangt war, klopfte es an die Tür und
|
||||||
|
rief. »Königstochter, jüngste, mach mir auf«
|
||||||
|
|
||||||
|
Sie lief und wollte sehen, wer draußen wäre. Als sie aber aufmachte,
|
||||||
|
saß der Frosch vor der Tür. Da warf sie die Tür hastig zu, setzte sich
|
||||||
|
wieder an den Tisch, und es war ihr ganz ängstlich zumute.
|
||||||
|
Der König sah wohl, daß ihr das Herz gewaltig klopfte, und sprach:
|
||||||
|
|
||||||
|
»Mein Kind, was fürchtest du dich? Steht etwa ein Riese vor der Tür
|
||||||
|
und will dich holen?«
|
||||||
|
|
||||||
|
»Ach, nein«, antwortete sie, »es ist kein Riese, sondern ein garstiger
|
||||||
|
Frosch.«
|
||||||
|
|
||||||
|
»Was will der Frosch von dir?«
|
||||||
|
|
||||||
|
»Ach, lieber Vater, als ich gestern im Wald bei dem Brunnen saß und
|
||||||
|
spielte, fiel meine goldene Kugel ins Wasser. Als ich deshalb weinte,
|
||||||
|
hat sie mir der Frosch heraufgeholt. Und weil er es durchaus
|
||||||
|
verlangte, versprach ich ihm, er sollte mein Spielgefährte werden. Ich
|
||||||
|
dachte aber nimmermehr, daß er aus seinem Wasser käme. Nun ist er
|
||||||
|
draußen und will zu mir herein.«
|
||||||
|
|
||||||
|
Da klopfte es zum zweiten Mal, und eine Stimme rief:
|
||||||
|
|
||||||
|
»Königstochter, jüngste,
|
||||||
|
Mach mir auf!
|
||||||
|
Weißt du nicht, was gestern
|
||||||
|
Du zu mir gesagt
|
||||||
|
Bei dem kühlen Brunnenwasser?
|
||||||
|
Königstochter, jüngste,
|
||||||
|
Mach mir auf!«
|
||||||
|
|
||||||
|
Da sagte der König: »Was du versprochen hast, das mußt du auch halten!
|
||||||
|
Geh nur und mach ihm auf!«
|
||||||
|
|
||||||
|
Sie ging und öffnete die Tür. Da hüpfte der Frosch herein und hüpfte
|
||||||
|
ihr immer nach bis zu ihrem Stuhl. Dort blieb er sitzen und rief: »Heb
|
||||||
|
mich hinauf zu dir!« Sie zauderte, bis es endlich der König
|
||||||
|
befahl. Als der Frosch auf dem Stuhl war, wollte er auf den Tisch, und
|
||||||
|
als er da saß, sprach er: »Nun schieb mir dein goldenes Tellerlein
|
||||||
|
näher, damit wir mitsammen essen können.« Der Frosch ließ sich's gut
|
||||||
|
schmecken, ihr aber blieb fast jeder Bissen im Halse stecken.
|
||||||
|
|
||||||
|
Endlich sprach der Frosch: »Ich habe mich satt gegessen und bin
|
||||||
|
müde. Nun trag mich in dein Kämmerlein und mach dein seidenes Bettlein
|
||||||
|
zurecht!« Die Königstochter fing an zu weinen und fürchtete sich vor
|
||||||
|
dem kalten Frosch, den sie sich nicht anzurühren getraute und der nun
|
||||||
|
in ihrem schönen, reinen Bettlein schlafen sollte.
|
||||||
|
|
||||||
|
Der König aber wurde zornig und sprach: »Wer dir geholfen hat, als du
|
||||||
|
in Not warst, den sollst du hernach nicht verachten!«
|
||||||
|
Da packte sie den Frosch mit zwei Fingern, trug ihn hinauf in ihr
|
||||||
|
Kämmerlein und setzte ihn dort in eine Ecke. Als sie aber im Bette
|
||||||
|
lag, kam er gekrochen und sprach: »Ich will schlafen so gut wie
|
||||||
|
du. Heb mich hinauf, oder ich sag's deinem Vater!«
|
||||||
|
|
||||||
|
Da wurde sie bitterböse, holte ihn herauf und warf ihn gegen die
|
||||||
|
Wand. »Nun wirst du Ruhe geben«, sagte sie, »du garstiger Frosch!« Als
|
||||||
|
er aber herabfiel, war er kein Frosch mehr, sondern ein Königssohn mit
|
||||||
|
schönen freundlichen Augen. Der war nun nach ihres Vaters Willen ihr
|
||||||
|
lieber Geselle und Gemahl. Er erzählte ihr, er wäre von einer bösen
|
||||||
|
Hexe verwünscht worden, und niemand hätte ihn aus dem Brunnen erlösen
|
||||||
|
können als sie allein, und morgen wollten sie mitsammen in sein Reich
|
||||||
|
gehen.
|
||||||
|
|
||||||
|
Und wirklich, am anderen Morgen kam ein Wagen herangefahren, mit acht
|
||||||
|
weißen Pferden bespannt, die hatten weiße Straußfedern auf dem Kopf
|
||||||
|
und gingen in goldenen Ketten. Hinten auf dem Wagen aber stand der
|
||||||
|
Diener des jungen Königs, das war der treue Heinrich.
|
||||||
|
|
||||||
|
Der treue Heinrich hatte sich so gekränkt, als sein Herr in einen
|
||||||
|
Frosch verwandelt worden war, daß er drei eiserne Bänder um sein Herz
|
||||||
|
hatte legen lassen, damit es ihm nicht vor Weh und Traurigkeit
|
||||||
|
zerspränge.
|
||||||
|
|
||||||
|
Der Wagen sollte nun den jungen König in sein Reich holen. Der treue
|
||||||
|
Heinrich hob ihn und seine junge Gemahlin hinein, stellte sich wieder
|
||||||
|
hinten hinauf und war voll Freude über die Erlösung seines Herrn. Als
|
||||||
|
sie ein Stück des Weges gefahren waren, hörte der Königssohn, daß es
|
||||||
|
hinter ihm krachte, als ob etwas zerbrochen wäre. Da drehte er sich um
|
||||||
|
und rief:
|
||||||
|
|
||||||
|
»Heinrich, der Wagen bricht!«
|
||||||
|
»Nein, Herr, der Wagen nicht,
|
||||||
|
Es ist ein Band von meinem Herzen,
|
||||||
|
Das da lag in großen Schmerzen,
|
||||||
|
Als Ihr in dem Brunnen saßt
|
||||||
|
Und in einen Frosch verzaubert wart.«
|
||||||
|
|
||||||
|
Noch einmal und noch einmal krachte es auf dem Weg, und der Königssohn
|
||||||
|
meinte immer, der Wagen bräche. Doch es waren nur die Bänder, die vom
|
||||||
|
Herzen des treuen Heinrich absprangen, weil sein Herr nun erlöst und
|
||||||
|
glücklich war.
|
158
beispiele/17/froschkönig.txt
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
Der Froschkönig oder der eiserne Heinrich
|
||||||
|
|
||||||
|
In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
|
||||||
|
König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
|
||||||
|
schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
|
||||||
|
sich verwunderte, sooft sie ihr ins Gesicht schien.
|
||||||
|
|
||||||
|
Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
|
||||||
|
unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war,
|
||||||
|
ging die jüngste Prinzessin hinaus in den Wald und setzte sich an den Rand
|
||||||
|
des kühlen Brunnens. Und wenn sie Langeweile hatte, nahm sie eine
|
||||||
|
goldene Kugel, warf sie in die Höhe und fing sie wieder auf. Das war
|
||||||
|
ihr liebstes Spiel.
|
||||||
|
|
||||||
|
Nun trug es sich einmal zu, daß die goldene Kugel der Königstochter
|
||||||
|
nicht in die Händchen fiel, sondern auf die Erde schlug und gerade in
|
||||||
|
den Brunnen hineinrollte. Die Königstochter folgte ihr mit den Augen
|
||||||
|
nach, aber die Kugel verschwand, und der Brunnen war tief, so tief,
|
||||||
|
daß man keinen Grund sah.
|
||||||
|
|
||||||
|
Da fing die Prinzessin an zu weinen und weinte immer lauter und konnte
|
||||||
|
sich gar nicht trösten. Als sie so klagte, rief ihr plötzlich jemand
|
||||||
|
zu: »Was hast du nur, Königstochter? Du schreist ja, daß sich ein
|
||||||
|
Stein erbarmen möchte.«
|
||||||
|
|
||||||
|
Sie sah sich um, woher die Stimme käme, da erblickte sie einen Frosch,
|
||||||
|
der seinen dicken, häßlichen Kopf aus dem Wasser streckte. »Ach, du
|
||||||
|
bist's, alter Wasserpatscher«, sagte sie. »Ich weine über meine
|
||||||
|
goldene Kugel, die mir in den Brunnen hinabgefallen ist.«
|
||||||
|
|
||||||
|
»Sei still und weine nicht«, antwortete der Frosch, »ich kann wohl Rat
|
||||||
|
schaffen. Aber was gibst du mir, wenn ich dein Spielzeug wieder
|
||||||
|
heraufhole?«
|
||||||
|
|
||||||
|
»Was du haben willst, lieber Frosch«, sagte sie, »meine Kleider, meine
|
||||||
|
Perlen und Edelsteine, auch noch die goldene Krone, die ich trage.«
|
||||||
|
|
||||||
|
Der Frosch antwortete: »Deine Kleider, deine Perlen und Edelsteine und
|
||||||
|
deine goldene Krone, die mag ich nicht. Aber wenn du mich liebhaben
|
||||||
|
willst und ich dein Geselle und Spielkamerad sein darf, wenn ich an
|
||||||
|
deinem Tischlein neben dir sitzen, von deinem goldenen Tellerlein
|
||||||
|
essen, aus deinem Becherlein trinken, in deinem Bettlein schlafen
|
||||||
|
darf, dann will ich hinuntersteigen und dir die goldene Kugel
|
||||||
|
heraufholen.«
|
||||||
|
|
||||||
|
»Ach, ja«, sagte sie, »ich verspreche dir alles, was du willst, wenn
|
||||||
|
du mir nur die Kugel wiederbringst.« Sie dachte aber, der einfältige
|
||||||
|
Frosch mag schwätzen, was er will, der sitzt doch im Wasser bei
|
||||||
|
seinesgleichen und quakt und kann keines Menschen Geselle sein!
|
||||||
|
|
||||||
|
Als der Frosch das Versprechen der Königstochter erhalten hatte,
|
||||||
|
tauchte er seinen Kopf unter, sank hinab, und über ein Weilchen kam er
|
||||||
|
wieder heraufgerudert, hatte die Kugel im Maul und warf sie ins
|
||||||
|
Gras. Die Königstochter war voll Freude, als sie ihr schönes Spielzeug
|
||||||
|
wiedererblickte, hob es auf und sprang damit fort.
|
||||||
|
|
||||||
|
»Warte, warte!« rief der Frosch. »Nimm mich mit, ich kann nicht so
|
||||||
|
laufen wie du!« Aber was half es ihm, daß er ihr sein Quak-quak so
|
||||||
|
laut nachschrie, wie er nur konnte! Sie hörte nicht darauf, eilte nach
|
||||||
|
Hause und hatte den Frosch bald vergessen.
|
||||||
|
|
||||||
|
Am andern Tag, als sie sich mit dem König und allen Hofleuten zur
|
||||||
|
Tafel gesetzt hatte und eben von ihrem goldenen Tellerlein aß, da kam,
|
||||||
|
plitsch platsch, plitsch platsch, etwas die Marmortreppe
|
||||||
|
heraufgekrochen. Als es oben angelangt war, klopfte es an die Tür und
|
||||||
|
rief. »Königstochter, jüngste, mach mir auf«
|
||||||
|
|
||||||
|
Sie lief und wollte sehen, wer draußen wäre. Als sie aber aufmachte,
|
||||||
|
saß der Frosch vor der Tür. Da warf sie die Tür hastig zu, setzte sich
|
||||||
|
wieder an den Tisch, und es war ihr ganz ängstlich zumute.
|
||||||
|
Der König sah wohl, daß ihr das Herz gewaltig klopfte, und sprach:
|
||||||
|
|
||||||
|
»Mein Kind, was fürchtest du dich? Steht etwa ein Riese vor der Tür
|
||||||
|
und will dich holen?«
|
||||||
|
|
||||||
|
»Ach, nein«, antwortete sie, »es ist kein Riese, sondern ein garstiger
|
||||||
|
Frosch.«
|
||||||
|
|
||||||
|
»Was will der Frosch von dir?«
|
||||||
|
|
||||||
|
»Ach, lieber Vater, als ich gestern im Wald bei dem Brunnen saß und
|
||||||
|
spielte, fiel meine goldene Kugel ins Wasser. Als ich deshalb weinte,
|
||||||
|
hat sie mir der Frosch heraufgeholt. Und weil er es durchaus
|
||||||
|
verlangte, versprach ich ihm, er sollte mein Spielgefährte werden. Ich
|
||||||
|
dachte aber nimmermehr, daß er aus seinem Wasser käme. Nun ist er
|
||||||
|
draußen und will zu mir herein.«
|
||||||
|
|
||||||
|
Da klopfte es zum zweiten Mal, und eine Stimme rief:
|
||||||
|
|
||||||
|
»Königstochter, jüngste,
|
||||||
|
Mach mir auf!
|
||||||
|
Weißt du nicht, was gestern
|
||||||
|
Du zu mir gesagt
|
||||||
|
Bei dem kühlen Brunnenwasser?
|
||||||
|
Königstochter, jüngste,
|
||||||
|
Mach mir auf!«
|
||||||
|
|
||||||
|
Da sagte der König: »Was du versprochen hast, das mußt du auch halten!
|
||||||
|
Geh nur und mach ihm auf!«
|
||||||
|
|
||||||
|
Sie ging und öffnete die Tür. Da hüpfte der Frosch herein und hüpfte
|
||||||
|
ihr immer nach bis zu ihrem Stuhl. Dort blieb er sitzen und rief: »Heb
|
||||||
|
mich hinauf zu dir!« Sie zauderte, bis es endlich der König
|
||||||
|
befahl. Als der Frosch auf dem Stuhl war, wollte er auf den Tisch, und
|
||||||
|
als er da saß, sprach er: »Nun schieb mir dein goldenes Tellerlein
|
||||||
|
näher, damit wir mitsammen essen können.« Der Frosch ließ sich's gut
|
||||||
|
schmecken, ihr aber blieb fast jeder Bissen im Halse stecken.
|
||||||
|
|
||||||
|
Endlich sprach der Frosch: »Ich habe mich satt gegessen und bin
|
||||||
|
müde. Nun trag mich in dein Kämmerlein und mach dein seidenes Bettlein
|
||||||
|
zurecht!« Die Königstochter fing an zu weinen und fürchtete sich vor
|
||||||
|
dem kalten Frosch, den sie sich nicht anzurühren getraute und der nun
|
||||||
|
in ihrem schönen, reinen Bettlein schlafen sollte.
|
||||||
|
|
||||||
|
Der König aber wurde zornig und sprach: »Wer dir geholfen hat, als du
|
||||||
|
in Not warst, den sollst du hernach nicht verachten!«
|
||||||
|
Da packte sie den Frosch mit zwei Fingern, trug ihn hinauf in ihr
|
||||||
|
Kämmerlein und setzte ihn dort in eine Ecke. Als sie aber im Bette
|
||||||
|
lag, kam er gekrochen und sprach: »Ich will schlafen so gut wie
|
||||||
|
du. Heb mich hinauf, oder ich sag's deinem Vater!«
|
||||||
|
|
||||||
|
Da wurde sie bitterböse, holte ihn herauf und warf ihn gegen die
|
||||||
|
Wand. »Nun wirst du Ruhe geben«, sagte sie, »du garstiger Frosch!« Als
|
||||||
|
er aber herabfiel, war er kein Frosch mehr, sondern ein Königssohn mit
|
||||||
|
schönen freundlichen Augen. Der war nun nach ihres Vaters Willen ihr
|
||||||
|
lieber Geselle und Gemahl. Er erzählte ihr, er wäre von einer bösen
|
||||||
|
Hexe verwünscht worden, und niemand hätte ihn aus dem Brunnen erlösen
|
||||||
|
können als sie allein, und morgen wollten sie mitsammen in sein Reich
|
||||||
|
gehen.
|
||||||
|
|
||||||
|
Und wirklich, am anderen Morgen kam ein Wagen herangefahren, mit acht
|
||||||
|
weißen Pferden bespannt, die hatten weiße Straußfedern auf dem Kopf
|
||||||
|
und gingen in goldenen Ketten. Hinten auf dem Wagen aber stand der
|
||||||
|
Diener des jungen Königs, das war der treue Heinrich.
|
||||||
|
|
||||||
|
Der treue Heinrich hatte sich so gekränkt, als sein Herr in einen
|
||||||
|
Frosch verwandelt worden war, daß er drei eiserne Bänder um sein Herz
|
||||||
|
hatte legen lassen, damit es ihm nicht vor Weh und Traurigkeit
|
||||||
|
zerspränge.
|
||||||
|
|
||||||
|
Der Wagen sollte nun den jungen König in sein Reich holen. Der treue
|
||||||
|
Heinrich hob ihn und seine junge Gemahlin hinein, stellte sich wieder
|
||||||
|
hinten hinauf und war voll Freude über die Erlösung seines Herrn. Als
|
||||||
|
sie ein Stück des Weges gefahren waren, hörte der Königssohn, daß es
|
||||||
|
hinter ihm krachte, als ob etwas zerbrochen wäre. Da drehte er sich um
|
||||||
|
und rief:
|
||||||
|
|
||||||
|
»Heinrich, der Wagen bricht!«
|
||||||
|
»Nein, Herr, der Wagen nicht,
|
||||||
|
Es ist ein Band von meinem Herzen,
|
||||||
|
Das da lag in großen Schmerzen,
|
||||||
|
Als Ihr in dem Brunnen saßt
|
||||||
|
Und in einen Frosch verzaubert wart.«
|
||||||
|
|
||||||
|
Noch einmal und noch einmal krachte es auf dem Weg, und der Königssohn
|
||||||
|
meinte immer, der Wagen bräche. Doch es waren nur die Bänder, die vom
|
||||||
|
Herzen des treuen Heinrich absprangen, weil sein Herr nun erlöst und
|
||||||
|
glücklich war.
|
BIN
beispiele/17/rvv-keller-klub-backstage.jpg
Normal file
After Width: | Height: | Size: 114 KiB |
34
beispiele/17/wp-backup.sh
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function db_backup {
|
||||||
|
|
||||||
|
# Vars
|
||||||
|
host=localhost
|
||||||
|
user=XXXXXXX
|
||||||
|
pass=XXXXXXX
|
||||||
|
db=wordpress
|
||||||
|
|
||||||
|
echo 'DB Export ------> '
|
||||||
|
mysqldump --opt --add-drop-table -h$host -u$user -p$pass $db | gzip > wp-db.sql.gz
|
||||||
|
}
|
||||||
|
|
||||||
|
function file_backup {
|
||||||
|
backupfile="wordpress-backup.tar"
|
||||||
|
|
||||||
|
echo 'File Backup --- building tar File...'
|
||||||
|
tar -cf $backupfile ~/wp*
|
||||||
|
echo '+DONE'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo '-------------------------------------------'
|
||||||
|
echo 'Tolles Backup Script'
|
||||||
|
echo '-------------------------------------------'
|
||||||
|
|
||||||
|
backupdir=backup
|
||||||
|
|
||||||
|
cd ~ ; mkdir $backupdir && cd $backupdir || { echo "FEHLER!!!!"; exit 1 }
|
||||||
|
|
||||||
|
# Funktionsaufrufe
|
||||||
|
db_backup
|
||||||
|
file_backup
|
BIN
beispiele/rvv-keller-klub-backstage.jpg
Normal file
After Width: | Height: | Size: 114 KiB |
@ -1,9 +0,0 @@
|
|||||||
stages:
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- mkdir /home/dany/hallo
|
|
||||||
only:
|
|
||||||
- master
|
|
BIN
img/2019-03-02-124423_1366x768_scrot.png
Normal file
After Width: | Height: | Size: 556 KiB |
BIN
img/2019-03-02-124938_1366x768_scrot.png
Normal file
After Width: | Height: | Size: 599 KiB |
BIN
img/2019-03-02-125227_1366x768_scrot.png
Normal file
After Width: | Height: | Size: 144 KiB |
245
img/Aufspaltung_einer_Tabelle_in_zwei_(Beispiel).svg
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.0"
|
||||||
|
width="697.28003"
|
||||||
|
height="594.84998"
|
||||||
|
id="svg2"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.46+pre4"
|
||||||
|
sodipodi:docname="Aufspaltung_einer_Tabelle_in_zwei_(Beispiel).svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<metadata
|
||||||
|
id="metadata44">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:window-height="1031"
|
||||||
|
inkscape:window-width="1680"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
guidetolerance="10.0"
|
||||||
|
gridtolerance="10.0"
|
||||||
|
objecttolerance="10.0"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
id="base"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="1.0983722"
|
||||||
|
inkscape:cx="423.29925"
|
||||||
|
inkscape:cy="283.36138"
|
||||||
|
inkscape:window-x="-4"
|
||||||
|
inkscape:window-y="-4"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 297.42499 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="697.28003 : 297.42499 : 1"
|
||||||
|
inkscape:persp3d-origin="348.64001 : 198.28333 : 1"
|
||||||
|
id="perspective46" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
transform="translate(-42.225311,-45.994526)"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
d="M 411.77664,263.08661 L 411.77664,401.96021 C 411.92971,450.95065 383.47918,455.0221 353.9326,457.37233"
|
||||||
|
id="path3191"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5.0999999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 358.38546,444.01519 L 312.67118,459.01519 L 358.22818,471.22215 C 351.08082,463.01284 349.61103,454.12561 358.38546,444.01519 z"
|
||||||
|
id="path3195"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 464.45434,470.83296 L 510.16862,455.83296 L 464.61162,443.626 C 471.75898,451.83531 473.22877,460.72254 464.45434,470.83296 z"
|
||||||
|
id="path3199"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 411.71961,263.08661 L 411.71961,401.96021 C 411.56653,450.95065 440.01707,455.0221 469.56365,457.37233"
|
||||||
|
id="path3201"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5.0999999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
width="324.28574"
|
||||||
|
height="198.2966"
|
||||||
|
x="249.25639"
|
||||||
|
y="52.494526"
|
||||||
|
id="rect3203"
|
||||||
|
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 249.8589,92.151272 L 573.64342,92.151272"
|
||||||
|
id="path3207"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 249.55546,129.13738 L 573.33998,129.13738"
|
||||||
|
id="path3209"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 249.40374,170.05901 L 573.18826,170.05901"
|
||||||
|
id="path3213"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 249.25639,210.99552 L 573.04091,210.99552"
|
||||||
|
id="path3217"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
width="324.28574"
|
||||||
|
height="39.285713"
|
||||||
|
x="249.25639"
|
||||||
|
y="52.865387"
|
||||||
|
id="rect3219"
|
||||||
|
style="opacity:1;fill:#d0d0d0;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
x="259.7691"
|
||||||
|
y="83.059898"
|
||||||
|
id="text3221"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:9px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
x="259.7691"
|
||||||
|
y="83.059898"
|
||||||
|
id="tspan3225"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">TBL_AdressenAlles</tspan><tspan
|
||||||
|
x="259.7691"
|
||||||
|
y="123.0599"
|
||||||
|
id="tspan3229"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">Firma</tspan><tspan
|
||||||
|
x="259.7691"
|
||||||
|
y="163.05991"
|
||||||
|
id="tspan3231"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">Strasse</tspan><tspan
|
||||||
|
x="259.7691"
|
||||||
|
y="203.05991"
|
||||||
|
id="tspan3233"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">PLZ</tspan><tspan
|
||||||
|
x="259.7691"
|
||||||
|
y="243.05991"
|
||||||
|
id="tspan3235"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">Ort</tspan></text>
|
||||||
|
<rect
|
||||||
|
width="199.32478"
|
||||||
|
height="119.24673"
|
||||||
|
x="525.61884"
|
||||||
|
y="443.93454"
|
||||||
|
id="rect3237"
|
||||||
|
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 525.9892,483.5913 L 725.00591,483.5913"
|
||||||
|
id="path3239"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 525.80268,520.57741 L 724.8194,520.57741"
|
||||||
|
id="path3241"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
width="199.32478"
|
||||||
|
height="39.285713"
|
||||||
|
x="525.61884"
|
||||||
|
y="444.30539"
|
||||||
|
id="rect3247"
|
||||||
|
style="opacity:1;fill:#d0d0d0;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
x="530.13153"
|
||||||
|
y="474.49991"
|
||||||
|
id="text3249"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:9px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
x="530.13153"
|
||||||
|
y="474.49991"
|
||||||
|
id="tspan3251"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">TBL_PLZOrt</tspan><tspan
|
||||||
|
x="530.13153"
|
||||||
|
y="514.49988"
|
||||||
|
id="tspan3257"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana Bold">PLZ</tspan><tspan
|
||||||
|
x="530.13153"
|
||||||
|
y="554.49994"
|
||||||
|
id="tspan3266"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">Ort</tspan></text>
|
||||||
|
<rect
|
||||||
|
width="230.87581"
|
||||||
|
height="200.35985"
|
||||||
|
x="60.725311"
|
||||||
|
y="434.9447"
|
||||||
|
id="rect3268"
|
||||||
|
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 61.154277,474.60145 L 291.67325,474.60145"
|
||||||
|
id="path3270"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 60.938237,511.58756 L 291.45721,511.58756"
|
||||||
|
id="path3272"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
d="M 60.830227,552.50919 L 291.3492,552.50919"
|
||||||
|
id="path3274"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
width="230.87581"
|
||||||
|
height="39.285713"
|
||||||
|
x="60.725311"
|
||||||
|
y="435.31555"
|
||||||
|
id="rect3278"
|
||||||
|
style="opacity:1;fill:#d0d0d0;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
x="63.238007"
|
||||||
|
y="465.51007"
|
||||||
|
id="text3280"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:9px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
x="63.238007"
|
||||||
|
y="465.51007"
|
||||||
|
id="tspan3282"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">TBL_Adressen</tspan><tspan
|
||||||
|
x="63.238007"
|
||||||
|
y="505.51007"
|
||||||
|
id="tspan3294"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana Bold">AdressID</tspan><tspan
|
||||||
|
x="63.238007"
|
||||||
|
y="545.51007"
|
||||||
|
id="tspan3284"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">Firma</tspan><tspan
|
||||||
|
x="63.238007"
|
||||||
|
y="585.51007"
|
||||||
|
id="tspan3286"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">Strasse</tspan><tspan
|
||||||
|
x="63.238007"
|
||||||
|
y="625.51007"
|
||||||
|
id="tspan3290"
|
||||||
|
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Verdana;-inkscape-font-specification:Verdana">PLZ</tspan></text>
|
||||||
|
<path
|
||||||
|
d="M 60.725311,593.30642 L 291.24428,593.30642"
|
||||||
|
id="path3296"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:9px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||||
|
x="908.61731"
|
||||||
|
y="273.4653"
|
||||||
|
id="text2419"
|
||||||
|
transform="translate(42.225311,45.994526)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2421"
|
||||||
|
x="908.61731"
|
||||||
|
y="273.4653" /></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 13 KiB |
BIN
img/Jaromir-Chalabala1.jpg
Normal file
After Width: | Height: | Size: 432 KiB |
BIN
img/QjackctlConnectionsForm.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
img/Wp_Normal_1_301208_165800.JPG
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
img/ardour.jpg
Normal file
After Width: | Height: | Size: 166 KiB |
BIN
img/audacity.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
img/guitarix.jpg
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
img/openshot-screen.jpg
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
img/relationales_datenbankmodell_beispiel.jpg
Normal file
After Width: | Height: | Size: 101 KiB |
1
img/trianglify.svg
Normal file
After Width: | Height: | Size: 48 KiB |
80
index.html
@ -35,6 +35,10 @@
|
|||||||
<li><a href="12.html">Netzwerk Programme</a></li>
|
<li><a href="12.html">Netzwerk Programme</a></li>
|
||||||
<li><a href="13.html">Samba</a></li>
|
<li><a href="13.html">Samba</a></li>
|
||||||
<li><a href="14.html">Compiler, Kernelmodule, grub</a></li>
|
<li><a href="14.html">Compiler, Kernelmodule, grub</a></li>
|
||||||
|
<li><a href="15.html">LAMP Stack, MySql / Apache</a></li>
|
||||||
|
<li><a href="16.html">Linux und Multimedia</a></li>
|
||||||
|
<li><a href="17.html">Übungen</a></li>
|
||||||
|
<li><a href="18.html">Übungen</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -72,6 +76,9 @@
|
|||||||
<h2><i class="icon linkify"></i>Links</h2>
|
<h2><i class="icon linkify"></i>Links</h2>
|
||||||
|
|
||||||
<div class="ui three column very relaxed grid">
|
<div class="ui three column very relaxed grid">
|
||||||
|
|
||||||
|
<!-- 1te Spalte -->
|
||||||
|
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="ui segment">
|
<div class="ui segment">
|
||||||
<div class="content"> <div class="header">Allgemein</div> </div>
|
<div class="content"> <div class="header">Allgemein</div> </div>
|
||||||
@ -125,6 +132,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 2te Spalte -->
|
||||||
|
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="ui segment">
|
<div class="ui segment">
|
||||||
<div class="content"> <div class="header">vim</div> </div>
|
<div class="content"> <div class="header">vim</div> </div>
|
||||||
@ -157,39 +166,80 @@
|
|||||||
</UL>
|
</UL>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="ui segment">
|
||||||
|
<div class="content"> <div class="header">relationale Datenbanken / MySql</div> </div>
|
||||||
|
<div class="content">
|
||||||
|
<UL>
|
||||||
|
<li><a href="https://de.wikipedia.org/wiki/Normalisierung_(Datenbank)" target="_blank">Wikipedia: Normalisierung</a></li>
|
||||||
|
<li><a href="https://mariadb.com/kb/en/library/mariadb-basics/" target="_blank">MariaDB Basics</a></li>
|
||||||
|
</UL>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 3te Spalte -->
|
||||||
|
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="ui segment">
|
<div class="ui segment">
|
||||||
<div class="content"> <div class="header">Netzwerk Einstellungen</div> </div>
|
<div class="content"> <div class="header">Netzwerk Einstellungen</div> </div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://wiki.debian.org/NetworkConfiguration#Setting_up_an_Ethernet_Interface">https://wiki.debian.org/</a></li>
|
<li><a href="https://wiki.debian.org/NetworkConfiguration#Setting_up_an_Ethernet_Interface target="_blank"">https://wiki.debian.org/</a></li>
|
||||||
<li><a href="https://wiki.ubuntuusers.de/interfaces/">wikiw.ubuntuusers.de</a></li>
|
<li><a href="https://wiki.ubuntuusers.de/interfaces/ target="_blank"">wikiw.ubuntuusers.de</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ui segment">
|
|
||||||
<div class="content"> <div class="header">diverse</div> </div>
|
|
||||||
<div class="content">
|
|
||||||
<ul>
|
|
||||||
<li><a href="ftp://ftp.gwdg.de/pub/linux/knoppix/dvd/">Knoppix</a></li>
|
|
||||||
<li><a href="https://wiki.archlinux.de/title/Image-Erstellung_mit_dd">Nutzung von <code>dd</code> </a></li>
|
|
||||||
<li><a href="https://wiki.ubuntuusers.de/Screen/">Screen bei wiki.ubunutuusers.de</a></li>
|
|
||||||
<li><a href="https://www.gnu.org/software/screen/manual/screen.html">Screen bei gnu.org</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ui segment">
|
<div class="ui segment">
|
||||||
<div class="content"><div class="header">ssh</div></div>
|
<div class="content"><div class="header">ssh</div></div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://man.openbsd.org/sshd_config.5">sshd config manual</a></li>
|
<li><a href="https://man.openbsd.org/sshd_config.5" target="_blank">sshd config manual</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="ui segment">
|
||||||
|
<div class="content"><div class="header">LAMPP</div></div>
|
||||||
|
<div class="content">
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://de.wikipedia.org/wiki/XAMPP" target="_blank">Wikipedia XAMPP</a></li>
|
||||||
|
<li><a href="https://www.apachefriends.org/de/index.html" target="_blank">XAMPP Homepage</a></li>
|
||||||
|
<li><a href="https://wiki.ubuntuusers.de/Apache_2.4/" target="_blank">wiki.ubuntuusers.de/Apache_2.4/</a></li>
|
||||||
|
<li><a href="https://httpd.apache.org/docs/2.4/" target="_blank">Apache2 Doku</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ui segment">
|
||||||
|
<div class="content"><div class="header">Bild / Video / Sound</div></div>
|
||||||
|
<div class="content">
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://imagemagick.org/index.php" target="_blank">ImageMagick</a></li>
|
||||||
|
<li><a href="http://ubuntustudio.org" target="_blank">UbuntuStudio</a></li>
|
||||||
|
<li><a href="https://deb-multimedia.org" target="_blank">https://deb-multimedia.org</a></li>
|
||||||
|
<li><a href="http://kxstudio.linuxaudio.org/index.php" target="_blank">KX Studio</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui segment">
|
||||||
|
<div class="content"> <div class="header">diverse</div> </div>
|
||||||
|
<div class="content">
|
||||||
|
<ul>
|
||||||
|
<li><a href="ftp://ftp.gwdg.de/pub/linux/knoppix/dvd/" target="_blank">Knoppix</a></li>
|
||||||
|
<li><a href="https://wiki.archlinux.de/title/Image-Erstellung_mit_dd" target="_blank">Nutzung von <code>dd</code> </a></li>
|
||||||
|
<li><a href="https://wiki.ubuntuusers.de/Screen/" target="_blank">Screen bei wiki.ubunutuusers.de</a></li>
|
||||||
|
<li><a href="https://www.gnu.org/software/screen/manual/screen.html" target="_blank">Screen bei gnu.org</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
2
js/reveal.min.js
vendored
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* reveal.js 3.7.0 (2018-12-17, 12:26)
|
* reveal.js 3.7.0 (2019-03-01, 15:30)
|
||||||
* http://revealjs.com
|
* http://revealjs.com
|
||||||
* MIT licensed
|
* MIT licensed
|
||||||
*
|
*
|
||||||
|