Archiv der Kategorie: Linux

piCore: Zwischen Einplatinencomputer und Microcontroller

Der RaspberryPi ist ein Einplatinencomputer, der über GPIO Pins mit angeschlossener Elektronik kommunizieren kann. Mikrocontroller (µC) können das auch. Dafür hat der Pi ein ausgewachsenes Betriebssystem (meist Raspbian), ein Dateisystem, ein Netzwerk etc. Andererseits benötigt der µC wenig Strom und man kann ihn ohne Bedenken ausschalten. Der Pi mag das Ausschalten nicht so gerne: er möchte sauber heruntergefahren werden. Und auch sonst muss man sich mehr um ihn „kümmern“ – Software aktuell halten, ggf. das Betriebssystem aktualisieren.

Besonders der Punkt des Herunterfahrens störte mich bei vielen Pi-Projekten, die irgendwann in den Dauerbetrieb gehen sollen. Wenn ich eine LED-Wand damit ansteuere, möchte ich sie ausschalten können, ohne mich zuvor per SSH anmelden zu müssen.

Diese Lücke zwischen ausgewachsenem OS und µC-Firmware adressiert die Distribution piCore – ein auf TinyCoreLinux aufbauendes Linux, das komplett im RAM läuft. Mittlerweile gibt es schon Version 9 und ein aktives Forum mit Nutzern und Entwicklern. Das Basisimage von PiCore ist weniger als 40 MB groß und lässt sich daher schnell installieren. Eine Testinstallation bootete flott in weniger als zehn Sekunden. Weil alle Programme direkt im RAM laufen und es keine langsamen Zugriffe auf die SD-Karte gibt, verhält sich das System äußerst responsiv und flott. Da das OS von SD-Karte bootet und diese anschließend nicht mehr benötigt, kann der Pi ohne schlechtes Gewissen ausgeschaltet werden – alle Daten liegen ja im RAM. Sollen Daten das Ausschalten überleben und auch beim nächsten Bootvorgang erhalten bleiben, gibt es hierfür das Programm filetool.sh, das die Userdaten auf die SD-Karte schreibt.

Fazit: Die Grenzen von piCore liegen klar bei Anwendungen, die viele Daten schreiben – insbesondere, wenn diese Daten nicht mehr in der RAM passen und auch beim nächsten Bootvorgang erhalten bleiben sollen. Wer jedoch die umfangreiche Hardwareausstattung des Pi nutzen möchte und keine Sorgen mit dem Blinden Trennen von der Stromversorgung haben möchte, sollten einen Blick auf piCore werfen.

USB-Sticks und SD-Karten validieren

Nicht immer funktionieren USB-Sticks und SD-Karten so wie sie sollen. Bei meiner letzten Bestellung aus China hatte ich den Verdacht, dass einige SD-Karten defekt waren – sie funktionierten für einen kurzen Zeitraum und gaben dann den Geist auf. Aus der c’t kannte ich das Programm H2testw, mit dem Flashspeicher geprüft werden kann. Dazu wird das Speichermedium mit Testdaten vollständig beschrieben und die Daten anschließend wieder gelesen. Wenn alles korrekt läuft, stimmen die gelesenen Daten mit den ursprünglich geschriebenen Daten überein. Das kann je nach Größe des Speichermediums durchaus eine Weile dauern.

Für Linux gibt es hierfür das Paket f3, das mit den Programmen f3write und f3read das gleiche tut. Für einen korrekten USB-Stick läuft das Programm wie folgt ab:

$ f3write /media/STICK/
Free space: 196.84 MB
Creating file 1.h2w ... OK! 
Free space: 0.00 Byte
Average writing speed: 6.76 MB/s

Anschließend werden die geschriebenen Daten wieder gelesen.

$ f3read /media/STICK/
                  SECTORS     ok/corrupted/changed/overwritten
Validating file 1.h2w ... 403128/        0/      0/      0

  Data OK: 196.84 MB (403128 sectors)
Data LOST: 0.00 Byte (0 sectors)
          Corrupted: 0.00 Byte (0 sectors)
   Slightly changed: 0.00 Byte (0 sectors)
        Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 7.75 MB/s

 

Remote Desktops

Der Charme von Remote Desktops hat mich schon lange fasziniert. Ich sitze an einem Terminal, das die Tastatur, Maus und vielleicht noch einen USB-Stick über einen kleinen geräuschlosen und günstigen ThinClient an einen mächtigen Server weiterleitet. Schon während meines Studiums habe ich mit VNC und entsprechenden Implementierungen (hauptsächlich tightvnc und einer einfachen X-Weiterleitung) meine ersten Versuche gestartet.

