Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

6.79. Spogliarsi di nuovo

Questa sezione è facoltativa. Se l'utente previsto non è un programmatore e non prevede di eseguire alcun debug sul software di sistema, le dimensioni del sistema possono essere ridotte di circa 90 MB rimuovendo i simboli di debug da file binari e librerie. Ciò non causa alcun inconveniente, se non l'impossibilità di eseguire il debug completo del software.

La maggior parte delle persone che utilizzano i comandi menzionati di seguito non riscontrano alcuna difficoltà. Tuttavia, è facile commettere un errore di battitura e rendere inutilizzabile il nuovo sistema, quindi prima di eseguire il comando striscia comandi, è una buona idea effettuare un backup del sistema LFS nel suo stato attuale.


Innanzitutto, posizionare i simboli di debug per le librerie selezionate in file separati. Queste informazioni di debug sono necessarie se si eseguono test di regressione che utilizzano valgrind o gdb in un secondo momento in BLFS.


save_lib="ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd /lib

per LIB in $save_lib; fare

objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB

objcopy --add-gnu-debuglink=$LIB.dbg $LIB

fatto


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


per LIB in $save_usrlib; fare

objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB

objcopy --add-gnu-debuglink=$LIB.dbg $LIB

fatto


unset 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

per LIB in $save_lib; fare

objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB

objcopy --add-gnu-debuglink=$LIB.dbg $LIB

fatto


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


per LIB in $save_usrlib; fare

objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB

objcopy --add-gnu-debuglink=$LIB.dbg $LIB

fatto


unset LIB save_lib save_usrlib

Prima di eseguire lo stripping, accertarsi che nessuno dei file binari da strippare sia in esecuzione:


esegui /strumenti/bin/bash

esegui /strumenti/bin/bash

Ora i binari e le librerie possono essere rimossi in modo sicuro:


/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-unneeded {} ';'


/tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -tipo 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-unneeded {} ';'


/tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -tipo f \

-exec /tools/bin/strip --strip-all {} ';'

Un gran numero di file verrà segnalato come il cui formato non è riconosciuto. Questi avvisi possono essere ignorati senza problemi. Questi avvisi indicano che i file in questione sono script e non file binari.


Il miglior sistema operativo cloud computing su OnWorks: