Tips & Tricks

Diese Seite ist eine lose Sammlung von Tips und Tricks die mir im Lauf der Jahre bei der Einrichtung meiner EDV Landschaft geholfen haben - eine Liste gegen das Vergessen, sozusagen - sie erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit, und ist auch nicht sortiert - use at your own risk.

GMX DAV

In letzter Zeit habe ich im Freundes/Bekanntenkreis diverse Workshops zum Thema Email Encryption gemacht, und da bleibt es natürlich nicht aus, dass man sich auch Gedanken macht, wie man die persönlichen Adressen und Kalender so speichert dass sie auf allen Geräteklassen synchron vorhanden sind.
Am einfachsten geht das natürlich z.B. mit den Google Apps, aber bzgl. Datenschutz/Privacy ist das eben der Offenbarungseid.
Besser ist da eine eigene Cloud (z.B. OwnCloud oder NextCloud) aber dazu muss man dann eben auch den entsprechenden Server betreiben.
Wer das nicht will, kann einen der seriöseren Dienste wie mailbox.org oder posteo wählen, es geht aber auch mit den hierzulande beliebten Diensten von web.de oder gmx.
Diese sind zwar auch hinsichtlich privacy bedenklich (auch sie verwenden die Kundendaten für Werbezwecke) wenn auch wohl nicht so intrusiv wie Google.
Wie auch immer, zu Demo-Zwecken habe ich mir inzwischen auch einen gmx Account eingerichtet, und hier (ebenso bei web.de) gibt es immerhin auch die Dienste CalDav und CardDav.
Hier nun ein paar Tips zu deren Einrichtung/Nutzung mit Mozilla Thunderbird:
Der erste Knackpunkt ist das Herausfinden der korrekten Principal URL, laut GMX Hilfe sehr einfach. Leider hat das hier nicht funktioniert, erst nach etwas Herumsuchen konnte ich hier herausfinden wie die korrekte URL aufgebaut ist.
Ein weiteres Problem bei TB ist, dass hier immer wieder Plugins nicht mehr funktionieren oder Funktionalität woanders hin verschoben wird, so auch jetzt (TB 102.3) wieder. Man muss hier nun das Plugin CardBook für CardDav verwenden, CalDav funktioniert nun offenbar direkt in TB (ohne Plugin).

Google Mail (mal wieder)

Es ist ja bekannt, dass Google (nicht nur bei Mail) immer gern seine eigene Suppe kocht und dabei auch anerkannte Standards (IMAP etc.) immer mal wieder umgeht, verletzt oder sonstwie verbiegt.
So auch jetzt mal wieder - zu Ende Mai 2022 kam eine Nachricht dass einige 'alte' Mail Clients bezgl. Authentifikation nicht mehr unterstützt würden.
Bei mir waren das dann K9mail (Android), sowie kmail und claws-mail (Linux).
Die Abhilfe: im Google Konto 2FA aktivieren und für die Mail Clients je ein App-Passwort generieren (lassen).
Achtung bei kmail: hier muss zusätzlich die Auth-Methode auf PLAIN umgestellt werden (kmail hat da auch eine Methode 'Gmail' die bisher schon funktioniert hat, aber zuletzt eben auch problematisch war...)

Contao auf Netcup Webhosting

Aus aktuellem Anlass hier kurz etwas zur Installation von Contao 4.9 auf Netcup Webhostings:
Da gab es zuletzt einige Stolpersteine, die mithilfe des Forums schnell gelöst werden konnten. Der entsprechende Thread findet sich hier.

Windoze Support Tips

Jaja, das leidige Thema... aber es ist eben so: von den Freunden/Bekannten hat halt nach wie vor (fast) jeder Windows, und wenn man denen helfen will, kommt man eben nicht drum herum.
Deswegen schreibe ich hier mal ein paar Dinge auf, die ich im Fall der Fälle immer wieder brauche, vor allem auch deshalb, weil ich das selber nicht brauche und deswegen auch leicht vergesse.
Da ist zum ersten das Thema Datensicherung, am besten auf ein NAS:
Hierfür verwende ich meist FreeFileSync das so ähnlich arbeitet wie rsync, aber eben mit GUI. Das Grundprinzip ist hierbei das Erstellen von FFS Batchfiles, die dann entweder von Hand oder per Aufgabenplanung automatisch aufgerufen werden. Die Beschreibung dazu findet sich in den Dokus.
Wichtig ist, dass bei automatischen Backups via Aufgabenplaner dies alles richtig konfiguriert wird, siehe hier.

Ein weiteres Thema ist Müllbeseitigung: die Windoze Registry hat die Eigenschaft, sich im Lauf der Zeit zuzumüllen, wodurch der Rechner immer langsamer wird. Abhilfe kann hier ein sog. Registry Cleaner bringen, z.B. der hier.

Zum Tema NAS:
Hier empfehle ich meistens ein Gerät der Firma Synology, diese sind relativ preiswert und, soweit zumindest meine Erfahrung, zuverlässig. Die Geräte beziehen standardmässig ihre interne IP Adresse vom DHCP Server/Router, diese stellt man (im Web-Interface des Routers) am besten so ein, dass das NAS immer dieselbe Adresse bekommt.
Die Einrichtung selbst ist kein Hexenwerk, nach dem Anschluss ans LAN und Einschalten findet man es normalerweise via find.synology.com. Bei neuen Platten (am besten 2 gleiche) muss zuerst ein RAID Typ ausgewählt werden, ich verwende hier meist den Default-Typ.

Webentwicklung mit Grav

Aus aktuellem Anlass habe ich mal einen neuen Artikel zum Thema Webentwicklung mit Grav geschrieben, allerdings in Englisch .

Syncthing

Ist etwas das ich schon länger im Hinterkopf hatte, aber doch nicht so recht dazugekommen bin - aber nun zuletzt eben doch .
In den letzten Jahren hatte ich zum Übertragen meiner Fotos von den diversen (Android-) Handys/Tablets auf den Desktop PC einfach Filezilla verwendet, zusammen mit Free Ftp Server auf den Mobilgeräten. Das funktioniert recht gut, allerdings muss man eben immer noch jedesmal selber nachschauen, welche Files neu zu übertragen sind (das ist anhand des Änderungsdatums aber nicht schwer). Zudem kann es vorkommen, dass Mobilgeräte ab und zu eine neue IP Adresse im LAN bekommen, was bei Filezillas Servermanager etwas ungeschickt ist.
Also ist auch hier, wie immer, das Bessere des Guten Feind.
Am liebsten wäre mir ja so etwas wie rsync gewesen, aber für die Mobilgeräte scheint es da nichts vernünftiges zu geben (ja, ich weiss dass Termux auch rsync beinhaltet, der Zugriff von dort auf die Datenbereiche erfordert jedoch, das Gerät zu rooten, was ich zumindest nicht bei jedem machen will). Und ja, man kann natürlich auch Mobilgeräte per USB Kabel an den PC anschliessen und dann vom PC aus mit rsync auf deren Dateisystem direkt zugreifen, aber das ist auch nicht das gelbe vom Ei und erfordert ggf. Gefuddel mit den Einstellungen oder gar zusätzliche Apps...
Das einzig vielversprechende Tool schien mir daher Syncopoli zu sein, aber im Gegensatz zum flotten Spruch in dessen Beschreibung hat dieses bei mir nie richtig funktioniert (meist sogar garnicht).
Deswegen bin ich nun zuletzt doch bei Syncthing gelandet.
Die Desktop Anwendung gibt es für alle relevanten Systeme, und das ist schonmal gut. Und für die Mobilgeräte sind 2 Apps verfügbar: Syncthing und Syncthing-Fork.
Der Fork scheint etwas mehr Funktionen zu haben, dafür erfordert er Android >= 5.0, die Version ohne Fork gibt sich mit >= 4.1 zufrieden, und deswegen ist diese auf meinem alten Huawei Y300 gelandet - der Fork auf den neueren Geräten.
Die Einrichtung erfordert etwas Probieren und Geduld, hier kommt es u.a. auf die richtige Reihenfolge der Schritte an. Immerhin werden im lokalen LAN Geräte automatisch gefunden, und wenn man mal kapiert hat, wie das mit den zu synchronisierenden Ordnern geht, und den Optionen (hier habe ich an den Mobiles jeweils nur Senden eingestellt) dann geht das Ganze automatisch los und ist auch echt flott.
Soweit erstmal zu den ersten Erfahrungen.
Eine Anleitung zu Syncthing gibt es übrigens auch in diesem Pro-Linux Artikel, der sich auch mit Zerotier beschäftigt.

