OnWorks Linux ແລະ Windows Online WorkStations

Logo

ໂຮດຕິ້ງອອນໄລນ໌ຟຣີສໍາລັບ WorkStations

<Previous | ເນື້ອໃນ | ຕໍ່ໄປ>

6.79. ລອກ​ອອກ​ອີກ

ພາກສ່ວນນີ້ແມ່ນທາງເລືອກ. ຖ້າຜູ້ໃຊ້ທີ່ຕັ້ງໃຈບໍ່ແມ່ນນັກຂຽນໂປລແກລມແລະບໍ່ໄດ້ວາງແຜນທີ່ຈະເຮັດການດີບັກໃດໆກ່ຽວກັບຊອບແວລະບົບ, ຂະຫນາດຂອງລະບົບສາມາດຫຼຸດລົງປະມານ 90 MB ໂດຍການເອົາສັນຍາລັກການດີບັກອອກຈາກຖານສອງແລະຫ້ອງສະຫມຸດ. ອັນນີ້ເຮັດໃຫ້ເກີດຄວາມບໍ່ສະດວກນອກຈາກບໍ່ສາມາດດີບັກຊອບແວໄດ້ຢ່າງເຕັມສ່ວນອີກຕໍ່ໄປ.

ຄົນສ່ວນໃຫຍ່ທີ່ໃຊ້ຄໍາສັ່ງທີ່ໄດ້ກ່າວມາຂ້າງລຸ່ມນີ້ບໍ່ໄດ້ປະສົບກັບຄວາມຫຍຸ້ງຍາກໃດໆ. ຢ່າງໃດກໍ່ຕາມ, ມັນງ່າຍທີ່ຈະເຮັດໃຫ້ການພິມຜິດແລະເຮັດໃຫ້ລະບົບໃຫມ່ບໍ່ສາມາດໃຊ້ງານໄດ້, ດັ່ງນັ້ນກ່ອນທີ່ຈະດໍາເນີນການ ອອກ ຄໍາສັ່ງ, ມັນເປັນຄວາມຄິດທີ່ດີທີ່ຈະເຮັດການສໍາຮອງຂໍ້ມູນຂອງລະບົບ LFS ໃນສະຖານະປັດຈຸບັນຂອງຕົນ.


ທໍາອິດວາງສັນຍາລັກດີບັກສໍາລັບຫ້ອງສະຫມຸດທີ່ເລືອກໃນໄຟລ໌ແຍກຕ່າງຫາກ. ຂໍ້​ມູນ​ການ​ແກ້​ໄຂ​ນີ້​ແມ່ນ​ຈໍາ​ເປັນ​ຖ້າ​ຫາກ​ວ່າ​ການ​ດໍາ​ເນີນ​ການ​ທົດ​ສອບ regression ທີ່​ໃຊ້ 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 --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"


cd /usr/lib


ສໍາລັບ LIB ໃນ $save_usrlib; ເຮັດ

objcopy --only-keep-debug $LIB $LIB.dbg strip --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 --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"


cd /usr/lib


ສໍາລັບ LIB ໃນ $save_usrlib; ເຮັດ

objcopy --only-keep-debug $LIB $LIB.dbg strip --strip-unneeded $LIB

objcopy --add-gnu-debuglink=$LIB.dbg $LIB

ເຮັດ


ບໍ່ໄດ້ຕັ້ງ LIB save_lib save_usrlib

ກ່ອນທີ່ຈະປະຕິບັດການລອກເອົາ, ຈົ່ງລະມັດລະວັງເປັນພິເສດເພື່ອຮັບປະກັນວ່າບໍ່ມີສອງຄູ່ທີ່ກໍາລັງຈະຖືກຖອດອອກແມ່ນແລ່ນ:


exec /tools/bin/bash

exec /tools/bin/bash

ໃນປັດຈຸບັນ binaries ແລະຫ້ອງສະຫມຸດສາມາດຖືກຖອດອອກໄດ້ຢ່າງປອດໄພ:


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

ໄຟລ໌ຈໍານວນຫຼວງຫຼາຍຈະຖືກລາຍງານວ່າມີຮູບແບບໄຟລ໌ຂອງເຂົາເຈົ້າບໍ່ຮັບຮູ້. ຄຳເຕືອນເຫຼົ່ານີ້ສາມາດຖືກລະເລີຍຢ່າງປອດໄພ. ການເຕືອນໄພເຫຼົ່ານີ້ຊີ້ໃຫ້ເຫັນວ່າໄຟລ໌ເຫຼົ່ານັ້ນເປັນ scripts ແທນທີ່ຈະເປັນ binary.


OS Cloud Computing ຍອດນິຍົມຢູ່ OnWorks: