เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

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

ไฟล์จำนวนมากจะถูกรายงานว่าไม่รู้จักรูปแบบไฟล์ คำเตือนเหล่านี้สามารถละเว้นได้อย่างปลอดภัย คำเตือนเหล่านี้ระบุว่าไฟล์เหล่านี้เป็นสคริปต์แทนที่จะเป็นไบนารี


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: