View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Ejecutar programas de diferente libc/ld-linux (p.ej. de sarge un potato)

Las instrucciones originales son estas.

Se trata de poner el LD_LIBRARY_PATH a donde esté la libc.so.6 y después llamar al ejecutable usando como wrapper el ld-linux.so.2 que queremos que se use. Por ejemplo, si se tiene la sarge instalada en /usr/local/lib/sarge, para ejecutar el xpdf se haría:

$ LD_LIBRARY_PATH=/usr/local/lib/sarge/lib:/usr/local/lib/sarge/usr/lib /usr/local/lib/sarge/lib/ld-linux.so.2 /usr/local/lib/sarge/usr/bin/xpdf.bin

Ejemplo: poner el xpdf de sarge en potato


  1. Se instala en /usr/local/lib/sarge una sarge usando deboootstrap y se instala en él el xpdf
  2. Se hacen enlaces a los recursos que necesita el xpdf para funcionar en potato
    # install -d /usr/share/fonts/
    # ln -s /usr/local/lib/sarge/usr/share/fonts/type1/ /usr/share/fonts/type1/
    # ln -s /usr/local/lib/sarge/etc/xpdf /etc/xpdf
  3. Se hace un script para arrancarlo, en /usr/local/bin/xpdf:
    #!/bin/sh
    LANG=C
    LC_ALL=C
    export LANG LC_ALL
    LD_LIBRARY_PATH=/usr/local/lib/sarge/lib:/usr/local/lib/sarge/usr/lib /usr/local/lib/sarge/lib/ld-linux.so.2 /usr/local/lib/sarge/usr/bin/xpdf.bin "$@"
  4. Por último, se le da permisos de ejecución al script:
    # chmod a+x /usr/local/bin/xpdf
  5. Y ya está :-).

La ventaja de hacerlo así es poder ejecutar el xpdf sin necesidad de usar un chroot, y por lo tanto, accediendo a todo el árbol de directorios del sistema y no sólo al de "sarge".