Rechnerpool einrichten

Nun bin ich in die Verlegenheit gekommen, einen Rechnerraum mit bescheidenen 6 Clients einrichten zu müssten dürfen und das Thema ereilte mich erneut. Ich kann natürlich jeden Rechner einzeln einrichten. Ebenso kann ich einen Referenzrechner einrichten, von diesem ein Image erzeugen und dieses auf die anderen Rechner verteilen – z.B. mit Clonezilla. Besonders schön wäre es jedoch, wenn ich nur einen Server pflegen müsste, auf den sich alle Clients anschließend verbinden würden.

Remote Desktop as a Service mit x2go und virmach

Für virtuelle Desktops gibt es sogar Dienstleiter, wie virmach. Es geht natürlich auch mit jedem anderen Server, der genügend Ressourcen und Netzwerkbandbreite zur Verfügung stellt.

Gesagt getan. In einem ersten Test habe ich den für schmale Verbindungen optimierten Client und Server x2go auf dem Server und meinem Client – Windows und Linux – installiert und konnte mich direkt verbinden. Das klappt für günstige 4€/Monat schon recht gut. Eigentlich müsste ich auch lokale Laufwerke/Verzeichnisse auf den fernen Rechner transferieren können. Das klappte jedoch nicht sofort, da der gemietete Server lediglich in einer virtuellen Maschine läuft und notwendige Kernelmodule fehlten. Nach einem erfreulichen IRC-Chat mit einem Entwickler von x2go war der Schuldige (ein fehlendes FUSE-Modul) gefunden und zwei Iterationen beim Support von virmach später war dieses Modul im Kernel meines Servers nachinstalliert.

Das neue Setup läuft soweit schon ganz gut. LibreOffice, eine Konsole oder Fritzing lassen sich mittelgut bedienen. Lediglich der Firefox kommt etwas träger über die Leitung.

Raspberry Pi und andere Thin Clients

Jetzt wäre es doch toll, wenn mein Rechner-Pool auch eine Verbindung zu einem Server im Schul-LAN aufbauen könnte. Da wir noch einige Raspberry Pis haben, wäre doch dieser kleine Rechner als ThinClient ideal. Es gibt mit rpitc sogar eine Distribution, die genau dies leisten möchte. Erste Tests verliefen gut, wenngleich die Webseite insgesamt unprofessionell wirkt. Zudem ist unklar, wie lange die SD-Karte in den Pi halten und wie sich die Geräte ausschalten lassen sollen. Für das Problem des Ausschaltens gibt es mit dem Pi Desktop Gehäuse zwar eine Lösung – diese ist mit ca. 50 € jedoch auch nicht günstig.

Vielleicht gibt es außer dem Raspberry Pi noch andere Möglichkeiten für Clients. Eine Suche bei Ebay nach günstigen ThinClients lieferte brauchbare Geräte ab 9 € zu Tage. Das ist deutlich günstiger als ein Pi. Auf der Seite ParkyTowers stellt David Parkinson verschiedene dieser Geräte vor. Eigentlich müssen sie nicht viel können: netzwerkbootfähig über PXE sollten sie sein, ein gering dimensionierter RAM ab 64 MB kann schon ausreichen.

Thinstation: das ThinClient OS

Doch welches Betriebssystem biete sich an, um einen ThinClient über das Netzwerk in ein System zu booten, das nur einen Remote Desktop Client starten muss? Man könnte eine einfache Linux Distribution wie slitaz nehmen. Sie ist genügsam, klein und lässt sich auch über das Netz booten.

Daneben gibt es mit thinstation eine lebendige Distribution, bei der das Boot-Image genauer angepasst werden kann, als es eine fertige Distribution leisten könnte.

PXE

Essentiell für den Netzwerkboot ist das Protokoll PXE, das im Zusammenspiel mit DHCP und TFTP ein Boot-Image über das Netz ausliefern kann. Der Client fragt über DHCP nach einer IP-Adresse, einem Gateway und kann auch nach einem Boot-Image fragen. Das Wiki von ubuntuusers erklärt diesen Prozess und beschreibt, wie man dnsmasq einrichten muss, damit der Dienst mit einem bestehenden DHCP-Server zusammenarbeiten kann: dnsmasq kümmert sich um den Netzwerkboot, der vermutlich schon vorhandene DHCP-Server übernimmt die Netzwerkkonfiguration des Client. Bei der Einrichtung müssen ein Bootloader (pxelinux.0), ein Kernel (vmlinuz) und ein initiales Dateisystem, das im RAM läuft (initrd oder rootfs) bereitgestellt werden.

Und Windows?

Windows kann auch seinen Desktop an Clients weitergeben. Dazu müssen auf einem Windows Server sogenannte Windows Remote Desktop Services (Terminaldienste) aktiviert werden. Nach der Aktivierung können alle lokalen Benutzer auf dem Server über einen RDP-Client auf den Server zugreifen. Windows hat hierfür Remote Desktopverbindung, Linux bietet rdesktop oder das neuere xfreerdp an.

Raspberry Pi als Thin Client

Ich überlege derzeit, RaspberryPis als ThinClient für die Einrichtung eines Rechnerraumes zu nutzen. Diese sollen sich dann auf einen Linux-Server verbinden und Standard-Anwendungen wie Browser, Office, Python-Umgebung etc. ausführen.

Als Lösung habe ich an x2go für Client und Server gedacht, welches auch mit geringen Bandbreiten auskommt und evt. sogar eine Nutzung von zu Hause möglich machen könnte.

Die Raspi-Distribution RPiTC (für Raspberry Pi Thin Client) sieht vielversprechend aus und funktioniert in ersten Tests solide.

Habt ihr schon Erfahrungen mit einem solchen Setup gemacht oder könnt Quellen angeben, die mir bei den ersten Schritten helfen? Dann schreibt es bitte in den Kommentar oder antwortet mir bei Twitter.

 

Wechsel zu „let’s encrypt“

Nachdem Google seine Drohungen nun wahr gemacht und auch alte StartSSL-Zertifikate im Google Chrome nicht mehr unterstützt werden, bin ich zu let’s encrypt gewechselt. Der Wechsel mit Hilfe des certbot verlief erstaunlich beschwerdefrei, wenngleich ich mich über die 10 MB Abhängigkeiten und über eine Neu(!)-Entwicklung in Python2 sehr gewundert habe. Ebenso ist die Support für Apache derzeit immer noch im Beta-Stadium, weshalb ich die Zertifikate generieren aber nicht automatisch in meine Konfiguration einbinden lasse.

Hier ist noch einmal meine Anleitung für ein Ubuntu 16.04 LTS:

  1. Vorgehen gemäß Anleitung
  2. PPA für das Paket add-apt-repository
    sudo apt install software-properties-common
  3. sudo add-apt-repository ppa:certbot/certbot
  4. sudo apt-get update
  5. sudo apt install python-certbot-apache
  6. Zertifikate generieren: sudo certbot –apache certonly
    Certs werden nach /etc/letsencrypt/www.bakera.de gespeichert
  7. apache config angepasst gemäß Anleitung
    SSLCertificateFile /etc/letsencrypt/live/www.bakera.de/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.bakera.de/privkey.pem
  8. Cronjob für die Erneuerung der Zertifiakte angelegt gemäß Anleitung.
    42 3 * * * /usr/bin/certbot renew –post-hook „service apache2 restart“

Tschüss Suse, Hallo Mint

Nach mehreren Jahren steht wieder mal ein Wechsel an. Bisher hatte ich immer gut mit OpenSuse gelebt, habe im Alltag jedoch viel mit Debian-basierten Systemen zu tun. Also habe ich eine neue Platte in den Rechner gesteckt und darauf ein Linux-Mint installiert. Die bisherige Suse wird als externes Laufwerk eingebunden und die Daten darauf weiter genutzt. Der Wechsel verlief erstaunlich problemlos. Nach der Installation der wichtigsten Programme musste ich ein paar Pfade hier und da anpassen und kann nun weiterarbeiten wie gewohnt. Die alte Suse kann ich auch noch starten, weil Mint die Installation erkannt und im Boot-Manager berücksichtigt hat. Ein altes Windows 7 liegt auf einer weiteren Platte und wurde ebenfalls erkannt.

Das Usenet, NNTP-Server und Kommunikationsprotokolle

Das Usenet ist eine alte doch immer noch interessante und lebendige Institution des Internet – aus technischer, kultureller und auch historischer Sicht. Ich möchte mit euch eintauchen in diese Welt und sie als Nutzer und technisch Interessierter erkunden.

ic_chat_black_48dpMeine digitale Emanzipation schreitet voran: Nachdem ich meinen Server in die heimischen vier Wände geholt und einen eigenen Jabber-Server aufgesetzt habe, soll nun ein Newsserver als neues Projekt das heimische Netzwerk erweitern. Doch zunächst ein paar erklärende Worte.

Usenet: Was es ist und wie man es bedient

Das Usenet ist die große alte Dame des Internet. Sie – also es – wurde 1979 geboren und ist damit älter als das World Wide Web – also die bunte Welt, die man durch das Browserfenster betrachtet. Da das Usenet älter als das WWW ist, benötigt man ein eigenes Programm um darauf zugreifen zu können: einen Newsreader. Damals wie heute wird das Usenet mit seinen zahlreichen Diskussionsgruppen für den Wissensaustausch genutzt und für den Dateiaustausch missbraucht. Es ist der Geburtsort der Merkbefreiung und Wirkenskreis von Hürbine von Pleuselspink.

Die Nutzerzahl ist seit dem Aufkommen sozialer Netzwerke wie Facebook und Webforen rückläufig. Aber das muss nichts über die Qualität der Inhalte aussagen. Vielfach findet man dort technisch versierte und inhaltlich kompetente Nutzer, die ausführlich und mit viel Erfahrung antworten. Außerdem kann es mit vielen unterschiedlichen Clients benutzt werden, was die Möglichkeiten von Filterung, Darstellung und Bedienung deutlich erweitert. Ein Beispiel für die Qualität ist die intensive Diskussion um das Rätsel „Prinzessin im See“ in der Gruppe de.rec.denksport. Ich habe in den letzten Tagen ca. 100 Beiträge pro Tag in den von mir abonnierten Gruppen erhalten und denke, dass dies ausreichend für eine lebendige Gruppenstruktur ist. Das Usenet ist also nicht tot, es hat sich nach einem Hype am Ende der 90er Jahre in einem stabilen Nutzungsverhalten eingependelt.

Ein detaillierte Darstellung des Usenet gibt das schon ältere, dafür kostenlos erhältliche Buch Newsgroups – weltweit diskutieren, das viele verschiedene Aspekte beschreibt: die Technik, Kommunikationsmodelle sowie gesellschaftliche und historische Dimensionen. Das Archiv der Beiträge seit Beginn der 80er Jahre kann z.B. mit der Suchmaschine The Usenet Archive oder Google Groups durchsucht werden.

Der deutsche Teil des Usenet organisiert sich in den de.*-Gruppen. Gruppen in dieser Hierarchie werden von der dana (de.admin.news.announce) koordiniert: also angelegt, gelöscht, zusammengefasst oder aufgesplittet.

Neugierig geworden? Es ist erstaunlich einfach, einen Account bei einem Newsserver zu bekommen, der Usenet-Nachrichten verteilt. Das Open News Network hat sich vorgenommen, freie Zugänge für Text-Gruppen bereit zu stellen. Ich habe mir einen kostenlosen Account beim schweizerischen Anbieter albsani.net erstellt. Daneben gibt es noch individual.de. Dies ist ein Anbieter der Freien Universität Berlin. Er möchte 10 € pro Jahr für seine Dienste haben und gilt als Urgestein der Usenetszene.

Nun benötige ich noch ein Programm, um auf die Gruppen zugreifen zu können. Gott sei dank werden viele E-Mail-Programme heutzutage schon mit einer Unterstützung für Newsgroups ab Werk ausgeliefert. So auch Thunderbird (eine Anleitung ist hier und hier) und Windows Mail. Viele weitere Anleitungen für unterschiedliche Betriebssysteme und Programme gibt es bei individual.de. Für Android hat mir das Programm Usenet Newsreader gut gefallen.

Nach der Einrichtung kann man eine umfangreiche Gruppenliste (über 25.000 Gruppen!) herunterladen und ein wenig darin stöbern. Mir haben die Gruppen unter de.* und ger.* auf den ersten Blick ganz gut gefallen. Du musst aber selbst ein wenig suchen und nach deinen eigenen Interessen schauen.

Eigener Server

Aber die reine Verwendung eines Newsservers hat mir natürlich nicht gereicht. Schließlich möchte ich meine Infrastruktur selbst gestalten und aufbauen. Also musste ein eigener Newsserver her. Hier ist INN der de-facto Standard – in Version 2 heißt das Paket auch häufig inn2 in den Distributionen. Die Freifunker haben eine schöne Anleitung für die Einrichtung geschrieben. Dass die Konfiguration so ihre Tücken aufweist zeigt ein Beitrag aus dem FreeBSD-Diary. Er stellt die üblichen Stolperstellen vor und gibt Hinweise darauf, wie man sie umgehen kann.

