Archiv des Autors: Holger Flemming

Debugging von Daemon-Prozessen

Um Daemon-Prozesse zu debuggen, als Applikation die sich kurz nach dem Start aufgabeln und im Hintergrund weiterlaufen, während der Haupt-Task beendet wird, gibt es im gdb die Möglichkeit Hintergrundprozesse anzubinden.

Zunächst muss dazu ein Start-Skript für gdb erzeugt werden. Dazu wird eine Textdatei mit folgendem Inhalt angelegt:

set target-async on
set pagination off
set non-stop on

Im folgenden wird davon ausgegangen, dass diese Datei unter dem Namen non-stop.gdb abgelegt wurde.

Nun wird der Debugger mit

gdb -x non-stop.gdb

gestartet. Im gdb wird der Debugger mittels eines attach-Kommandos an den Deamon-Prozess angebunden. Mit dem shell-Kommando pgrep kann nach der Prozessnummer gesucht werden. Beim Anbinden des Prozesses wird der Daemon-Prozess angehalten. Um diesen Prozess weiter zu führen, muss das continue-Kommando eingegeben werden.

(gdb) !pgrep YOUR-Daemon
1234
(gdb) attach 1234
(gdb) continue &

Quelle: https://stackoverflow.com/questions/16169022/debugging-a-running-daemon-using-gdb

Routing Konfiguration unter OpenWRT

In diesem Post geht es darum, wie man Routing unter OpenWRT konfiguriert. Das Routing in unserem Beispielnetzwerk ist zum Glück nicht besonders komplex, sodass die Konfiguration recht einfach ist. Zur Verdeutlichung wird hier noch mal die Darstellung der Netzwerkarchitektur aus dem ersten Post gezeigt.

Weiterlesen

Erstellen eines X.509-Zertifikates mit openSSL

X506-Zertifikate dienen u.a. dazu, die Authentizität eines HTTPS-Servers zu bestätigen. Dazu werden sie üblicherweise streng hierarchisch von vertrauenswürdigen Zertifizierungsstellen ausgestellt. Manchmal kann es nützlich sein, ein solches Zertifikat aber auch selber auszustellen, sei es für Anwendungen im Intranet oder für Versuchszwecke. Dies kann man leicht mit openSSL tun.

Weiterlesen

Switch-Konfiguration unter OpenWRT

Wie schon in den vorherigen Posts beschrieben, hat der eigentliche Router im Archer C6 von tp-Link nur einen einzigen Ethernet-Port, der über einen internen Switch mit den fünf von außen zugänglichen Ethernet-Ports verbunden ist. In diesem Post soll es darum gehen, wie die richtige Switch-Konfiguration durchgeführt wird. Dazu ruft man in LuCI den Menüpunkt Network -> Switch auf.

Weiterlesen

Netzwerkschnittstellen in OpenWRT konfigurieren

Im zweiten Post geht es darum, die Netzwerkschnittstellen für den im vorherigen Post beschriebenen Router zu konfigurieren. In der englischsprachigen OpenWRT-Dokumentation wird davor gewarnt, dass die Begrifflichkeiten von OpenWRT in dieser Beziehung verwirrend sein können, insbesondere wenn man Erfahrung mit Linux-Systemen hat. Das Interface oder die Schnittstelle von OpenWRT unterscheidet sich von dem, was unter Linux als Interface bezeichnet wird.

Weiterlesen

OpenWRT als zentraler Netzwerk Router

Bislang sah unser Heim-Netzwerk aus wie viele andere auch. Eine FritzBox wurde als Router eingesetzt, der den VDSL-Anschluss mit dem Heimnetzwerk verband und für dieses auch den DHCP-Server zur Verfügung stellte. Das Heimnetzwerk selbst war ein logisches Netzwerk. Das heißt natürlich auch, dass alle Geräte im Heimnetz auf alle anderen und auf das Internet unbeschränkt zugreifen können. Mit der zunehmenden Vernetzung (Stichwort SmartHome und IoT) ist das vielleicht nicht unbedingt das, was man haben möchte. Und auch Gäste, denen man freundlicherweise Zugriff aufs WLAN gewährt, sollen vielleicht nicht immer alle Geräte im Netz sehen können. Deshalb habe ich mich mit OpenWRT beschäftigt, um damit einen zentralen Netzwerk Router aufzusetzen, mit dem ich eine Netzwerkarchitektur realisieren kann, die diesen Anforderungen genügt.

Weiterlesen

Manuelles Update des Nextcloud Servers

  1. Backup inklusive der Konfigurationsdatei config.php erstellen.
  2. Aktuelles Server release vom Nextcloud server https://nexcloud.com/install herunter laden.
  3. Webserver mit sudo /etc/init.d/apache2 stop anhalten.
  4. Altes nextcloud-Verzeichnis umbenennen, z.B. in nextcloud-<version>
  5. Neues Nextlcloud-Release entpacken. Es entpackt sich dabei automatisch in ein neues Verzeichnis nextcloud/.
  6. Alte Konfigurationsdatei config.php in das neue nextcloud-Verzeichnis kopieren: sudo cp nextcloud-<version>/config/config.php nextcloud/config/
  7. Zusatz-Applikationen von Drittanbietern von der alten zur neuen Installation kopieren: sudo cp nextcloud-<version>/apps/<app> nextcloud/apps/ Aktuell sind das:
    1. calendar
    2. contacts
    3. deck
    4. files_mindmap
    5. files_texteditor
    6. notes
    7. polls
    8. tasks
  8. Dateieigentümer und Rechte anpassen:
    chown -R www-data:www-data nextcloud  find nextcloud/ -type d -exec chmod 750 {} \;  find nextcloud/ -type f -exec chmod 640 {} \; 
  9. Web-Server wieder starten: sudo /etc/init.d/apache2 start
  10. Upgrading tool starten: sudo -u www-data php nextcloud/occ upgrade Dieser Schritt kann einige Minuten in Anspruch nehmen.
  11. Fertig. jetzt sollte man sich einloggen und überprüfen, ob das upgrade erfolgreich war.

Hinweis: Diese Beschreibung basiert auf der englischen Dokumentation von nextcloud