[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Spass mit gdbm files beim Umzug von i386 auf amd64
[Thread Prev] | [Thread Next]
- Subject: Spass mit gdbm files beim Umzug von i386 auf amd64
- From: Raphael Eiselstein <rabe@xxxxxxxxx>
- Date: Mon, 4 Feb 2013 23:54:32 +0100
- To: uugrn@xxxxxxxxxxxxxxx
Hi zusammen, nur damit es bei google jemand findet. Ich habe hypermail (das ist dieses praehistorische Tool, mit dem der Inhalt *dieser* Mailingliste unter http://lists.uugrn.org/uugrn/ archiviert wird) auf den neuen Server gepackt und hatte dort zunaechst arge Probleme, weil "hypermail" beim Zugriff auf seinen Index mit 100% CPU losgelaufen ist so lange bis procmail das tool wegen timeout gekillt hat. Ziemlich ekliges Phaenomen. Ursachenforschung. Intern basiert das Tool auf einem index-File, mit dem das Archiv inkrementell erweitert wird: .hm2index: GNU dbm 1.x or ndbm database, little endian Nach dem Umzug von einem i386 System auf ein amd64 System klappte der Zugriff auf das file nicht mehr. (hier amd64): /usr/local/bin/hypermail: libgdbm.so.4 => /usr/local/lib/libgdbm.so.4 (0x80085e000) libm.so.5 => /lib/libm.so.5 (0x800a65000) libpcre.so.3 => /usr/local/lib/libpcre.so.3 (0x800c86000) libc.so.7 => /lib/libc.so.7 (0x800ee4000) libthr.so.3 => /lib/libthr.so.3 (0x801237000) Das Package, aus dem /usr/local/lib/libgdbm.so.4 herausgefallen ist, enthaelt auch ein tool namens "testgdbm". Damit kann man einfache operationen auf diesem dbm-File ausfuehren, zB --------------------------------------------- $ testgdbm -r -g /data/www/lists.uugrn.org/htdocs/uugrn/.hm2index.neu Welcome to the gdbm test program. Type ? for help. testgdbm> c There are 16391 items in the database. --------------------------------------------- Das Problem: Greift man damit auf ein i386-file zu, dann passiert folgendes: --------------------------------------------- $ testgdbm -r -g /old/data/www/lists.uugrn.org/htdocs/uugrn/.hm2index Welcome to the gdbm test program. Type ? for help. testgdbm> c Segmentation fault: 11 (core dumped) --------------------------------------------- Das ist natuerlich ziemlicher Schrott!! Gluecklicherweise: Das testgdbm-Tool auf einem i386-System kann die alte Datei noch oeffnen und *exportieren*. Dabei wird so eine Art Flatfile-Dump erzeugt. Dieser laesst sich dann auf dem amd64-System in eine neue (frisch angelegte) Datei reimportieren: --------------------------------------------------------- testgdbm -n -g /data/www/lists.uugrn.org/htdocs/uugrn/.hm2index.neu Welcome to the gdbm test program. Type ? for help. testgdbm> i /tmp/foo.0 testgdbm> c There are 16391 items in the database. testgdbm> ^D --------------------------------------------------------- Und das war schon die ganze Loesung, wie sich das hypermail-Archiv von i386 auf amd64 uebertragen liess. Ganz einfach, wenn man mal drauf kommt. Vermutlich sind wir die allerletzten, die noch hypermail einsetzen und niemand wird sich je dafuer interessieren. Aber vielleicht gibt es noch andere Schrott-Software, die architekturabhaengige gdbm-Files einsetzen und hierfuer sollte obiges Verfahren dann analog funktionieren. Viele Gruesse Raphael -- Raphael Eiselstein <rabe@xxxxxxxxx> http://rabe.uugrn.org/ xmpp:freibyter@xxxxxx | https://www.xing.com/profile/Raphael_Eiselstein GnuPG: E7B2 1D66 3AF2 EDC7 9828 6D7A 9CDA 3E7B 10CA 9F2D .........|.........|.........|.........|.........|.........|.........|.. -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/