Konsequenz der Bequemlichkeit

Oh oh, dachte ich heut Nachmittag, als ich versuchte, meinen Passwort-Safe zu öffnen. Den hatte ich seit einiger Zeit nicht mehr angefasst, genauer gesagt, seit der Umstellung des Systems von 32 auf 64 Bit. Eigentlich ist das – im theoretischen Idealfall – kein Problem, weil das System trotz breiterer Architektur bei Vorhandensein der 32Bit-Bibliotheken auch 32Bit-Programme ausführen kann. Die hatte ich vermutlich bis vor kurzem auch noch auf der Platte und es wäre mir wahrscheinlich gar nicht aufgefallen, vielleicht etwas Gejammer wegen fehlender Bibliotheken, aber es wäre noch möglich gewesen. Durch einen unsachgemäßen Eingriff hab ich aber den Paketmanager vor ein paar Wochen dazu gezwungen, aus dem eigentlich inkonsistenten Zustand (Unmengen an alten 32Bit-Paketen waren noch auf der Platte, aber das Paketsystem sah sie nicht mehr) wieder einen konsistenten Zustand zu machen. Das hatte das Entfernen von reichlich 1200 Paketen zur Folge, u.a. auch das für diesen Artikel ursächliche. Leider geht Nachinstallieren für x86_64 auch nicht mehr, da das Paket gar nicht mehr im Debian-Paketsystem geführt wird. Da ist guter Rat teuer.

Glücklicherweise finden sich im Netz noch die originalen Quellen (2010 das letzte Lebenszeichen) auf github. Und in meiner nicht-mehr-ganz-so-jugendlichen Naivität dachte ich natürlich, dass ein Übersetzen der Quellen mit dem aktuellen System kein Problem sein sollte und mich zum Öffnen des Safes befähigen müsste. (Der geneigte Leser mag sich die Fortsetzung dieses Gedankengangs kurz selbst ausmalen.) Es ging natürlich nicht. Obwohl das Binärformat des Safes in einer Definition festgeschrieben ist und eigentlich unabhängig von der verwendeten Architektur sein müsste, ließ sich die Datei nicht öffnen, schlimmer noch, das Programm verstarb geräuschvoll mit SEGFAULT bei jedem Versuch.

Jetzt bleiben noch ein paar Möglichkeiten, bevor ich mir den Kopf zerbrechen muss, was an wichtigen Daten da drin stand, die ich unter Umständen nicht wieder zurück bekomme. Ein Übersetzen mit debug-Informationen, um überhaupt erstmal die Ursache des Fehlers beim Öffnen zu finden. Das wird nicht leicht, da make mit gesetztem DEBUG eine metrische Tonne an Fehlermeldungen ausspuckt. Eine andere Möglichkeit wäre ein cross compile für 32 Bit, was vermutlich am Alter der beteiligten Bibliotheken scheitern wird. Und der letzte Akt ist das Aufsetzen einer 32Bit-VM und das Übersetzen des Programms da drin. Auch nicht unbedingt ein Garant für guten Schlaf. Die nächsten Tage werden es zeigen.