Es geht aber auch einfacher – und zwar mit dem Server WendzelNNTPd. Der Server lässt sich einfach installieren und hat wenig Ansprüche. Außerdem reagierte der Autor Steffen Wendzel bei meinen Recherche extrem schnell auf Anfragen und Probleme. Innerhalb von Stunden war mir geholfen. Eine Installationsanleitung hat Steffen Wendzel selbst in dem Kapitel zu NNTP-Servern des Buches „Linux – das umfassende Handbuch“ (Rheinwerk Verlag) geschrieben.

Das Programm wird nicht als Paket ausgeliefert, sondern muss mit einem C-Compiler kompiliert werden. Das ist einfacher als es sich anhört, da vieles automatisch abläuft. Zunächst laden wir den Quelltext aus dem git-repo  herunter und entpacken das Archiv.

Es werden noch ein paar Bibliotheken benötigt, die wir leicht installieren können.

$ sudo apt-get install gcc flex bison libsqlite3-dev make

Als Backend für die Daten kommen eine SQLite- oder MySQL-Datenbank in Frage. Die Nachrichten selbst werden als Textdateien abgespeichert. In der Datenbank werden nur Zugangsdaten sowie die Verlinkungsstruktur der Nachrichten untereinander und die Zuordnung zu den Diskussionsgruppen realisiert. Ich entscheide mich für eine leichtgewichtige Variante mit SQLite und werfe das Konfigurationsskript an.

$ MYSQL=NO ./configure

Sollten nun immer noch Bibliotheken fehlen, meldet sich das Skript und sagt genau, was es noch benötigt. Danach kann ich die Software kompilieren und nach /usr/local installieren lassen.

$ make
$ sudo make install

Im Sourcenpaket ist noch ein init-skript, das ich an die richtige Stelle kopiere.

$ sudo cp ~/src/WendzelNNTPd-2.0.5/WendzelNNTPd-OSE/scripts/startup/init.d_script /etc/init.d/wendzelnntpd

Nun kann ich den Dämon ein erstes mal starten.

$ sudo /etc/init.d/wendzelnntpd start

Damit der Dienst auch nach einem Reboot läuft, starte ich ihn für runlevel 2. Dazu lege ich einen symbolischen Link auf das Init-Skript an.

/etc/rc2.d$ ln -s ../init.d/wendzelnntpd S92wendzelnttpd

Damit der Dienst auch bei einem Shutdown (runlevel 0) und einem reboot (runlevel 6) sorgfältig heruntergefahren wird, sorge ich für Links an den korrekten Stellen in den rc-Verzeichnissen.

/etc/rc0.d$ sudo ln -s ../init.d/wendzelnntpd K20wendzelnntpd
/etc/rc6.d$ sudo ln -s ../init.d/wendzelnntpd K20wendzelnntpd

Nun können wir die Konfigurationsdatei in /usr/local/etc/wendzelnntpd.conf anpassen. Wir müssen zunächst mit listen dafür sorgen, dass der Newsserver von außen erreichbar ist. Damit er nicht sofort Ziel von ungebetenen Nutzern wird, aktiviere ich zudem die Benutzerauthentifikation.

listen 192.168.178.60
use-authentication

Wir starten den Dämon nach unseren Änderungen neu.

$ sudo /etc/init.d/wendzelnntpd restart

Nun können wir einen ersten Nutzer und eine erste Gruppe anlegen. Hierbei hilft das Administrationstool wendzelnntpadm weiter.

$ sudo wendzelnntpadm adduser marco PASSWORT
$ sudo wendzelnntpadm addgroup de.bakera.test y

Das ‚y‘ hinter der Gruppe besagt, dass in diese Gruppe geschrieben werden darf. Da schon zu Beginn ein paar Gruppen vorhanden sind, lösche ich diese noch.

$ sudo wendzelnntpadm delgroup alt.wendzelnntpd.test

Damit der Server auch hinter meiner Fritz-Box erreichbar ist, habe ich im DNS noch den Eintrag news.bakera.de ergänzt und eine Portweiterleitung auf Port 119 im Router eingerichtet. Nun kann einer Nutzung des Servers nichts mehr im Wege stehen.

Die Nachrichten werden im Verzeichnis /var/spool/news/wendzelnntpd abgelegt. Für jede Nachricht existiert dort eine Datei mit einer eindeutigen Message-ID. Weitere Informationen über den Ort der Nachricht oder deren Headerdaten  werden bei einer sqlite-Installation in der Datei usenet.db abgelegt. Die Tabelle kann man sich mit einem sqlite-Client leicht anschauen. Man entdeckt folgende Tabellen mit den entsprechenden Attributen.

newsgroups (id, name, pflag, high)
ngposts (msgid, ng, postnum)              PRIMARY KEY(msgid, ng)
postings (msgid, date, author, newsgroups, subject, lines, header)
users (name, password)
roles (role)
users2roles (username, role) PRIMARY KEY(username, role)
acl_users (username, ng)                 PRIMARY KEY(username, ng)
acl_roles (role, ng)                     PRIMARY KEY(role, ng)

Kommunikationsprotokoll

Da das Protokoll NTTP, das der Newsserver spricht, sehr einfach aufgebaut ist, können wir sogar direkt über Telnet mit dem Server kommunizieren. Unten sehen wir eine Beispielsitzung. Meine eigenen Eingaben habe ich fett hervorgehoben. Der Rest sind Antworten des Servers. Eine ausführliche Kommunikation findet ihr auch auf Seite 95 des oben erwähnten Usenet-Buches.

telnet news.bakera.de 119
Trying 79.226.231.205...
Connected to news.bakera.de.
Escape character is '^]'.
200 WendzelNNTPd-OSE (Open Source Edition) 2.0.5 'Auckland' - (Sep 26 2015 06:42:09 #2517) ready (posting ok).
AUTHINFO USER marco
381 More authentication information required.
AUTHINFO PASS *****
281 Authentication accepted.
HELP
100 help text follows
--
 article [number|<message-id>]
 authinfo <user|pass> <username|password>
 body [number|<message-id>]
 date
 group <group>
 head [number|<message-id>]
 help
 list [overview.fmt|newsgroups [wildmat*]]
 listgroup [group]
 mode reader (always returns 200)
 post
 quit
 stat [number|<message-id>]
 xhdr <from|date|newsgroups|subject|lines> <number[-[endnum]]|msgid>
 xover <from[-[to]]>
 xgtitle [wildmat*] (equals LIST NEWSGROUPS but return code differs)
--
Send questions and problems to <swendzel [at] ploetner-it [dot] de>
Website: http://www.wendzel.de/software/wendzelnntpd.html
Notes:
* Wildmat format is based on the used regex library and is not 100%
 wildmat format compatible (XGTITLE *x -> XGTITLE .*x)!
.
DATE
111 20150927185030 
LIST 
215 list of newsgroups follows 
de.bakera.test 2 1 y 
. 
POST
340 send article to be posted. End with <CR-LF>.<CR-LF>
From: marco@bakera.de
Newsgroups: de.bakera.test
Subject: Ein Test

Ein Testartikel.
.
240 article posted
 
 

Mediawiki unter docker

Mit docker lassen sich schnell und einfach virtuelle Maschine betreiben, die Serverdienste wie ein Wiki bereitstellen. An einer Beispielinstallation eines Mediawikis zeige ich, wie das funktionieren kann.

Hier sind die im Video eingesetzten Befehle:

docker run –name=mw -i -t -p 8080:80 32bit/debian:jessie bash

apt-get update
apt-get install mediawiki
a2enconf mediawiki
cd etc/mediawiki
vi apache.conf
service apache2 reload

Buchtipp: „Little Brother“ von Cory Doctorow

cc: Richard Wilkinson

cc: Richard Wilkinson

In dem Roman „Little Brother“ erzählt Cory Doctorow die Geschichte der Geheimdienste nach den Anschlägen auf das World Trade Center in einem alternativen Amerika. Neben einer spannenden Geschichte für Jugendliche kommen auch Erwachsene auf ihre Kosten, wenn technische Details von Überwachungsmaßnahmen erläutert und die Gegenmaßnahmen mit Hilfe von Kryptographie vorgestellt und hinterfragt werden.

Das Buch und auch die deutsche Übersetzung sind unter einer freien Lizenz im Netz verfügbar. Für alle, die sich für die Erklärungen technischer Konzepte interessieren, habe ich die relevanten Passagen an dieser Stelle zusammengefasst.

Weiterlesen