Dokumente in der OwnCloud

Neben dem Blog-Artikel hierzu (der natürlich mit der Zeit in der Liste nach hinten wandert) hier nun auch der Link zum Artikel

zuluCrypt

Im Verlauf der Reanimation eines älteren Laptops (Sony Vaio VPCCB) habe ich mich entschlossen, mich etwas mehr mit Filesystem Verschlüsselung zu beschäftigen. Unter linux ist ja LUKS das Werkzeug der Wahl für diese Aufgabe, und es wird natürlich auch von debian gleich bei der Installation sozusagen out-of-the-box unterstützt, aber nur zusammen mit LVM.
Dies ist nun nicht gerade das was ich bevorzuge, und so kam dieser einfache Weg vorerst nicht infrage. Im Zuge der Beschäftigung mit der nachträglichen, händischen Einrichtung einer verschlüsselten Partition bin ich dann auf zuluCrypt gestossen (das auch im debian Paketsystem enthalten ist, mir aber bisher unbekannt war), und fand das sehr praktisch, da man damit erstmal mit leicht verständlichen GUI-Tools (zuluCrypt-gui und zuluMount-gui) alles einrichten und testen, und nachher für den produktiven Einsatz die entsprechenden CLI Versionen verwenden kann.
Wenn das dann alles klappt, kann man die neue verschlüsselte Partition automatisch beim Systemstart einbinden, wie ab hier beschrieben.

Vncserver & Client Setup

An sich super einfach, ABER einfach mal vnc-server installiert und auf dem Client krdc (oder vncviewer) geht erstmal gar nicht:
Hierzu muss

  1. im Client der richtige Port (5901) angegeben werden
  2. die richtigen Desktop Einstellungen in der Datei ~/.vnc/xstartup vorgenommen werden:
    #!/bin/sh
    # Uncomment the following two lines for normal desktop:
    unset SESSION_MANAGER
    exec /etc/X11/xinit/xinitrc
    # ^^^ genau das ist wichtig, sonst nur grauer Bildschirm :) 
    ....

    siehe hierzu auch diesen Artikel

OwnCloud auf Netcup Hosting 04/2020

Nachdem ich schon vor mehr als einem Jahr von Dropbox die Nase voll hatte (immer mehr Restriktionen, wie nur noch 3 Clients, nur noch ext4 Filesystem...) bin ich dann recht schnell bei OwnCloud gelandet.
OwnCloud deswegen, weil Nextcloud sich schlicht und ergreifend nicht unter den Restriktionen meines Netcup Webhostings installieren liess.
Nichts gegen dieses Hosting Paket - dieses bietet VIEL mehr als alle anderen vergleichbaren Hosting Pakete die ich kenne !
Und, wie gesagt: OwnCloud herunterladen, auspacken und im Web-Frontend den Installer laufen lassen - fertig - ein Klacks. Dann noch die entsprechenden Desktop und Mobile Clients installiert und Dropbox vergessen .
So weit so gut.
Aber auch OwnCloud ist nicht ohne Haken und Ösen - das zeigte sich jetzt beim (versuchten) Update, das zwar ganz gut dokumentiert ist, aber beim Webhosting nicht so einfach funktioniert.
Das liegt daran, dass das dazu benötigte Hilfsprogramm occ, das in der shell aufgerufen wird, andere Pfade sieht (die stehen in der config.php) als der Webserver, weil die shell in einer beschränkten chroot Umgebung läuft.
Ich habe mir dann so geholfen, dass ich 2 Versionen der config.php angelegt habe, eine mit Webserver-Pfaden und eine mit chroot-Pfaden, und dann je nach Anwendung (Live oder Wartungsmodus) die config.php als Symlink auf die jeweils passende Version angelegt.
So ging das dann einigermassen, wobei ich bisher nicht herausgefunden habe, warum man das Datenverzeichnis (data) nicht ausserhalb des Installationsverzeichnis legen (und dann natürlich in der Konfig ändern) kann (Das hat zwar augenscheinlich erstmal funktioniert, man konnte im Web-Frontend durch die Verzeichnisse navigieren, aber jeder Versuch, eine Datei zu öffnen oder herunterzuladen ergab ein 'Not Found').
Naja, ich lasse es jetzt erstmal so - Hauptsache es funktioniert .
Update (07/2020):
Die App updater ist nicht im apps Ordner unterhalb der OC Installation, sondern direkt im OC root - Verzeichnis. Einrichtung siehe Doku.
Und noch eine Anmerkung zum zuvor angemerkten Problem des data Ordners ausserhalb der OC root: dies hängt damit zusammen, dass die Pfade zu den Files wohl (zumindest bei sqlite) absolut in der Datenbank gespeichert sind, das funktioniert natürlich nicht mehr wenn das Verzeichnis nachträglich verschoben wird !
Siehe hierzu auch diese Anleitung.
Am besten macht man das aber wohl zusammen mit der Migration von sqlite nach mysql.
Und genauso ist es (ein Tag später...)

KDE 5.18 für Debian 03/2020

Debian hat ja traditionell selbst im Entwicklungszweig (SID) ein relativ altes KDE, das zwar gepflegt wird (also Bugfixes aus dem Projekt erhält) aber eben: es ist einfach alt.
Und gerade weil KDE ja neben Bugfixes ständig viel neues bringt und Funktionen verbessert, ist das ein recht unbefriedigender Zustand.
Natürlich kann jeder der will, sich selbst ein aktuelles KDE bauen, z.B. mit KDE Build SRC - aber ganz so einfach stellt sich das auch nicht dar.
Zum Glück hat sich nun der Norbert Preining dieser unbefriedigenden Situation angenommen, siehe seinen Blog Post dazu.
Und inzwischen wurde das mit Hilfe des Suse OBS auch weitgehend automatisiert - eine echt coole Sache !

Aufbau/Neuinstallation eines Debian Systems anhand einer Vorlage (Referenz-System) 03/2020

  1. Grundinstallation des Zielsystems, z.B. aus Netinst Image, nur Basis-System + openssh-server + rsync
  2. Benutzer anlegen, Passwörter vergeben, sudo einrichten (Benutzer in /etc/group bei sudo: eintragen)
  3. /etc/apt/sources.list und ggf. Dateien aus /etc/apt/sources.list.d vom Referenzsystem auf das Zielsystem kopieren, apt-get update
  4. Paketliste des Referenzsystems erzeugen: dpkg -l | awk '{print $2}' > pkg.list
  5. Paketliste auf Zielsystem kopieren und dort mit install.sh (s.u.) installieren
  6. angepasste Konfiguration(en) vom Referenzsystem auf das Zielsystem kopieren (siehe Anmerkungen Konfiguration)
  7. eigene SW (z.B. in /usr/local oder $HOME) vom Referenzsystem auf das Zielsystem kopieren

Anmerkungen Konfiguration:

  • Systemkonfigurationsdateien finden sich praktisch alle unter /etc
  • die meisten davon werden automatisch bei der Installation erzeugt bzw. angepasst
  • wichtig sind die nachträglich von Hand veränderten Dateien bzw. die durch interaktive Konfiguration z.B. mit dpkg-reconfigure veränderten Dateien, diese werden am besten in ein tar File archiviert und auf dem Zielsystem ausgepackt
  • weitere Informationen finden sich im Debian Wiki - darin auch ein Hinweis auf das Tool changetrack

install.sh:

#!/bin/bash
#   Install all Packages from Listfile ($1)

Listfile=$1
if [ -f $Listfile ]; then
    while IFS= read -r pkg
    do
        echo "installing $pkg"
        sudo apt-get -y install $pkg
    done < "$Listfile"
else
    echo "$Listfile not found, abort"
fi

Zeitsynchronisierung Debian 10

Zuletzt hatte ich Probleme mit der Zeitsynchronisierung an meinem neu aufgesetzten Arbeitsplatz. ntpdate wollte nicht mehr richtig funktionieren (meine Uhr war sets um ca. 20 Minuten der echten Zeit voraus) und ein genauerer Blick darauf ergab dass das in Debian 10 deprecated markiert ist. Ein wenig Suchen ergab dann das hier - wobei auch der dort beschriebene Weg via ntpd nicht zum Ziel führte, wohl aber die systemd Methode.
Nachtrag: auch das brachte nicht den wirklichen Erfolg. Wie sich herausstellte, lag das Problem daran, dass die Zeitsynchronisation über den Home Router lief, und der hatte die falsche Zeit .
Also nochmal suchen und dann eben laut diesem Tip den Timeserver für systemd timesyncd auf pool.ntp.org eingestellt, und nun gehts...

Apache Virtualhosts einrichten

https://www.matthias-zeis.com/ressourcen/zfstde/zfbook.creating.a.local.domain.using.apache.virtual.hosts.html
Kein Hexenwerk, aber man muss auch daran denken, die Virtual Hosts in die /etc/hosts Tabelle einzutragen...


Request Client Hostname from DHCP Server

Im lokalen Netzwerk werden Clients bevorzugt via DHCP Server eingerichtet - dies ist heutzutage bewährter Standard.
Probleme treten dabei aber dann auf, wenn einer dieser Clients Dienste anbieten soll - in dem Fall müssen die anderen erst einmal die (dynamische) IP Adresse des Dienste-Anbieters ermitteln.
Doch es geht auch einfacher, und ganz automatisch:
https://askubuntu.com/questions/104918/how-to-get-the-hostname-from-a-dhcp-server
Broadcast Hostname via Zeroconf/Avahi:
https://learn.adafruit.com/bonjour-zeroconf-networking-for-windows-and-linux/overview
Anmerkung: Das alles passiert auch automatisch, wenn man auf dem Client Samba installiert, aber wer braucht bzw. will schon Samba ??


Docker auf Debian installieren

Docker ist das Tool der Wahl für alle Webentwickler - mit dem passenden Image stellt es genau die gerade benötigte Umgebung zur Verfügung, schlank und schnell.
Kein Vergleich zur Einrichtung eines kompletten LAMP Stack, oder gar XAMPP.
https://computingforgeeks.com/install-docker-and-docker-compose-on-debian-10-buster/


Fix "Start Job is running for raise network interfaces..." Boot Meldung

Dies kommt vor (und nervt, weil man dann erst den Timeout abwarten muss) wenn ein Rechner der vorher per Kabel ans Netzwerk angeschlossen war, nun ohne LAN Kabel gestartet wird (und z.B. erst später via Network-Manager/WLAN verbunden wird).
https://www.computerbase.de/forum/threads/meldung-waehrend-boot-debian-start-job-is-running-for-raise-network-interfaces.1733184/


Vi(m) Copy/Paste mit Maus einrichten

Seit Debian 8 (so habe ich es zumindest in Erinnerung) funktioniert Copy/Paste in einem Terminal nicht mehr out-of-the-box.
Abhilfe:
set mouse=r
in ~/.vimrc.
Siehe auch https://unix.stackexchange.com/questions/318824/vim-cutpaste-not-working-in-stretch-debian-9


Clonezilla - ein Tool zum Sichern und Wiederherstellen von Partitionen/Festplatten

https://www.linux-community.de/ausgaben/linuxuser/2013/04/partitionen-sichern-mit-clonezilla/
Und ja, dd ist einfacher, ABER: clonezilla sichert nur 'echte' Daten, keinen Leer-Raum, und packt das Ganze auch noch - sehr effektiv !


SSH Copy-Id

Remote Login ohne Username und/oder Passwort:
https://www.ssh.com/ssh/copy-id
funktioniert auch für rsync und scp !


rsync - das Schweizer Taschenmesser der Daten-Synchronisierung

ist immer mal wieder einen genaueren Blick wert (und klar kann man auch jedesmal vorher den Manual Eintrag lesen, wenn man nicht mehr weiss, ob man den trailing slash braucht oder nicht) - aber eingängiger finde ich das hier.


Zerotier - standortübergreifende Datensicherung

Link zum Blogpost


Bulkmail.py - ein Python Massenmailer (oder auch SPAM-Schleuder)

Link zum Blogpost


Image Resize mit Imagemagick convert

Link zum Blogpost


Baikal - privater Ersatz für Google Kalender und Adressbuch

Link zum Blogpost


Serverwartung via Serial Port

Das war schon die (vor-)letzte Rettung als ich meinen Router (fli4l auf einem alix Board - natürlich ohne Tastatur/Monitor) vermurkst hatte !
Link zum Blogpost


Courier Imap - Einrichten eines lokalen IMAP Servers mit SPAM-Filter

Diese Beschreibung ist schon etwas älter, insbesondere bezüglich SPAM, aber die Einrichtung des Courier Servers funktioniert im Prinzip immernoch genauso.
Link zum Blogpost