OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<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.


Pengkomputeran Awan OS teratas di OnWorks: