<ก่อนหน้านี้ | เนื้อหา | ถัดไป>
6.79. การปอกอีกครั้ง
ส่วนนี้เป็นทางเลือก หากผู้ใช้ที่ต้องการไม่ใช่โปรแกรมเมอร์และไม่ได้วางแผนที่จะทำการดีบักใดๆ บนซอฟต์แวร์ระบบ ขนาดของระบบสามารถลดลงได้ประมาณ 90 MB โดยการลบสัญลักษณ์การดีบักออกจากไบนารีและไลบรารี สิ่งนี้ทำให้เกิดความไม่สะดวกนอกเหนือจากการไม่สามารถดีบักซอฟต์แวร์ได้อย่างเต็มที่อีกต่อไป
คนส่วนใหญ่ที่ใช้คำสั่งที่กล่าวถึงด้านล่างจะไม่ประสบปัญหาใดๆ อย่างไรก็ตาม มันง่ายที่จะพิมพ์ผิดและทำให้ระบบใหม่ใช้ไม่ได้ ดังนั้นก่อนที่จะเรียกใช้ เพิก คำสั่ง เป็นความคิดที่ดีที่จะสำรองข้อมูลระบบ LFS ในสถานะปัจจุบัน
อันดับแรก ให้วางสัญลักษณ์การดีบักสำหรับไลบรารีที่เลือกไว้ในไฟล์แยกกัน ข้อมูลการดีบักนี้จำเป็นหากเรียกใช้การทดสอบการถดถอยที่ใช้ valgrind หรือ gdb ในภายหลังใน BLFS
save_lib="ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd /lib
สำหรับ LIB ใน $save_lib; ทำ
objcopy --only-keep-debug $LIB $LIB.dbg แถบ --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
ทำ
save_usrlib="libquadmath.so.0.0.0 libstdc++.so.6.0.27 libitm.so.1.0.0 libatomic.so.1.2.0"
ซีดี /usr/lib
สำหรับ LIB ใน $save_usrlib; ทำ
objcopy --only-keep-debug $LIB $LIB.dbg แถบ --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
ทำ
ยกเลิกการตั้งค่า 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
สำหรับ LIB ใน $save_lib; ทำ
objcopy --only-keep-debug $LIB $LIB.dbg แถบ --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
ทำ
save_usrlib="libquadmath.so.0.0.0 libstdc++.so.6.0.27 libitm.so.1.0.0 libatomic.so.1.2.0"
ซีดี /usr/lib
สำหรับ LIB ใน $save_usrlib; ทำ
objcopy --only-keep-debug $LIB $LIB.dbg แถบ --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
ทำ
ยกเลิกการตั้งค่า LIB save_lib save_usrlib
ก่อนทำการปอก ให้ระมัดระวังเป็นพิเศษเพื่อให้แน่ใจว่าไม่มีไบนารีที่กำลังจะถอดออก:
ผู้บริหาร /tools/bin/bash
ผู้บริหาร /tools/bin/bash
ตอนนี้สามารถถอดไบนารีและไลบรารีได้อย่างปลอดภัย:
/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} -พิมพ์ 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} -พิมพ์ f \
-exec /tools/bin/strip --strip-all {} ';'
ไฟล์จำนวนมากจะถูกรายงานว่าไม่รู้จักรูปแบบไฟล์ คำเตือนเหล่านี้สามารถละเว้นได้อย่างปลอดภัย คำเตือนเหล่านี้ระบุว่าไฟล์เหล่านี้เป็นสคริปต์แทนที่จะเป็นไบนารี