Froschs Blog

Computer und was das Leben sonst noch so zu bieten hat

Zur Website | Impressum

Archiv der Rubrik 'Computer'

Das Piwigo-Desaster

Donnerstag, 5. Januar 2023

Zum Betrieb meiner Media-Site verwende ich seit gut fünf Jahren Piwigo. Da liegen nun mittlerweile gut 35.600 Medien, ganz überwiegend natürlich Fotos, aber auch Scans von Tickets etc. und einige Videodateien. Von den Fotos sind fast 32.000 öffentlich zugänglich. So weit, so gut.

Schon im November war mir eher zufällig aufgefallen, daß sich die Videodateien dort nicht mehr abspielen ließen. Den Grund konnte ich erstmal nicht feststellen. Erst später bemerkte ich, daß die Fotos nur noch in der jeweiligen Alben-Übersicht und generell in den kleineren Formaten angezeigt wurden, aber nicht mehr in der Einzeldarstellung. Da stand nur noch der ursprüngliche Dateiname. Nach etwas Sucherei konnte ich die Änderung an einem Datum festmachen: Am 12. November früh morgens hatte ich bei Piwigo einige Updates eingespielt. Das waren zum einen zwei oder drei Plugins gewesen und zum anderen ein Versions-Update, und zwar von 13.2.0 auf 13.4.0 (die 13.3.0 hatte ich verpeilt gehabt).

Und in dieser Update-Routine gab es einen bösen Fehler, der dazu führte, daß das Upload-Verzeichnis einfach mal weg war. Und damit alle Dateien, die ich in den letzten fünf Jahren hochgeladen hatte. Natürlich mache ich von der Datenbank von Piwigo – wie von allen Datenbanken auf diesem Server – täglich ein Backup. Von den hochgeladenen Bildern habe ich das bislang nicht gemacht. Ja, das war wohl ein Fehler, den ich gerade zähneknirschend korrigiere. Unter anderem. (mehr …)


Haste Töne …?

Dienstag, 13. Dezember 2022

Es ist wirklich lange her, daß ich ein Audio-Problem an einem meiner PCs hatte. Seit der Neuinstallation meines Hauptrechners unter Devuan 4 Chimaera (Debian 11 Bullseye ohne systemd) jedoch sammelt sich das gerade.

Das fing damit an, daß das bisherige externe Mikrofon (mit Klinkenstecker), ähmja, ignoriert wurde. Ich merkte es, als ich versuchte, an einem Jitsi Meet teilzunehmen, und nicht gehört wurde, obwohl im alsamixer alle entsprechenden Regler hochgedreht waren. Also testete ich das Mikrofon am Notebook, das aber ebenfalls unter Devuan 4 mit einem Linux-Kernel 5.10 läuft. Selbes Ergebnis, das Mikrofon wird nicht gehört (getestet mit alsamixer und audacity).

Daraus schloß ich zunächst, daß das Mikrofon einen Hau bekommen hätte. Später wurde ich jedoch darauf aufmerksam gemacht, daß es genauso ein Treiberproblem im 5er-Kernel sein könnte. Ich kaufte günstig ein USB-Mikrofon im Sonderangebot, damit geht es jetzt wieder. Aber damit waren die Probleme noch nicht vorbei – das wäre wohl zu einfach gewesen. (mehr …)


Schrödingers DVD-Laufwerk

Mittwoch, 24. August 2022

In dem PC, den ich seit Ende März 2020 hier als Haupt-Desktop-Rechner in Betrieb habe, habe ich unter anderem ein internes DVD-ROM-Laufwerk verbaut. Wobei … „intern“ schon, aber zugegebenermaßen ungewöhnlich verkabelt. Das Problem ist nämlich, daß das Mainboard, das in diesem eigentlich ziemlich großen Gehäuse verbaut ist, recht klein ist und nicht gerade viele Anschlüsse hat. Außerdem ist es für mein Hardware-Lager etwas zu modern: Es hat nämlich keine Anschlüsse mehr für so „altmodische“ Schnittstellen wie IDE.

Umgekehrt sind die vier SATA-Schnittstellen auf dem Mainboard bereits komplett belegt: Von einer geht ein Kabel nach oben auf das Gehäuse, wo es ein Dock für eine interne SATA-Festplatte gibt. Die Möglichkeit wollte ich mir nicht nehmen, also blieb dieser SATA-Anschluß belegt. Die anderen drei sind für interne Festplatten: eine für die Systemplatte und zwei für die beiden Datenplatten, die über Software zu einem RAID1 zusammengefaßt sind. Da ich aber außerdem an diesem PC auch CDs hören und DVDs gucken bzw. rippen möchte, brauchte es halt auch noch ein optisches Laufwerk. Nun ist es ja nicht so, daß ich keine hätte – aber die meisten davon sind halt IDE-Laufwerke.

Was diese Kombination aus Gehäuse und Mainboard allerdings nahezu im Überfluß hat, sind USB-Anschlüsse. Und da gibt es ja Adapter für, ne? (mehr …)


Spaß mit Python3 und InnoDB

Donnerstag, 13. Januar 2022

Die Blogs, die ich betreibe bzw. administriere, laufen allesamt mit MariaDB, einem Fork von MySQL. Die beiden Datenbank-Systeme kennen zwei verschiedene Engines, um Daten zu verwalten: MyISAM (die ältere) und InnoDB (die neuere). Die Blogs, die ursprünglich mit WordPress gestartet waren, legten ihre Datenbank mit MyISAM an, und auch, wenn die Blogs mittlerweile auf ClassicPress umgestellt wurden, blieb dieses Format erhalten. Was ich neu direkt mit ClassicPress installiert habe, bekam jedoch eine Datenbank mit der InnoDB-Engine, die die Daten ein wenig anders ablegt. Im laufenden Betrieb insbesondere der relativ kleinen Blogs macht das erstmal keinen Unterschied.

Anders sieht das aus, wenn ich abseits vom Blogsystem (hier: mit Python3) in diese Datenbanken reingreifen möchte. Solange ich nur lesend reingehe, ist das weiterhin kein Problem. Will ich jedoch schreibend auf diese Datenbanken zugreifen, gibt es einen kleinen, feinen Unterschied, und der hat mich eine Weile beschäftigt. (mehr …)


Spaß mit EXIF und datetime-Objekten in Python3

Freitag, 7. Januar 2022

Seit Frühjahr 2009 fotografiere ich regulär mit digitalen Spiegelreflexkameras. Diese Kameras schreiben eine Menge interessante Informationen in die EXIF-Daten der Bilddateien – zum Beispiel den Zeitstempel der Aufnahme. Allerdings geht das so ein bißchen in die Hose, wenn man verpeiltermaßen vergißt, der Kamera zu erklären, wann Sommer- und wann Normalzeit ist. Dann hat man unter Umständen ein Foto, auf dem zufälligerweise eine Kirchturm- oder Bahnhofsuhr abgebildet ist mit einem Zeitstempel, der eine Stunde vorher oder danach anzeigt.

Das ist mir schon einige Male passiert, und ich habe jetzt nicht wenige Fotos, bei denen die EXIF-Zeitstempel halt nicht stimmen. Und so nebenbei dann auch die Dateinamen nicht, denn die kommen zwar als IMG_nnnn.JPG von den Kameras (wobei nnnn einfach eine laufende Nummer ist, die auf 0001 zurückspringt, wenn die 9999 erreicht wurde), aber direkt nach der Übertragung auf den PC lasse ich da bereits ein eigenes Python-Script drüberlaufen, das die Zeitstempel aus den EXIF-Daten ausliest und die Dateinamen ändert in yyyymmdd-hhmmss_nnnn.jpg. Die Aufgabe war also, zum einen die Zeitstempel direkt in den EXIF-Daten der Fotos zu korrigieren und zum anderen auch die Dateinamen anzupassen.

Hinweis: Das ist jetzt nicht so wirklich eine Anleitung, eher mal wieder so ein „Froschs Lernkurve war mal wieder sehr flach“. (mehr …)


Parteitag mal anders

Montag, 10. Mai 2021

An diesem Wochenende fand der erste Teil des ersten hybriden Bundesparteitags der Piratenpartei Deutschland statt. Eine gute Gelegenheit für mich, endlich mal wieder an einem Bundesparteitag teilzunehmen, ohne mit Reisekosten und -organisation belastet zu sein. Und ohne das Risiko, dann in einem Plenum zu sitzen, in dem um mich herum ständig geredet wird, so daß ich den zweiten Tag verliere, weil ich in der Nacht nach dem ersten zusammenbreche.

Dafür, daß es der erste so veranstaltete Bundesparteitag seiner Art ist, sieht das alles schon sehr gut aus. Natürlich lief noch nicht alles glatt. Zum Beispiel war da das ungültige Zertifikat des Mumble, in welches man anfangs reinmußte, um sich zu akkreditieren. Oder die eingeschränkten Netzkapazitäten vor Ort, die dem Jitsi (für öffentliche Wortmeldungen, Fragen, Reden, Vorstellungen etc.) offenbar gelegentlich Probleme bereiteten. (mehr …)


Jahresrückblick 2020

Donnerstag, 31. Dezember 2020

In einem Wort: UFF.

OK, ich mach das ja üblicherweise etwas ausführlicher 😁, so here we go:

2020 fing erstmal so an, wie 2019 aufgehört hatte: Mit viel „geht nicht“ AKA exekutiver Dysfunktion.

Ende Januar entdeckte ich die App TooGoodToGo. Obwohl ich gehofft hatte, darüber vor allem Obst und Gemüse günstig zu bekommen, blieb es in den ersten knapp drei Monaten zunächst bei Backwaren; Obst und Gemüse wurde nur wenig angeboten und war dann schneller ausverkauft, als ich am Smartphone wischen und klicken konnte. Damit änderten sich meine Frühstücks-Gewohnheiten: Statt Müsli habe ich nun meistens (aufgebackene) Brötchen oder Brot. Und damit konnte ich auch endlich die von meiner Mutter geerbten Marmeladen und Gelees verwerten, die in der Küche ein ganzes Regal belegten. (mehr …)


Spaß mit MariaDB unter Devuan

Donnerstag, 22. Oktober 2020

Gestern erst motzte mich der Server wegen Jitsi-Meet und Let's Encrypt an, heute gab es schon wieder Ärger. Diesmal betraf es MariaDB, ein doch recht wichtiges Stück Software auf diesem Host.

Ich lasse früh morgens automatisch das Programm cron-apt laufen, damit ich mich um Standard-Update-Kram nicht mehr kümmern muß. Das schickt mir dann eine Mail mit dem Ablauf. Darin stand heute unter anderem das hier:

Preparing to unpack .../mariadb-server-core-10.3_1%3a10.3.25-0+deb10u1_amd64.deb ...
Unpacking mariadb-server-core-10.3 (1:10.3.25-0+deb10u1) over (1:10.3.23+maria~stretch) ...
dpkg: error processing archive /var/cache/apt/archives/mariadb-server-core-10.3_1%3a10.3.25-0+deb10u1_amd64.deb (--unpack):
trying to overwrite '/usr/bin/my_print_defaults', which is also in package mariadb-server-10.3 1:10.3.23+maria~stretch
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/mariadb-server-core-10.3_1%3a10.3.25-0+deb10u1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

(mehr …)


Jitsi-Meet, nginx, Let’s Encrypt und die Zertifikats-Erneuerung

Mittwoch, 21. Oktober 2020

Während mein Jitsi-Meet immer noch nicht so richtig funktioniert, wie es soll, kam gestern früh Let's Encrypt angeschlappt und erklärte, es könne das Zertifikat für die Site nicht erneuern, weil:

