mimencode w nowych wersjach RH/CentOSa

26 czerwca, 2012 (07:42) | centos, linux | By: konrad

Firma, jak firma. Używamy różnego oprogramowania, czasami bardzo nowoczesnego, a czasami „trochę starszego”. Czasami są to rozwiązania tak standardowe, że aż nudne, a czasami tak magiczne, że nie bardzo wiadomo, co z nimi zrobić – szczególnie, jak się popsują. Na moje nieszczęście w kilku miejscach działają konfiguracje jednocześnie stare (ze względu na zastosowane w nich rozwiązania) i magiczne, od których każdy stara się trzymać z daleka. Do tej pory szło nam nawet nieźle, aż tu nagle niespodzianka w postaci nowej wersji starego produktu. „Docelowo będzie to rozwiązane inaczej, ale teraz klient wymaga, więc musimy uruchomić tak, jak jest”. OK, nas klient nas Pan, ale trafiłem na drobną przeszkodę – do działania potrzebny jest tytułowy mimencode. Zgodnie z dokumentacją, „By default, mimencode reads standard input, and sends a ‚base64′ encoded version of the input to standard output.” Hmmm, niby można to zrobić np. w PERLu za pomocą kliku linijek, ale producent się uparł, że ma być binarka i już.

Kiedyś program ten dostępny był w pakiecie „metamail”, ale – z niewiadomych mi przyczyn – pakietu już nie produkują. Na początku przyszedł mi do głowy pomysł skompilowania tego cudaka ze źródeł. Ale nie jest to rozwiązanie optymalne, bo akurat nie miałem pod ręką żadnego systemu z odpowiednim kompilatorem i wszystkimi wymaganymi biliotekami, a instalowanie tego wszystkiego było ponad moje siły. Szczególnie, że to przecież „tylko na chwilę”.

Spróbowałem trochę inaczej: skoro kiedyś metamail był dostępny, to dlaczego nie wykorzystać paczki z jakieś starej wersji RedHata (z czasów, kiedy był jeszcze darmowy). Mój wybór – zupełnie przypadkowo – padł na wersję 2.7.28 (a konkretnie na paczkę). Instalowanie takiego dinozaura w systemie nie wydaje mi się najszczęśliwszym posunięcięm, ale przecież RPMy to tak właściwie archiwa z plikami i kilka skryptów, więc wypakowałem sobie potrzebny mi program do /usr/local/bin i sprawdziłem, czego tak właściwie wymaga:

[kbechler@kali ~]$ ldd /usr/local/bin/mimencode
        linux-gate.so.1 =>  (0xf770c000)
        libc.so.6 => /lib/libc.so.6 (0xf757a000)
        /lib/ld-linux.so.2 (0xf770d000)
[kbechler@kali ~]$

Jak widać, prawie niczego. Zadziałało, więc niech sobie „na chwilę” zostanie…

Trackback URL: http://konrad.bechler.pl/2012/06/mimencode-w-nowych-wersjach-rhcentosa/trackback/

«

»

Write a comment





*