Merge branch 'master' of git.scytec.de:danthefan/linuxkurs
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
node_modules/
|
||||
bower_components/
|
||||
*.m4v
|
||||
*.wav
|
||||
|
421
15.html
@ -42,26 +42,15 @@
|
||||
<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
|
||||
<h1>LINUX</h1>
|
||||
<h3>Das universelle Betriebssystem</h3>
|
||||
<p>Eine Einführung - Teil 14
|
||||
<p>Eine Einführung - Teil 15
|
||||
<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>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>
|
||||
<pre><code class="bash">~$ sudo apt install apache2 mysql-server phpmyadmin</code></pre>
|
||||
@ -80,17 +69,409 @@ MariaDB [(none)]> \q
|
||||
</ul>
|
||||
</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>
|
||||
<li class="fragment ">mysql</li>
|
||||
<li class="fragment ">LAMP</li>
|
||||
<li class="fragment ">Multimedia</li>
|
||||
<li class="fragment ">Gimp</li>
|
||||
<li>Jede Zeile einer Tabelle ist ein Datensatz</li>
|
||||
<li>Jede Zeile ( Tupel ) besteht aus <strong>Attributen</strong> ( die Spalten )</li>
|
||||
<li>Über <strong>Primärschlüssel</strong> werden Beziehungen hergestellt</li>
|
||||
<li>Eine Datenbank kann viele Tabellen beinhalten</li>
|
||||
<li>Die Tabellen stehen in Beziehung ( Relation )</li>
|
||||
</ul>
|
||||
</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>
|
||||
|
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 |
78
index.html
@ -35,6 +35,10 @@
|
||||
<li><a href="12.html">Netzwerk Programme</a></li>
|
||||
<li><a href="13.html">Samba</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>
|
||||
</div>
|
||||
</div>
|
||||
@ -72,6 +76,9 @@
|
||||
<h2><i class="icon linkify"></i>Links</h2>
|
||||
|
||||
<div class="ui three column very relaxed grid">
|
||||
|
||||
<!-- 1te Spalte -->
|
||||
|
||||
<div class="column">
|
||||
<div class="ui segment">
|
||||
<div class="content"> <div class="header">Allgemein</div> </div>
|
||||
@ -125,6 +132,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 2te Spalte -->
|
||||
|
||||
<div class="column">
|
||||
<div class="ui segment">
|
||||
<div class="content"> <div class="header">vim</div> </div>
|
||||
@ -157,39 +166,80 @@
|
||||
</UL>
|
||||
</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>
|
||||
|
||||
<!-- 3te Spalte -->
|
||||
|
||||
<div class="column">
|
||||
<div class="ui segment">
|
||||
<div class="content"> <div class="header">Netzwerk Einstellungen</div> </div>
|
||||
<div class="content">
|
||||
<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.ubuntuusers.de/interfaces/">wikiw.ubuntuusers.de</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/ target="_blank"">wikiw.ubuntuusers.de</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/">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="content"><div class="header">ssh</div></div>
|
||||
<div class="content">
|
||||
<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>
|
||||
</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>
|
||||
|
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
|
||||
* MIT licensed
|
||||
*
|
||||
|