Attempting to renew cert (meet.atari-frosch.de) from /etc/letsencrypt/renewal/meet.atari-frosch.de.conf produced an unexpected error: Failed authorization procedure. meet.atari-frosch.de (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://meet.atari-frosch.de/.well-known/acme-challenge/$CODE [2a01:4f8:150:81e4::2]: "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>". Skipping.

Öhm. (mehr …)


Die verflixten 40 GB

Freitag, 16. Oktober 2020

Nachdem ich mir kürzlich mit ausführlicher Beteiligung von Murphy ein Testsystem gebaut hatte, war ich in den letzten Tagen unter anderem damit beschäftigt, an diesem System IDE-Festplatten zu testen. Nach ein paar Tests hatte ich dem Test-PC zusätzlich eine der kleineren bereits getesteten Festplatten eingebaut (IDE primary slave), um die genaueren Plattendaten abspeichern zu können. Die sollten auf Dauer in mein Hardware-Wiki wandern. Ein Teil davon sind mittlerweile auch schon drin.

Nun habe ich fast alle Platten durch, und irgendwann fiel auf, daß Platten einer bestimmten Größe grundsätzlich nicht vom BIOS erkannt werden, obwohl sie physisch laufen. Der Erkennungsprozeß kann auch nicht übersprungen werden; auf die entsprechende Taste (F4) reagiert das System nicht. Wenn ich ins BIOS gehe und dort explizit die IDE-Geräte checken lasse, passiert dasselbe: Die alleine an den Secondary IDE angehängte Festplatte wird nicht erkannt, der Erkennungsprozeß kann nicht abgebrochen werden. (mehr …)


Spaß mit alter Hardware

Freitag, 2. Oktober 2020

Da nach dem „Großen Aufräumen“ mit der Hilfe eines Angestellten wieder so einigermaßen Platz ist hier, konnte ich mich endlich daranmachen, die ganze alte Hardware, die sich hier stapelt, mal durchzutesten. Also, dachte ich. Aber Murphy* hatte wohl echt eine gute Woche gehabt und sich hier ausführlich ausgetobt.

Um Computerteile zu testen, die teils deutlich vor 2010 produziert worden waren, brauchte ich natürlich ein angemessen älteres System. Außerdem wollte ich das ganze gleich nochmal richtig inventarisieren, weil meine Liste auf der statischen Website hoffungslos veraltet ist und weil das arg unübersichtlich werden würde, wenn ich alles, was ich da noch nicht draufgepackt habe, da auch noch mit reinschreibe. Deshalb setzte ich mir erstmal als Zwischenziel, ein MediaWiki aufzusetzen. Denn da kann ich bei Rechnern direkt verlinken, welche Teile gerade darin verbaut sind, und die Teile selbst wiederum ausführlicher beschreiben – Fotos inclusive. Ja, und dann kam Murphy.

* Murphy's Law: Was schiefgehen kann, wird auch schiefgehen. (mehr …)


Spaß mit iptables

Donnerstag, 10. September 2020

Mit iptables kann man auf einem Linux-System festlegen, welche IP bzw. welche IP-Bereiche auf welche Ports bzw. überhaupt auf einen Host zugreifen dürfen. Nun hatte ich vor einiger Zeit festgestellt, daß es sozusagen Port-Sucher gibt, die – schön langsam, damit sie unterm Radar bleiben – nach und nach alles an denkbaren Ports an einem Host abklappern, um zu gucken, ob da vielleicht ein sshd läuft. Denn mittlerweile legt man den sshd nicht auf den üblichen Port 22, sondern auf einen anderen, meist einen so genannten hohen Port (> 1024).

Wenn diese Port-Sucher fündig werden, schicken sie eine ganze Ladung anderer Hosts los, um diesen sshd zu, ähm, belästigen. Das fand ich etwas störend, also wollte ich etwas dagegen unternehmen.

Zu diesem Zweck definierte ich eine Regel, die den Zugang auf den Port des sshd auf ein paar wenige IP-Adressen einschränkt. Auf diesen Server hier kommen seitdem nur noch die Hosts, auf denen ich selbst wiederum einen Shell-Zugang habe, und eben die IP, die mir mein ISP hier zu Hause zugewiesen hat. Praktischerweise schien die letztgenannte IP quasi-fest zu sein; ich meine, die hat sich seit zwei Jahren oder so nicht mehr geändert.

Von Montag auf Dienstag änderte sie sich nun doch. Und damit fing der Spaß an. (mehr …)


Spaß mit MediaWiki

Dienstag, 26. Mai 2020

Ein ziemlich altes Mediawiki (Version 1.22.x oder so) lag seit ca. 2,5 Jahren auf Eis und sollte wiederbelebt werden. Was bisher geschah:

  • Installation MediaWiki 1.34.1 (von der Mediawiki-Website)
  • Datenbank in MariaDB angelegt
  • SQL-Dump der alten Datenbank eingelesen, alles OK
  • nginx konfiguriert
  • Wiki im Browser aufgerufen
  • Konfigurationsanweisungen befolgt, dabei Admin-Account angelegt
  • LocalConfiguration.php erzeugt, runtergeladen, plaziert
  • Wiki aufgerufen, Login mit dem vorher erzeugten Admin-Account; Paßwort nicht akzeptiert
  • Option „Paßwort vergessen“ angeklickt; Mail taucht im mail.log nicht auf und kommt natürlich auch nicht an
  • in der Wiki-Benutzerübersicht nachgesehen: Der Account existiert nicht;
  • die Datenbank ist auch dieser Meinung.

(mehr …)


Spaß mit pymysql

Dienstag, 19. Mai 2020

Ihr kennt das ja schon, wenn ich „Spaß mit $irgendwas“ in die Überschrift schreibe, hat mal wieder was nicht funktioniert, wie es sollte oder wie ich mir das dachte. In diesem Fall gab's aber tatsächlich eine recht schnelle Lösung.

Kürzlich habe ich auf zwei Servern ein Upgrade auf Devuan Beowulf durchgezogen. Dann entdeckte ich jeweils im daemon.log Einträge, die mir gar nicht gefielen:

May 18 16:32:01 seelilie mysqld: 2020-05-18 16:32:01 1852 [Warning] Aborted connection 1852 to db: '[$zensiert]' user: '[$zensiert]' host: 'localhost' (Got an error reading communication packets)

Und das alle paar Minuten seit dem 14. Mai früh morgens. Die Auslöser dieser Meldungen waren aufgrund der Zeitstempel schnell gefunden: Zwei per cronjobs aufgerufene Python-Scripte von mir, mit denen ich aus den Datenbanken der ClassicPress-Installationen unterschiedliche Daten aus den Wordfence-Tabellen auslesen lasse. Das eine wird alle fünf Minuten aufgerufen und greift bei jedem Aufruf in alle konfigurierten Datenbanken, das andere wird getrennt nach Blogs ein- bis zweimal pro Tag aufgerufen.

Ein wirkliches Problem schien aber gar nicht vorzuliegen, denn die Scripte bekamen nach wie vor die gewünschten Daten. Trotzdem wollte ich die Meldungen nicht ignorieren; es könnte ja etwas sein, was erst einmal keine sichtbaren Probleme macht.

Allerdings fingen die Meldungen nicht erst mit dem jeweiligen Upgrade an, sondern bereits vorher. Das schien es erst einmal komplizierter zu machen. (mehr …)


IMAP-Inbox von Thunderbird fixen

Freitag, 24. April 2020

Eine Nutzerin hatte ein IMAP-Postfach bei einem Provider A, das sie aber gekündigt hatte. Dann änderte sie die Zugangsdaten des Postfachs auf ihren neuen Mailprovider B, statt für diesen ein neues Postfach anzulegen. Thunderbird fand auf dem neuen Server natürlich nicht mehr die bisherigen Mails vor und ging einfach mal davon aus, daß diese – auch die lokalen Kopien davon – nicht mehr relevant seien. Well, Thunderbird irrte.

(Das hätte mir übrigens auch passieren können; ich benutze ja ausschließlich POP3-Postfächer, und da geht sowas tatsächlich, denn bei POP3 braucht Thunderbird ja keine korrespondierenden Abbildungen auf dem Mailserver.)

Damit ich mir das genauer ansehen konnte, hat mir die Nutzerin ihr gesamtes Thunderbird-Verzeichnis geschickt. Nach einer kurzen Inspektion war klar: Thunderbird hat die gesamte Korrespondenz aus diesem IMAP-Postfach auch nochmal lokal gespeichert. Damit hatte ich gleich eine gute Nachricht: Verloren ist nichts, Thunderbird zeigt die E-Mails nur einfach nicht mehr an. (mehr …)