Hola Visitante

Autor Tema: Ganar espacio en linux: stripping  (Leído 1619 veces)

Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Ganar espacio en linux: stripping
« en: Octubre 04, 2011, 07:02:38 pm »
Como algunos sabran un livecd se caracteriza porque debe caber en un CD, valga la redundancia pues bien, esta oracion tan trivial conlleva un serio problema a la hora de crear dicho sistema ya que hay que elegir cuidadosamente el software a incluir que no se pase del cd standar (700Mb) por ello se inventaron los liveUSB y los liveDVD pero estan sujetas a las mismas leyes, no deben pasar de un cierto volumen de datos.

Como ya sabran Segun Shanon la cantidad de información se mide mediante la entropia en bits, por lo tanto nuestro objetivo es quitar todo aquello que sobre, de la cantidad de informacion propiamente dicha, una para ello lo que debemos hacer es eliminar todo aquello que no aporte informacion relevante.

Hoy os hablare del desconocido \"strip\" es un \"util\" que viene con las herramientas de compilacion (no recuerdo si con gcc o con binutils). Este pequeño programa escanea binarios en busca de informacion de \"debug\" y otros símbolos que para un usuario normal es inútil y no aporta nada. Esto tiene conotaciones en el tamaño del sistema.

A este problema me he enfrentado ultimamente con el equipo de desarrollo actual de wifiway, que como yo hasta hace poco desconocia el uso de strip.

En debian no ocurre así ya que los .deb qiue se instalan se instalan directamente con la orden \"install -s\" que hace exactamente lo que os mostrare a continuacion:
Este codigo está basado en un script mío y lo ha aaptado alist3r:

Código: (bash) [Seleccionar]
#!/bin/bash
if [ $# -lt 1 ]; then echo \"Error: debe indicar la ruta a un directorio\"; exit 1; fi
DIR=$1
find $DIR/{,usr/,usr/local/}{bin,sbin} -type f -print -exec strip --strip-debug --strip-all '{}' ';'
find $DIR/{,usr/,usr/local/}lib            -type f -print -exec strip --strip-debug               '{}' ';'
exit 0


modo de uso: ./miscript /ruta/que/stripar

Un dato mas,. no lo ejecuteis en caliente ya que puede crashear el sistema, si quereis stripear vuestro sistema por completo hacedlo desde un livecd o un liveusb.

En mis pruebas he llegado a reducir un 20% el tamaño de una iso  :-)