OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

6.79. 再次剥离‌‌

本节是可选的。 如果目标用户不是程序员并且不打算对系统软件进行任何调试,则通过从二进制文件和库中删除调试符号,可以将系统大小减少约 90 MB。 除了无法再完全调试软件之外,这不会造成任何不便。

大多数使用下面提到的命令的人不会遇到任何困难。 但是,很容易打错字并使新系统无法使用,因此在运行之前 剥离 命令,最好备份 LFS 系统的当前状态。


首先将所选库的调试符号放在单独的文件中。 如果稍后在 BLFS 中运行使用 valgrind 或 gdb 的回归测试,则需要此调试信息。


save_lib="ld-2.30.so libc-2.30.so libpthread-2.30.so libthread_db-1.0.so" cd /lib

用于 $save_lib 中的 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"


光盘 /usr/lib


用于 $save_usrlib 中的 LIB; 做

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

用于 $save_lib 中的 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"


光盘 /usr/lib


用于 $save_usrlib 中的 LIB; 做

objcopy --only-keep-debug $LIB $LIB.dbg strip --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} -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 {} ';'

大量文件将被报告为无法识别其文件格式。 这些警告可以安全地忽略。 这些警告表明这些文件是脚本而不是二进制文件。


OnWorks 的顶级操作系统云计算: