Skip to content

Fedora 30 ...

fedora Trotz der wirklich guten Erfahrungen, die ich mit dem Update von Fedora gemacht habe, habe ich mit der Version 30 - "aus Gründen" - eine komplette Neuinstallation gemacht.

Neben der "Datenhygiene" war dieses Mal der Grund, dass ich das Desktop Environment von KDE nach XFCE gewechselt habe.

Einer der Hauptgründe ist, dass ich kaum KDE-eigene Programme genutzt habe und gefühlt jede Tastenkombination mit einer Funktion belegt ist. XFCE ist deutlich schlanker, was die Menge der mit installierten Software betrifft und der weitgehende Verzicht auf Desktop Effekte macht die Arbeit gefühlt schneller.

Ich will nicht verhehlen, dass ich verärgert darüber bin, dass sich bei Borgbackup ein alter Fehler eingeschlichen hat, interessanterweise hat die Installation via pip in einem "Virtual Environment" auch nicht funktioniert. Wenn ich wieder zu Hause bin, werde ich einen Bugreport erstellen.

Am Rande bemerkt, bei Linux ist so etwas relativ leicht machbar.

devLUG ...

linux

Diesen Beitrag möchte ich gerne einmal nutzen, um über die devLUG zu informieren.

Die devLUG ist eine deutschsprachige "virtuelle" Linux User Group mit realen Menschen (deshalb ist das "virtuell" in Anführungszeichen).

Das Ziel der devLUG ist die Erstellung, Verbreitung und Förderung von Free/Libre Open Source Software (kurz FLOSS), insbesondere aber nicht ausschliesslich im Zusammenhang mit Linux­basierenden Betriebssystemen und Distributionen.

Um dieses Ziel zu erreichen, bedient sich der Verein moderner Kommunikationsmittel, die auf Verbindungen über das Internet basieren.

Wir sind in der devLUG an einen Punkt gekommen, ernsthaft über eine Vereinsgründung nachzudenken. Ohne die Gründung kommt es immer wieder zu Situationen in denen es aus verschiedenen auch rechtlichen Gründen nicht weitergeht.

Selbstverständlich bringt die Gründung eines - vielleicht sogar gemeinnützigen - eingetragenen Vereins einige Nachteile mit sich, jedoch denken wir, dass die Vorteile für die devLUG überwiegen.

Die "Aktiven" unter uns haben sich schon mal Gedanken gemacht, was sie in der devLUG sehen und was das Ziel sein soll.

Aktivitäten rund um Linux und FLOSS (Free/Libre Open Source Software), Nutzung von digitalen Möglichkeiten zur Kommunikation, Aktivitäten können Workshops, Anleitungen, Hilfe (zur Selbsthilfe), Podcasts, ... sein. Ziel ist es von und miteinander zu lernen, Linux User Groups im deutschsprachigem Raum miteinander zu vernetzen, Synergien zu nutzen, dezentrale Strukturen aufzubauen.

Wir wollen versuchen, uns kleine Ziele zu setzen welche auf virtuellen Stammtischen besprochen werden können. Dies können kleine online Workshops sein oder vieles andere mehr.

Wenn jemand Interesse an der Gründung eines Vereins für die virtuelle Linux User Group hat, kann sich einfach hier melden oder uns im IRC-Kanal #devlug aufFreenode (hinter dem Link verbirgt sich ein Webchat) vorbeischauen.

Einen Stammtisch gibt es auf Freenode in dem angegebenen Kanal, jeweils um 20:30 Uhr und alle zwei Wochen im Wechsel Dienstag / Donnerstag. Die nächsten Termine sind: 30. April, 16. Mai, 28. Mai, 13. Juni. Generell gibt es aber immer jemanden, der im Freenode-Kanal #devlug ansprechbar ist. Wir freuen uns auf Euren Besuch.

Ein Friendica-Forum wartet ebenfalls auf Euren Besuch.

Mein Arbeitsplatz ...

linux

Systemadministrator (aktueller "Jobtitel Senior System Engineer Linux/Unix") bin ich schon relativ lange und so lange ich diesen Job mache, so lange schraube ich und verbessere mein Arbeitssetup.

Das berufliche "Virtual Desktop"-Betriebssystem ist leider Windows, aktuell in der Version 10, via Thin Client, wobei ich bis auf Mailclient und Webbrowser (via SSL Interception Proxy) nur Zugriff auf die Linux- und Solaris-Infrastruktur benötige.

Dafür habe ich sehr vieles ausprobiert. Wir haben einen Remote Desktop mit NoMachine, den ich lange genutzt habe - vor allem, da ich ihn auch über beide Monitore strecken kann - aber so richtig warm geworden bin ich damit nicht. In einem anderen Kontext nutzen wir xrdp und auch X2Go habe ich getestet. Auf der Gegenseite läuft jeweils ein Red Hat Enterprise Linux 7 mit KDE 4 als Desktop (privat bin ich auf Fedora 29 mit KDE Plasma).

Nach allem Hin und Her bin ich mittlerweile bei PuTTY und - falls ich wirklich einmal (sehr selten) Grafik brauche - XMing, das reicht für mich völlig aus.

In PuTTY gibt es vier Settings, die ich jedem empfehlen möchte, der ernsthaft damit arbeitet.

  1. Unter Window / Behaviour habe ich "Full screen und Alt-Enter" gesetzt, damit lässt sich PuTTY in einem rahmenlosen Vollbild-Fenster betreiben.
  2. Unter Window / Selection ist die "Action of mouse buttons" auf "xterm (Right extends, Middle pastes)" gesetzt. Ihr wisst schon ... alter Sack ... Schwierigkeiten umzugewöhnen ... besser es funktioniert so wie auf jedem gewohnten Linux Desktop.
  3. Ebenfalls unter Windows / Selection gibt es den Punkt "Paste to clipboard in RTF as well as plain text" - gerade in Verbindung mit Outlook als Zwangsclient hilft das sehr, formatierte Dinge (inklusive Farben) aus der Shell zu pasten.
  4. Unter Connection / SSH / X11 muss natürlich "Enable X11 forwarding" eingeschaltet sein, sonst wird das nichts mit XMing.

Apropos XMing, das wird über einen Shortcut mit folgenden Parametern gestartet: Xming.exe :0 -clipboard -multiwindow -xkblayout ch -xkbvariant de

Was das ganze Setup aber zu meiner Administrationslösung macht, ist tmux. Meine Konfiguration findet Ihr am Ende das Artikels. Vielleicht erläutere ich sie einmal in einem weiteren Blogposting.

Bis vor kurzem habe ich immer ClusterSSH benutzt, wenn ich auf mehreren Systemen gleiche Befehle ausführen musste. Das hat auch mit XMing super funktioniert, bringt aber eine Inflation an Fenstern mit sich.

Daher bin ich richtig froh, dass ich tmux-xpanes entdeckt habe. Das Tools ist mit einer Fullscreen Terminal-Session via tmux einfach unschlagbar.

Meine zwei Monitore sind jetzt wie folgt aufgeteilt. Der linke Monitor trägt den ganzen Windows-Kram und der rechte eine PuTTY-Session im Fullscreen mit tmux. Das ist für mich perfekt.

# .tmux.conf
# Dirk Deimeke

set -s escape-time 1
set -g base-index 1
setw -g pane-base-index 1

bind r source-file ~/.tmux.conf \; display "Reloaded!"
bind S set-window-option synchronize-panes

bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

bind -r C-h select-window -t :-
bind -r C-l select-window -t :+

bind -r H resize-pane -L
bind -r J resize-pane -D
bind -r K resize-pane -U
bind -r L resize-pane -R

set -g default-terminal "xterm-256color"

set -g status-fg black

setw -g window-status-fg black
setw -g window-status-bg default
setw -g window-status-attr dim

setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

set -g pane-border-fg green
set -g pane-border-bg black

set -g pane-active-border-fg white
set -g pane-active-border-bg yellow

set -g message-fg white
set -g message-bg black
set -g message-attr bright

#### COLOUR (Solarized 256)

# default statusbar colors
set-option -g status-bg colour235 #base02
set-option -g status-fg colour136 #yellow
set-option -g status-attr default

# default window title colors
set-window-option -g window-status-fg colour244 #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim

# active window title colors
set-window-option -g window-status-current-fg colour166 #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright

# pane border
set-option -g pane-border-fg colour235 #base02
set-option -g pane-active-border-fg colour240 #base01

# message text
set-option -g message-bg colour235 #base02
set-option -g message-fg colour166 #orange

# pane number display
set-option -g display-panes-active-colour colour33 #blue
set-option -g display-panes-colour colour166 #orange

# clock
set-window-option -g clock-mode-colour colour64 #green
 

Datenbankbackup mit MyDumper unter CentOS 7 ...

centos

Zum Backup meiner Datenbanken benutze ich schon seit Jahren MyDumper und das MyLoader-Tool. Der grosse Vorteil von MyDumper neben der Geschwindigkeit durch Parallelisierung ist, dass alle Datenbanktabellen in einzelnen Dateien vorliegen und so leicht modifiziert werden könnten.

Höhere Geschwindigkeit bedeutet auch, dass man öfter Backups machen kann (bei mir alle vier Stunden).

MyDumper muss selber übersetzt werden, wenn es nicht in der Distribution dabei ist. Den Anfang bildet dass Holen des Quelltextes:

$ git clone https://github.com/maxbube/mydumper.git mydumper.git

Danach setzen wir die Variablen für das Übersetzen des Quelltextes.

$ export CC=/home/dirk/workspace/sclgcc.bash
$ export CXX=/home/dirk/workspace/sclc++.bash
$ export MAKEFLAGS="-j $(lscpu | awk '/^CPU\(s\)/ {print $2}')"

Die ersten beiden Variablen habe ich im gestrigen Artikel erwähnt.

Die MAKEFLAGS sorgen dafür, dass make mit mehreren Threads arbeitet. Ich nehme dafür die Anzahl der CPUs, die mir das System meldet.

$ yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel

Nachdem wir neben dem C++ Compiler, Make und CMake die Vorbedingungen installiert haben, kann es auch schon losgehen.

$ cd /home/dirk/workspace/mydumper.git
$ git clean -dfx
$ cmake . -DMYSQL_LIBRARIES_mariadb:FILEPATH=/usr/lib64/libmariadbclient.a -DWITH_SSL=OFF -DBUILD_DOCS=off
$ make
$ sudo make install

Das "git clean" räumt unter anderem die Reste von alten Übersetzungsversuchen auf. Guckt Euch bitte die Parameter gut an, bevor Ihr das in Repos macht, in denen Ihr Schreibrechte besitzt.

Da auf meinen Servern die aktuelle stabile Version von MariaDB arbeitet und ich ebenfalls den MariaDB-Client installiert habe, muss cmake das auch mitteilen.

Der Backup-User benätigt in der Datenbank "nur" Select-, Reload und Lock Tables Berechtigungen.
CREATE USER 'b2'@'localhost' IDENTIFIED VIA mysql_native_password USING 'kryptisches Passwort';
GRANT SELECT, RELOAD, LOCK TABLES ON *.* TO 'backup'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Nachdem jetzt alles fertig ist, kann das folgende Backupskript seinen Dienst tun.

#!/bin/bash
# db-backup.bash
set -o errexit

BACKUPDB_DIR="/srv/bak/dumps"
DB_USERNAME="backup"
DB_PASSWORD="kryptisches Passwort"
THREADS=$(lscpu | awk '/^CPU\(s\)/ {print $2}')

cd ${BACKUPDB_DIR}

/usr/local/bin/mydumper --user ${DB_USERNAME} --password ${DB_PASSWORD} --threads ${THREADS}

find ${BACKUPDB_DIR} -type d -name 'export*' -mtime +1 -exec xargs rm -r '{}' \+

WICHTIG: Am Ende des Skripts werden alle Backups gelöscht, die älter sind als ein Tag.

Aktueller C-Compiler auf CentOS 7 ...

centos

Spannend, ich hätte schwören können, dass ich das schon einmal im Blog hatte, kann einen entsprechenden Artikel aber leider nicht finden.

Ein Weg, einen aktuellen C-Compiler auf CentOS zu installieren sind die offiziell unterstützten SoftwareCollections, für unseren Fall insbesondere das Developer Toolset 7. Die achte Version gibt es schon für Red Hat Enterprise Linux 7, wird also in den nächsten Wochen auch in CentOS 7 verfügbar sein.

Zuerst werden die Software Collections aktiviert und aktualisiert

$ sudo yum install centos-release-scl
$ sudo yum update

Installation des entsprechenden Pakets mit allen Abhängigkeiten

$ sudo yum install devtoolset-7-gcc-c++
Welche Software Collections installiert sind, bekommt man übrigens mit dem Kommando scl --list heraus.

Eine Shell mit aktivierter Software Collection starten

$ gcc --version | head -1
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)

$ scl --list
devtoolset-7

$ scl enable devtoolset-7 bash

$ gcc --version | head -1
gcc (GCC) 7.2.1 20170829 (Red Hat 7.2.1-1)

Neuen Compiler per Default aktivieren

Da man nicht jedes Mal eine neue Shell nutzen möchte, hilft der folgende Weg, das zu verwirklichen.

Wrapper Skripte für GCC und C++

#!/bin/bash
# sclgcc.bash

COMMAND="gcc $@"
scl enable devtoolset-7 "$COMMAND"
#!/bin/bash
# sclc++.bash
COMMAND="c++ $@"
scl enable devtoolset-7 "$COMMAND"

Setzen der Environment-Variablen, die cmake und make benutzen

$ export CC=/home/dirk/bin/sclgcc.bash
$ export CXX=/home/dirk/bin/sclc++.bash

Wie ich Taskwarrior nutze ...

taskwarrior

Wie in den Kommentaren eines anderen Blogartikels angeregt, schreibe ich hier gerne einmal zusammen, wie ich Taskwarrior benutze.

Meinen Workflow habe ich auf den Seiten von Taskwarrior beschrieben.

Hier ist eine aktualisierte Fassung:

Wo nutzt Du Taskwarrior?

Taskwarrior benutze ich nicht auf der Arbeit, weil ich dort hinter sehr strikten Proxies bin, die den Zugriff auf meinen Taskserver nicht erlauben.

Allerdings nutze ich meine privaten Taskwarrior Instanzen auch, um Aufgaben aus dem Job zu verwalten, weil ich damit alles in einer zentralen Lösung habe.

In den letzten Jahren habe ich fast alles Features von Taskwarrior einmal ausprobiert, bin aber jetzt zu einem sehr rudimentären Rumpf an Einstellungen geschrumpft.

Ich nutze immer die aktuelle Entwicklerversion.

Für welche Art Arbeit nutzt Du Taskwarrior?

Tatsächlich überwiegend für längerfristige Aufgaben, die nicht vergessen werden dürfen. Ich schreibe nicht alle Aufgaben in Taskwarrior.

Wie synchronisiert Du die Aufgaben, welche Geräte benutzt Du?

Da Taskwarrior für Android (kein offizielles Tool) oder Taskwarrior in Termux nicht die aktuelle Entwicklerversion als Basis haben, nutze ich Taskwarrior ausschliesslich auf Linux-Systemen mit einer Internetverbindung, die nicht Proxies benutzen müssen. Ich kompiliere Taskwarrior aus den Quellen selber.

Alle (meine) Taskwarrior-Instanzen synchronisieren gegen einen selbstgehosteten Taskserver. Alle Instanzen haben die gleiche Konfiguration, mit einem Unterschied, dass nur auf meinem Notebook der Eintrag "recurrence=no" fehlt.

Welchen Standard-Report benutzt Du?

Den "next"-Report ohne weitere Modifikationen.

Benutzt Du eine Standard-Methode oder auf Dich angepasst Methodik?

Aufgabenverwaltung ist sehr individuell, ich benutze einen Mix aus Methoden. Ein paar Informationen dazu finden sich in einem Vortrag, den ich vor zwei Jahren zum letzten Mal gehalten habe.

Nutzt Du irgendwelche Erweiterungen oder Hook-Scripts?

Nein.

Auf welches Feature vertraust Du am meisten?

Nahezu alle meine Aufgaben haben Zieldatum, auch wenn manche davon künstlich sind oder auch nicht von mir in der Zeit erledigt werden können.

Ich nutze das "wait"-Feature sehr häufig, um meine Aufgabenliste zu bereinigen.

Um meine Aufgaben zu organisieren, nutze ich Projekte und Subprojekte. Das hilft, mir den Überblick zu behalten und Aufgaben danach zu filtern.

Ausser "Virtual Tags" nutze ich keine weiteren Tags.

Für mich sind "Annotations" eines der wesentlichen Features, das nutze ich sehr häufig. Für angehängte URLs oder Pfade zu Dateien benutze ich Taskopen.

Ich benutze Anmerkungen auch, um meine privaten und beruflichen Ziele für einen Monat, ein Jahr und fünf Jahre zu verwalten. Die Ziele werden jeden Monat überprüft.

Welche Features nutzt Du bewusst nicht?

Ich benutze ganz selten nur Abhängigkeiten, zumeist benutze ich ein Datum, um zu steuern. Die eine Aufgabe hat ein Fälligkeitsdatum Ende der Woche und die nachfolgende Aufgabe ein Wartedatum Anfang nächster Woche.

Unglaublich, aber wahr, ich nutze Prioritäten überhaupt nicht.

Wie schaust Du Deine Aufgaben durch?

Dazu benutze ich das Review-Kommando der Taskshell.

Weitere Punkte

Ich benutze ein sehr rudimentäre Konfiguration bestehend aus einem Farbschema, Montag als Wochenstart, calendar.details=full und calendar.holidays=sparse.

Auch, wenn es keinen Sinn ergibt, nutze ich manchmal "wait:someday", um Aufgaben komplett aus dem Weg zu räumen. Man kann sie ja mit "task waiting" immer noch sehen.

Ich schreibe nicht alles in Taskwarrior. Ich habe ein Gehirn und bin gewillt es zu benutzen.

Fragen per Mail

Per Mail sind mir Fragen gestellt worden, deren Antworten ich hier gerne auch nenne.

Im Rahmen meiner Arbeit für Taskwarrior habe ich einen ganzen Haufen an Artikeln geschrieben und Vorträgen gehalten.

Beispielsweise Aufgabenverwaltung auf der Kommandozeile oder den Workshop bei Pro-Linux.

Weitere Vorträge finden sich auf meinem Speakerdeck-Account.

Verwendest du TW für private und geschäftliche Aufgaben?

Ja, allerdings auf privaten Geräten.

Setzt du bei allen Aufgaben einen Termin?

Ja, das mache ich.

Sortierst du die Aufgaben in Kategorien und/oder Projekte ein?

Ich benutze sehr intensiv Projekte und Unterprojekte, dafür aber keine Tags.

Wie priorisierst du in TW deine Aufgaben, damit diese ganz oben in deiner Liste stehen?

Da löse ich alles über das Fälligkeitsdatum. Ich blende Aufgaben auf, die nicht in den nächsten Wochen anstehen. Das führt dazu, dass ich selten mehr als eine Bildschirmseite benutzen muss.

Alternativ nutze ich "+next", um die Dringlichkeit (Urgency) zu erhöhen.

Recurring-Termine

Bei den Recurring-Terminen hatte ich in TW Problem, die Übersicht zu behalten bzw. viel Arbeit, diese ständig neu zu terminieren, wenn mal ein Termin nicht eingehalten wurde (passiert mir leider viel zu oft).

Taskwarrior ist keine Terminverwaltung ...

Hast Du Dir für den Fall einmal Dependencies angeschaut?

Wie klappt das bei dir?

Bei mir klappt es ganz gut. Ich vermisse ein paar Features, die mit Taskwarrior 3.0.0 kommen werden, da wird die Recurrence komplett überarbeitet.

Apps für das Smartphone ...

android

Angestiftet von Thomas folgt hier eine Liste der Apps, die auf meinem Smartphone installiert sind und von mir auch genutzt werden.

Ich habe einmal nachgeschaut, die Android-Kategorie meines Blogs ist relativ verwaist, die letzte App-Übersicht ist von 2011 und für das Tablet von 2017.

Vielleicht fange ich einmal damit an, dass ich neben dem vorinstallierten Playstore von Google auch noch F-Droid verwende. Wenn ich eine neue App brauche, schaue ich zuerst dort bevor ich auf den Google Playstore zugreife. Bei vergleichbarer Funktionalität greife ich lieber zu FLOSS (Free/Libre Open Source Software).

Die folgende Liste habe mit Hilfe von List My Apps erstellt. Apps von Google gebe ich nur an, wenn ich sie auch wirklich benutze.

Die Liste ist richtig lang geworden.

Medienkonsum

  • Pocket Casts ist mein Hauptmedienprogramm, es bietet gegenüber anderen Lösungen die Möglichkeit der Synchronisation des Hörstatus, um auf der Sonos, iOS oder dem Webplayer weiterhören zu können.
  • Audible, ja, Hören spielt eine grosse Rolle auf dem Handy, ich mag Hörbücher.
  • Spotify löst Audible immer stärker ab, ich höre kaum Musik, dafür viele Wortbeiträge.
  • EasyRSS synchronisiert sich gegen eine selbstgehostete FreshRSS-Instanz.
  • wallabag ist die passende App zum selbstgehosteten Wallabag-Dienst.
  • MuPDF viewer zum Anschauen von PDFs.
  • Netflix, Smart TV und Sonos nutze ich auf dem Handy sehr selten.

Internet

Zu den folgenden Tools schreibe ich nichts, die sind eindeutig.

Chat und Messaging

Ich chatte sehr wenig, was dazu führt, dass ich pro Toll gerade einmal ein oder zwei Personen habe, mit denen ich mich austausche, SMS wird übrigens auch noch genutzt.

  • Riot.im wird immer mehr zu meinem Haupt-Messenger. Ende-zu-Ende-Verschüsselung und verschiedene Brücken, unter anderem zum IRC, machen Matrix zu einer echten Empfehlung.
  • Telegram nutze ich am zweithäufigsten, würde ich aber gerne einstellen.
  • Nextcloud Talk wird hoffentlich bald auch Benachrichtigungen können.
  • Threema und Threema QR Code Plugin
  • WhatsApp brauche ich nur für eine oder zwei handvoll Gruppenchats, vielleicht schaffe ich das mal in eine VM auszulagern und dann via Matrix zu verbinden.

Organisation

  • Bring! zur "Verwaltung" der Einkäufe.
  • Bitwarden ist mein Passwortmanager.
  • Business Calendar ist für mich der beste Kalender.
  • DAVdroid synchronisiert die Kalender und Kontakte meiner Nextcloud-Instanz mit dem Handy.
  • ICSdroid tut das gleiche für ICS-Kalender (da habe ich zwei).
  • Joplin für Notizen und kurzfristige Aufgaben, synchronisiert mit der Nextcloud.
  • Nextcloud synchronisiert meine Photos mit der eigenen Nextcloud-Instanz und verwaltet einen grossen Haufen an PDFs und E-Books. E-Books lese ich nicht mit dem Handy.

Verkehr und Karten

Social Media

Ich nutze alle drei sehr selten.

Sonstiges

  • ALDI TALK - mein Handy kann zwei SIM-Karten verwalten, Aldi-Talk nutze ich in Deutschland.
  • Authenticator zur Erzeugung des zweiten Faktors.
  • Bose Connect für Firmware-Updates meiner Kopfhörer.
  • Clash Royale ist eines der zwei Spiele, das ich ab und an spiele.
  • Gadgetbridge stellt die Verbindung zu meiner Amazfit Bip ("not so smart Watch") her.
  • MeteoSwiss für den Wetter bericht in der Schweiz.
  • PostFinance - Kontostand und Bezahlen per NFC.
  • Reise & Waren enthält die Zollbestimmungen der Schweiz.
  • SecureLogin gibt den zweiten Faktor für die Firma.
  • Stocard benutze ich für Boarding Passes und eine Kundenkarte.
  • Supercard, selten genutzte Kundenkarte.
  • WeatherPro für Wetterberichte ausserhalb der Schweiz.
  • Wetter notification für Wetter auf der Amazfit Bip, spielt mit Gadgetbridge zusammen.
  • ti5x, Taschenrechner und das erste programmierbare Gerät, das ich hatte.
  • Yafi ist das zweite Spiel, ich habe einen FICS-Account seit 1996.
  • Nutze ich sehr selten: Barcode Scanner, GoPro

Docker-Hilfe ist hilfreich ...

docker Prinzipiell finde ich es ja super, dass die Docker-Kommandos eine eingebaute Hilfsfunktion haben, aber manchmal ist die Hilfe schon anders als erwartet.

Ich war mir nicht sicher, ob ich zuerst den Quell- oder Zieltag angeben muss beim Docker-Tag-Kommando:

$ docker tag --help

Usage:  docker tag IMAGE[:TAG] IMAGE[:TAG]

Tag an image into a repository

Options:
      --help   Print usage

Hotel-WLAN ...

linux Am vergangenen Wochenende durfte ich einmal mehr in einem Hotel zu Gast sein, das ein kaputt konfiguriertes WLAN hatte. Manchmal frage ich, was die Dienstleister befürchten, wenn sie den Zugang so kastrieren.

Für mich ist elementar, dass ich via SSH auf meine Server zugreifen kann, aber Port 22 ausgehend war geblockt. Das habe ich relativ schnell in den Griff bekommen, in dem ich via "Remote Console" auf einem meiner Server sslh installiert habe. sslh nimmt Verbindungen auf Port 443 (https) an und entscheidet mit dem Handshake an welchen Dienst die Verbindung "übergeben wird". Das klappt problemlos und ziemlich gut, wenn der WLAN-Administrator nicht auf Protokollebene blockt.

Zugriff geht dann via:

ssh -p 443 user@sslh-server.example.net


Die Weiterverbindung auf andere Server lässt sich dann mittels folgendem Befehl realisieren (das geht auch transparent mit der unten aufgeführten Lösung):

ssh -o ProxyJump=user@sslh-server.example.net user@ziel.example.com


Für reine SSH-Verbindungen ist das prima, aber es gibt ja zum einen noch andere Dienste (unter anderem Usenet, Protokoll nntp, Port 119), die ich auch noch nutzen möchte.

Da kommt dann das Tool sshuttle zum Einsatz. sshuttle benutzt SSH, um darüber alle tcp-Verbindungen plus DNS mittels Paketfilterregeln weiter zu leiten. Um die lokalen Regeln anzupassen wird sudo-Zugriff auf den root-Account benötigt.

sshuttle --dns --remote=user@sslh-server.example.net:443 0/0


Für mich funktioniert das und es macht "falsch" konfigurierte Netzwerke benutzbar.

Powerline ...

linux Ich habe jetzt einmal meinen Prompt von Liquid Prompt auf Powerline umgestellt, weil es damit ein wenig konsistenter ist, da sowohl die Shell wie auch Vim und tmux unterstützt werden.

Bei Fedora 27 ist Powerline direkt dabei, bei CentOS muss man Powerline "von Hand" installieren, das Verfahren wird auch bei anderen Distributionen funktionieren.

Fedora 27:
dnf install powerline tmux-powerline vim-powerline
systemctl enable powerline
systemctl start powerline


CentOS 7:
yum install python-pip
pip install powerline-status

cd /usr/share/fonts
curl -LO https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
fc-cache -vf /usr/share/fonts/

cd /etc/fonts/conf.d/
curl -LO https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf


.bashrc
export POWERLINE_BASH_CONTINUATION=1
export POWERLINE_BASH_SELECT=1

# Fedora 27:
source /usr/share/powerline/bash/powerline.sh

# CentOS 7:
source /usr/lib/python2.7/site-packages/powerline/bindings/bash/powerline.sh


.vimrc
# Nur CentOS 7:
set rtp+=/usr/lib/python2.7/site-packages/powerline/bindings/vim/

# Fedora 27 und CentOS 7:
set laststatus=2


.tmux.conf
# Fedora 27:
source /usr/share/tmux/powerline.conf

# CentOS 7:
source /usr/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf

Fedora 27 ...

fedora Normalerweise aktualisiere ich mein Client-Betriebssystem dadurch, dass ich - grob zusammengefasst - ein Backup mache, den Rechner neu installiere und dann die Daten zurück sichere (siehe auch Neuinstallation Fedora 26 und Update auf eine neue Ubuntu-Version).

Dieses Mal war ich "abenteuerlustig" 8-) und habe mit den Bordmittel ein Backup gemacht, so wie es hier beschrieben wird.

Es hat wahnsinnig gut funktioniert.

Ich musste im Vorfeld den Citrix Receiver deinstallieren, weil es kein "webkitgtk" mehr gibt und habe stattdessen den Webreceiver installiert, der die Abhängkeit nicht hat. VirtualBox hat noch kein Repo für Fedora 27, die bereits installierte Version funktioniert aber bestens weiter.

Klasse. Allerdings werde ich das - obwohl es so gut funktioniert hat - nicht bei jedem Release so machen, weil das Entmüllen auch etwas wert ist.

Ich habe schon einige Linux-Distributionen durchprobiert und muss gestehen, dass mir Fedora am Besten gefällt. Allerdings haben sich natürlich alle anderen Distros auch weiterentwickelt und da kenne ich den aktuellen Stand nicht mehr.

Kein Linkdump 34/2017 wegen Swiss Perl Workshop 2017 ...

perl Für heute muss ich Euch leider enttäuschen, ich habe keinen Linkdump vorbereiten können.

Gerade jetzt bin ich in Villars-sur-Ollons und freue mich darauf, dass der Swiss Perl Workshop 2017 in einigen Stunden startet.

Lee, Roman und ich haben in den letzten Wochen und Monaten diesen Workshop vorbereitet und Sponsoren gesucht (und glücklicherweise auch gefunden). Wir freuen uns sehr, dass Damian Conway bei uns ist und einige Vorträge hält.

Die Location - Hotel du Golf - ist super und mit sehr viel Ausblick :-)

Interessanterweise bin ich das erste Mal in der Welschschweiz, obwohl ich jetzt schon fast zehn Jahre in der Eidgenossenschaft lebe.

SSD tauschen ...

Ich habe nicht bereut, mich bei meinem aktuellen Notebook im Februar letzten Jahres für ein Dell Latitude E7450 entschieden zu haben. Am Sonntag habe ich innerhalb von ein paar Minuten die neue SSD eingebaut und Fedora installiert. Arbeitsbereit war ich in deutlich unter zwei Stunden ... (selbst Windows 10 wäre da noch dabei gewesen, die Updates zu installieren und Anwendungen wären auch noch nicht drauf).

Neuinstallation Fedora 26 ...

fedora Durch die verschiedenen sozialen Netzwerke, in denen ich mich bewege, schwappen gerade Anleitungen wie man von Fedora 25 auf Fedora 26 aktualisiert, hier ein Beispiel.

Ich werde es so halten "wie schon immer" (Ubuntu) und mit jedem Linux, das ich bis jetzt benutzt habe, ich werde meinen Rechner neu installieren.

Der Grund ist schon seit Jahren der gleiche, nämlich Datenhygiene: Da ich viel mit Software experimentiere und viele Programme ausprobiere, nutze ich die Neuinstallation, um mich von nicht mehr benötigten Altlasten und nicht mehr gebrauchten Konfigurationsdateien zu trennen.

Die Installation ist für das kommende Wochenende geplant.

Wannacry?

Leider muss ich jetzt doch etwas längeres dazu schreiben, weil mich die polemisierenden Nachrichten nerven.

Kurz zusammengefasst:

Ich habe kein Mitleid mit Firmen, die von Wannacry betroffen sind. Mein Mitleid geht an die Menschen, die nichts damit zu tun hattem wie beispielsweise Patienten von Krankenhäusern.

Wannacry hat mit Admins zu tun, die ihre Hausaufgaben nicht gemacht haben; mit Entscheidern, die kein Geld für ein Update bewilligen und mit Anwendern, die auf alles klicken, was klickbar ist und Warnhinweise ignorieren. Es hat nichts mit Windows vs. Linux zu tun. Ein ungepatchtes und nicht supportetes Linuxsystem ist auch ein Sicherheitsproblem.

Längere Version:

Soweit ich verstehe und aus diesem Link mitnehme, läuft die initiale Verbreitung folgendermassen:

Ein Benutzer bekommt per Mail eine Passwort geschützte ZIP-Datei in der ein Dokument ist. Wenn das Dokument geöffnet wird, wird eine unsignierte ausführbare Datei nachgeladen und diese ausführbare Datei enthält alles, was der Wurm braucht, Code zur Infizierung, Vervielfältigung und Verseuchung der Zielsysteme, wobei eine Schwachstelle in SMB ausgenutzt wird. Durch den User erreichbare Dateien (insbesondere Netzwerkshares) werden verschlüsselt.

Der Benutzer muss mehrfach bestätigen, dass er Dinge "wirklich" tun will (Ungeschützte Datei öffnen, Makros ausführen, Datei aus unsicherer Quelle ausführen).

Erste Möglichkeit, es gar nicht erst zu solchem einem Eklat kommen zu lassen, wäre beispielsweise die Schulung der Nutzer.

Für noch im Support befindliche Betriebssysteme, also nicht Windows XP, hat Microsoft bereits Mitte März dieses Jahres einen Patch veröffentlicht.

Zweite Möglichkeit, kritische Patches kurz nach Erscheinen einspielen.

Das hilft nicht, wenn man nur Windows XP hat und die Entscheider kein Geld für neue Lizenzen ausgeben wollen. Hier ist die dreckige Wahrheit: Der Unterhalt einer IT-Infrastruktur kostet Geld für Hardware, Softwarelizenzen und Support-Personal. Es liegen vier aktuell supportete Versionen zwischen XP und heute (Windows Vista, Windows 7, Windows 8 und Windows 10). Selbst, wenn man sich entscheiden würde, nur jede zweite oder dritte Inkarnation von Windows einzusetzen, hätte es mit dem rechtzeitig veröffentlichten Patch keine Probleme gegeben.

Es geht nicht um "XP ist Mist", es geht in diesem Fall um abgelaufenen Herstellersupport.

Von einem Oldtimer würde man auch nicht erwarten, dass er einen Airbag hat ...

Um in der Analogie zu bleiben: Windows XP hat 2001 das Licht der Welt erblickt, das ist vor 16 Jahren. Wie viele Geschäftsführer fahren 16 Jahre alte Autos? Ich kenne keinen. Geld für ein neues Auto wäre also da, aber nicht für Softwarelizenzen. Das passt nicht.

Dazu gibt es noch mehrere Möglichkeiten, technisch dem Problem beizukommen, gekapseltes E-Mail-System, Paketfilter, ... aber die sind meiner Meinung nach nicht mit vertretbarem Aufwand handhabbar.

Fazit:

Es führt nichts, gar nichts daran vorbei Anwender zu schulen. Selbst, wenn das zu Grunde liegende System von Windows auf irgendetwas anderes wechselt, hilft die Schulung, dass die gleichen Fehler nicht auf den neuen Systemen gemacht werden.

Ebenfalls ist es nötig, zeitnah kritische Patches einzuspielen. Selbst Unternehmen mit sehr konservativen Patchzyklen (ein Mal pro Jahr) kennen "Emergency-Patching".

Egal, welches System eingesetzt wird, es muss durch den Hersteller oder die Community unterstützt sein (ich kenne reichlich Menschen, die ein lange nicht mehr gewartetes Debian einsetzen).
  • Wem die Supportzyklen zu kurz sind, muss auf etwas mit längeren Supportzyklen wechseln.
  • Wer lizenzpflichtige Betriebssysteme (oder auch andere Software) einsetzt, muss diesen Kostenpunkt dringend in seinem Budget einplanen.