<Anterior | Contenido | Siguiente>
6.79. Desnudándose de nuevo
Esta sección es opcional. Si el usuario previsto no es un programador y no planea realizar ninguna depuración en el software del sistema, el tamaño del sistema se puede reducir en unos 90 MB eliminando los símbolos de depuración de los archivos binarios y bibliotecas. Esto no causa ningún inconveniente más que no poder depurar el software por completo.
La mayoría de las personas que utilizan los comandos que se mencionan a continuación no experimentan ninguna dificultad. Sin embargo, es fácil cometer un error tipográfico e inutilizar el nuevo sistema, por lo que antes de ejecutar el tira comandos, es una buena idea hacer una copia de seguridad del sistema LFS en su estado actual.
Primero coloque los símbolos de depuración para las bibliotecas seleccionadas en archivos separados. Esta información de depuración es necesaria si se ejecutan pruebas de regresión que usan valgrind o gdb más adelante en BLFS.
save_lib = "ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd / lib
para LIB en $ save_lib; hacer
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-inneceseded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
done
save_usrlib = "libquadmath.so.0.0.0 libstdc ++. so.6.0.27 libitm.so.1.0.0 libatomic.so.1.2.0"
cd / usr / lib
para LIB en $ save_usrlib; hacer
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-inneceseded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
done
Desactivar LIB save_lib save_usrlib
save_lib = "ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd / lib
para LIB en $ save_lib; hacer
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-inneceseded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
done
save_usrlib = "libquadmath.so.0.0.0 libstdc ++. so.6.0.27 libitm.so.1.0.0 libatomic.so.1.2.0"
cd / usr / lib
para LIB en $ save_usrlib; hacer
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-inneceseded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
done
Desactivar LIB save_lib save_usrlib
Antes de realizar la eliminación, tenga especial cuidado para asegurarse de que ninguno de los binarios que están a punto de eliminarse se esté ejecutando:
exec / tools / bin / bash
exec / tools / bin / bash
Ahora los binarios y las bibliotecas se pueden eliminar de forma segura:
/ tools / bin / find / usr / lib -type f -name \ *. a \
-exec / tools / bin / strip --strip-debug {} ';'
/ tools / bin / find / lib / usr / lib -type f \ (-name \ *. so * -a! -name \ * dbg \) \
-exec / tools / bin / strip --strip-inneceseded {} ';'
/ tools / bin / find / {bin, sbin} / usr / {bin, sbin, libexec} -type f \
-exec / tools / bin / strip --strip-all {} ';'
/ tools / bin / find / usr / lib -type f -name \ *. a \
-exec / tools / bin / strip --strip-debug {} ';'
/ tools / bin / find / lib / usr / lib -type f \ (-name \ *. so * -a! -name \ * dbg \) \
-exec / tools / bin / strip --strip-inneceseded {} ';'
/ tools / bin / find / {bin, sbin} / usr / {bin, sbin, libexec} -type f \
-exec / tools / bin / strip --strip-all {} ';'
Se informará que un gran número de archivos no reconoce su formato de archivo. Estas advertencias se pueden ignorar con seguridad. Estas advertencias indican que esos archivos son scripts en lugar de binarios.