<Anterior | Conteúdo | Próxima>
6.79. Despir de novo
Esta seção é opcional. Se o usuário pretendido não for um programador e não planeja fazer nenhuma depuração no software do sistema, o tamanho do sistema pode ser reduzido em cerca de 90 MB removendo os símbolos de depuração dos binários e bibliotecas. Isso não causa nenhum inconveniente além de não ser mais capaz de depurar o software completamente.
A maioria das pessoas que usa os comandos mencionados a seguir não experimenta nenhuma dificuldade. No entanto, é fácil cometer um erro de digitação e tornar o novo sistema inutilizável, portanto, antes de executar o tira comandos, é uma boa idéia fazer um backup do sistema LFS em seu estado atual.
Primeiro coloque os símbolos de depuração para bibliotecas selecionadas em arquivos separados. Essas informações de depuração são necessárias se estiver executando testes de regressão que usam valgrind ou gdb posteriormente no BLFS.
save_lib = "ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd / lib
para LIB em $ save_lib; Faz
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-unneeded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
feito
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 em $ save_usrlib; Faz
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-unneeded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
feito
não definir 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 em $ save_lib; Faz
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-unneeded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
feito
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 em $ save_usrlib; Faz
objcopy --only-keep-debug $ LIB $ LIB.dbg strip --strip-unneeded $ LIB
objcopy --add-gnu-debuglink = $ LIB.dbg $ LIB
feito
não definir LIB save_lib save_usrlib
Antes de realizar a remoção, tome cuidado especial para garantir que nenhum dos binários que estão prestes a ser removidos estejam em execução:
exec / tools / bin / bash
exec / tools / bin / bash
Agora, os binários e bibliotecas podem ser removidos com segurança:
/ tools / bin / find / usr / lib -tipo f -nome \ *. a \
-exec / tools / bin / strip --strip-debug {} ';'
/ tools / bin / find / lib / usr / lib -tipo f \ (-nome \ *. so * -a! -nome \ * dbg \) \
-exec / tools / bin / strip --strip-unneeded {} ';'
/ tools / bin / find / {bin, sbin} / usr / {bin, sbin, libexec} -tipo f \
-exec / tools / bin / strip --strip-all {} ';'
/ tools / bin / find / usr / lib -tipo f -nome \ *. a \
-exec / tools / bin / strip --strip-debug {} ';'
/ tools / bin / find / lib / usr / lib -tipo f \ (-nome \ *. so * -a! -nome \ * dbg \) \
-exec / tools / bin / strip --strip-unneeded {} ';'
/ tools / bin / find / {bin, sbin} / usr / {bin, sbin, libexec} -tipo f \
-exec / tools / bin / strip --strip-all {} ';'
Um grande número de arquivos será relatado como tendo seu formato de arquivo não reconhecido. Esses avisos podem ser ignorados com segurança. Esses avisos indicam que esses arquivos são scripts em vez de binários.