Página 1 de 1

Script para copiar dependencias (libs) de un programa

NotaPublicado: Lun Mar 04, 2013 4:41 pm
por Felix
Hola necesito copiar todas las librerías de un programa a un directorio,
voy a la terminal y pongo:
Código: Seleccionar todo
ldd "ruta del programa"

y me aparece una lista con todas las librerías del programa.
Y yo quiero un script que me copie todas las librerías a un directorio automáticamente.
Alguien que sepa como hacerlo por favor dígamelo.

Re: Script para copiar dependencias (libs) de un programa

NotaPublicado: Lun Mar 04, 2013 7:33 pm
por 163gal
Hice un pequeño script en Python que usa mucho de bash:
Código: Seleccionar todo
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import commands, os, sys
if not "lib" in os.listdir("."):
 os.mkdir("lib")
libs = commands.getoutput("echo `ldd %s | awk '{print $1}'`" % sys.argv[1]).split(" ")
for lib in libs:
 if not lib in os.listdir("lib"):
  dirs = commands.getoutput("find / -name \"%s\" 2> /dev/null" % lib).split("\n")[0]
  if len(dirs) >= 1:
   os.system("cp %s lib" % dirs)

Guárdalo como libs.py por ejemplo, dale permisos de ejecución con:
Código: Seleccionar todo
chmod +x libs.py

Haz:
Código: Seleccionar todo
./libs.py ejecutable

Y tendrás todas las librerías que encuentre que use ejecutable en una carpeta llamada lib.

Nota: Puede dejarte demasiadas librerías si es un programa grande.

Re: Script para copiar dependencias (libs) de un programa

NotaPublicado: Lun Mar 04, 2013 8:04 pm
por Felix
:o Graxias! sos un genio ;) funciona perfecto. :D