6.79. Erneut ausziehen
Dieser Abschnitt ist optional. Wenn der beabsichtigte Benutzer kein Programmierer ist und nicht plant, die Systemsoftware zu debuggen, kann die Systemgröße um etwa 90 MB verringert werden, indem die Debugging-Symbole aus Binärdateien und Bibliotheken entfernt werden. Dies verursacht keine Unannehmlichkeiten, außer dass die Software nicht mehr vollständig debuggt werden kann.
Die meisten Benutzer, die die unten genannten Befehle verwenden, haben keine Schwierigkeiten. Es ist jedoch leicht, einen Tippfehler zu machen und das neue System unbrauchbar zu machen, also bevor Sie das ausführen abstreifen Befehle ist es sinnvoll, ein Backup des LFS-Systems in seinem aktuellen Zustand zu erstellen.
Platzieren Sie zunächst die Debugging-Symbole für ausgewählte Bibliotheken in separaten Dateien. Diese Debugging-Informationen werden benötigt, wenn später in BLFS Regressionstests ausgeführt werden, die Valgrind oder GDB verwenden.
save_lib="ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd /lib
für LIB in $save_lib; Tun
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
erledigt
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
für LIB in $save_usrlib; Tun
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
erledigt
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
für LIB in $save_lib; Tun
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
erledigt
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
für LIB in $save_usrlib; Tun
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
erledigt
unset LIB save_lib save_usrlib
Achten Sie vor dem Entfernen besonders darauf, dass keine der zu entfernenden Binärdateien ausgeführt wird:
exec /tools/bin/bash
exec /tools/bin/bash
Jetzt können die Binärdateien und Bibliotheken sicher entfernt werden:
/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} -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-unneeded {} ';'
/tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -type f
-exec /tools/bin/strip --strip-all {} ';'
Es wird gemeldet, dass bei einer großen Anzahl von Dateien das Dateiformat nicht erkannt wird. Diese Warnungen können getrost ignoriert werden. Diese Warnungen weisen darauf hin, dass es sich bei diesen Dateien um Skripte und nicht um Binärdateien handelt.