Script para copiar dependencias (libs) de un programa

De todo un poco, como en botica

Script para copiar dependencias (libs) de un programa

Notapor Felix » Lun Mar 04, 2013 4:41 pm

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.
Avatar de Usuario
Felix
 
Mensajes: 84
Registrado: Vie Sep 17, 2010 5:49 pm

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

Notapor 163gal » Lun Mar 04, 2013 7:33 pm

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.
Saludos, 163gal.
Avatar de Usuario
163gal
 
Mensajes: 482
Registrado: Dom Oct 24, 2010 3:42 pm
Ubicación: Prado, Montevideo

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

Notapor Felix » Lun Mar 04, 2013 8:04 pm

:o Graxias! sos un genio ;) funciona perfecto. :D
Avatar de Usuario
Felix
 
Mensajes: 84
Registrado: Vie Sep 17, 2010 5:49 pm


Volver a TEMAS VARIOS

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 22 invitados