<Sebelum | Contents [show] | Seterusnya>
6.79. Melucutkan Lagi
Bahagian ini adalah pilihan. Jika pengguna yang dimaksudkan bukan pengaturcara dan tidak merancang untuk melakukan sebarang penyahpepijatan pada perisian sistem, saiz sistem boleh dikurangkan kira-kira 90 MB dengan mengalih keluar simbol penyahpepijatan daripada perduaan dan perpustakaan. Ini tidak menyebabkan kesulitan selain tidak dapat menyahpepijat perisian sepenuhnya lagi.
Kebanyakan orang yang menggunakan arahan yang dinyatakan di bawah tidak mengalami sebarang kesulitan. Walau bagaimanapun, adalah mudah untuk membuat kesilapan menaip dan menyebabkan sistem baharu tidak dapat digunakan, jadi sebelum menjalankan jalur arahan, adalah idea yang baik untuk membuat sandaran sistem LFS dalam keadaan semasanya.
Mula-mula letakkan simbol penyahpepijatan untuk perpustakaan terpilih dalam fail berasingan. Maklumat penyahpepijatan ini diperlukan jika menjalankan ujian regresi yang menggunakan valgrind atau gdb kemudian dalam BLFS.
save_lib="ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd /lib
untuk LIB dalam $save_lib; buat
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
dilakukan
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
untuk LIB dalam $save_usrlib; buat
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
dilakukan
nyahset 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
untuk LIB dalam $save_lib; buat
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
dilakukan
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
untuk LIB dalam $save_usrlib; buat
objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
dilakukan
nyahset LIB save_lib save_usrlib
Sebelum melakukan pelucutan, berhati-hati untuk memastikan tiada satu pun binari yang akan dilucutkan sedang berjalan:
exec /tools/bin/bash
exec /tools/bin/bash
Kini binari dan perpustakaan boleh dilucutkan dengan selamat:
/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 {} ';'
Sebilangan besar fail akan dilaporkan sebagai format failnya tidak dikenali. Amaran ini boleh diabaikan dengan selamat. Amaran ini menunjukkan bahawa fail tersebut adalah skrip dan bukannya binari.