UBOS: neuer Stern am Linux-Himmel

Beim abendlichen Surfen auf Reddit bin ich über UBOS gestoßen – eine junge Linux-Distribution, die mit dem Slogen „Let’s keep control over our data“ wirbt. Ich habe mir die aktuell erhältliche Beta 1 heruntergeladen und kurz angetestet.

Geschichte

Viele Leute möchten, nach dem Aus von z.B. Google Reader, nicht mehr auf kostenlose Dienste vertrauen und die Kontrolle über ihre Daten behalten – darunter Familienfotos, medizinische Informationen oder Daten der Home-Automation-Sensoren.

The trouble is that operating your own server takes skill, and lots of time, so most people cannot take back control over their data on their own.

Ein eigener Server benötigt viel Pflege, auch ein Homeserver. Dieser Punkt schreckt viele Leute ab, sich zuhause einen Server hinzustellen (wirklich ans Internet sollte man einen Server ohne Kenntnisse nicht anschließen). Aus diesem Grund bauen die Macher hinter UBOS nun eine Distribution, die die Installation von Apps auf der Shell wesentlich erleichtert.

Features

Alles, was UBOS kann, wird auf der About-Seite vorgestellt – leider nur auf englisch; deshalb fasse ich die Punkte kurz zusammen.

  • mit UBOS können Web-Applikationen mit einem Befehl installiert und voll konfiguriert werden – wenn man z.B. ein Python-Programm starten möchte, sollte man keine Ahnung von Python haben müssen; so die Philosophie der UBOS-Macher
  • unter UBOS wird ein User niemals Konfigurationsdateien bearbeiten müssen (z.B. in /etc/)
  • UBOS bietet dich Möglichkeit, verschiedene Instanzen einer App zu installieren – man kann z.B. fünf WordPress-Instanzen mit verschiedenen Plugins und Themes auf dem selben Computer starten
  • die Netzwerk- und Systemeinrichtung geschieht völlig automatisiert
  • UBOS wird im „Full-Stack testing“ getestet – dieses sichert ab, dass das UBOS-Kernsystem, Netzwerkfunktionen und Apps vollständig getestet sind, bevor eine neue Version veröffentlicht wird
  • UBOS versucht nicht, alle möglichen Softwarepakete anzubieten, sondern versucht, so wenig Pakete wie möglich zu veröffentlichen
  • Rolling-Release wird genutzt, es müssen also keine Major-Upgrades durchgeführt werden

Einer der wichtigsten Punkte: UBOS basiert auf Arch Linux, profitiert also von dessen Grundsystem und Updates.

Erster Eindruck

UBOS läuft nun seit 3-4 Stunden in einer virtuellen Maschine – und ich habe mich schon recht gut eingelebt. Im Endeffekt benötigt man tatsächlich nur 3 Befehle, die auch auf der Website aufgeführt werden.

App installieren

Eine App installiert man relativ einfach, indem man auf der Shell folgenden Befehl absetzt:

ubos-admin createsite

Danach wird man gefragt, welche App man installieren möchte (z.B. wordpress) und welcher Hostname genutzt werden soll (z.B. wp.dominicpratt.de). Das Paket wird installiert, die Datenbank wird angelegt und befüllt und der virtuelle Host wird konfiguriert. Fertig!

Updates durchführen

ubos-admin update

Jap – mein totaler Ernst. Mit diesem Befehl wird das System und die Apps geupdatet, Datenbanken migriert (falls nötig) und Dienste neugestartet. Im Prinzip läuft es also wie bei Debian (apt-get upgrade), nur wird wirklich alles erledigt. Man muss nirgends nachfassen – das ist schön gelöst!

Backups & Restore

Sehr wichtiger Punkt: wie kann man einem Laien die Backup-Geschichte näherbringen? Natürlich kann man nun, wie ich bei meinen Kunden, anfangen, tolles Bash-Skripting inkl. inkrementellen Backups zu schreiben – oder man macht es so einfach, dass es auch Laien Spaß macht…

ubos-admin backup --out complete.backup

Tja, das war’s. Mehr gibt’s nicht zu tun – er rödelt nun, je nach Datenmenge, einige Zeit und meldet irgendwann, dass das Backup erfolgreich erstellt wurde. Und, viel wichtiger, wie kann man das Backup nun im Notfall einspielen?

ubos-admin restore --in complete.backup

Auch das funktionierte in meinem Test überraschend gut, ich bin beeindruckt.

Fazit

Natürlich kann UBOS nicht wirklich die Arbeit eines Administrators hinfällig machen (was soll ich auch sonst schreiben…), aber es erleichtert im Home-Server-Bereich sehr viele Dinge – es ist noch lange nicht perfekt, aber ich bin guter Dinge, dass die Entwicklung zügig voranschreitet und UBOS so schnell nicht sterben wird.

Und – ja – bevor die Frage auftaucht: man könnte auch „einfach“ Debian benutzen und ein Webpanel à la Plesk nutzen, allerdings sind die meisten Homeserver einfach zu schwachbrüstig, um ein solches Monster zu verkraften – und oversized ist es auch noch.

fufix: Mailserver-Setup via Script

Heute bin ich beim Surfen über ein kleines Script gestolpert, das sich „fufix“ nennt.

Veröffentlicht wurde das Script auf github von André Peters. Der Autor beschreibt sein Script mit so:

A mail server install script with a lot of features for Debian and Debian based distributions. This installer is permanently tested on Debians stable branch but is reported to run on newer branches, too. Debian Squeeze (old-stable) is not supported.
André Peters

Weiterlesen…fufix: Mailserver-Setup via Script

speedtest-cli – Speedtest ohne Browser

speedtest-cli

Es gibt wohl keinen Menschen im Jahre 2014, der noch nie speedtest.net genutzt hat. speedtest.net ist die wohl einfachste Möglichkeit zu überprüfen, ob der Internetanbieter hält, was er verspricht. Seit Längerem gibt es eine gute Handy-App, womit normale Rechner und Smartphones abgedeckt sind. Was, wenn man schauen möchte, ob der eigene Server die versprochene Leistung hergibt? Man könnte eine Testdatei, beispielsweise von QSC, herunterladen. Der Upload ist damit aber noch nicht getestet worden. Es gibt nun eine Lösung: speedtest-cli!

Als Kommandozeilentool entwickelt, benötigt speedtest-cli keinen Browser – es ist also perfekt geeignet für den Raspberry Pi oder den eigenen Root-Server. Herunterladen, ausführen – freuen!

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli
./speedtest-cli

speedtest-cli bietet über den eigentlichen Speedtest hinaus noch einige andere Funktionen, die nützlich sein können:

usage: speedtest-cli [-h] [--bytes] [--share] [--simple] [--list]
                     [--server SERVER] [--mini MINI] [--source SOURCE]
                     [--version]

Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli

optional arguments:
  -h, --help       show this help message and exit
  --bytes          Display values in bytes instead of bits. Does not affect
                   the image generated by --share
  --share          Generate and provide a URL to the speedtest.net share
                   results image
  --simple         Suppress verbose output, only show basic information
  --list           Display a list of speedtest.net servers sorted by distance
  --server SERVER  Specify a server ID to test against
  --mini MINI      URL of the Speedtest Mini server
  --source SOURCE  Source IP address to bind to
  --version        Show the version number and exit

Man muss natürlich teilweise aufpassen, welchen Server das Skript auswählt und im Notfall einen eigenen Server wählen. Stehen beispielsweise beide Server beim gleichen Anbieter, wird mit ziemlicher Sicherheit das interne Netzwerk genutzt – das führt zu viel zu hohen Ergebnissen.