|
@@ -8,26 +8,36 @@
|
|
|
<sect1 id="ch-system-strippingagain">
|
|
|
<?dbhtml filename="strippingagain.html"?>
|
|
|
|
|
|
- <title>Stripping Again</title>
|
|
|
+ <title>再次移除调试符号</title>
|
|
|
|
|
|
- <para>This section is optional. If the intended user is not a
|
|
|
+ <!--para>This section is optional. If the intended user is not a
|
|
|
programmer and does not plan to do
|
|
|
any debugging on the system software, the system size can be decreased
|
|
|
by about 90 MB by removing the debugging symbols from binaries and
|
|
|
libraries. This causes no inconvenience other than not being able to
|
|
|
- debug the software fully anymore.</para>
|
|
|
+ debug the software fully anymore.</para-->
|
|
|
+ <para>本节是可选的。如果系统不是为程序员设计的,
|
|
|
+ 也没有调试系统软件的计划,可以通过从二进制程序和库移除调试符号,
|
|
|
+ 将系统的体积减小约 90 MB 。除了无法再调试全部软件外,
|
|
|
+ 这不会造成任何不变。</para>
|
|
|
|
|
|
- <para>Most people who use the commands mentioned below do not
|
|
|
+ <!--para>Most people who use the commands mentioned below do not
|
|
|
experience any difficulties. However, it is easy to make a typo and
|
|
|
render the new system unusable, so before running the
|
|
|
<command>strip</command> commands, it is a good idea to make a
|
|
|
- backup of the LFS system in its current state.</para>
|
|
|
+ backup of the LFS system in its current state.</para-->
|
|
|
+ <para>大多数使用以下命令的用户不会遇到什么困难,但如果打错了命令,
|
|
|
+ 很容易导致新系统无法使用。因此,在运行 <command>strip</command>
|
|
|
+ 命令前,最好将 LFS 系统的当前状态备份。</para>
|
|
|
|
|
|
- <para>First place the debugging symbols for selected libraries
|
|
|
+ <!--para>First place the debugging symbols for selected libraries
|
|
|
in separate files. This debugging information is needed if running
|
|
|
- regression tests that use <ulink
|
|
|
- url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
|
|
|
- url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS.
|
|
|
+ regression tests that use <ulink -->
|
|
|
+ <para>首先将一些库的调试符号保存在单独的文件中,在 BLFS 中,
|
|
|
+ 如果使用 <ulink
|
|
|
+ url='&blfs-book;/general/valgrind.html'>valgrind</ulink> 或 <ulink
|
|
|
+ url='&blfs-book;/general/gdb.html'>gdb</ulink> 运行退化测试,
|
|
|
+ 则需要这些调试信息的存在。
|
|
|
</para>
|
|
|
|
|
|
<!-- also of interest are libgfortan, libgo, libgomp, and libobjc from gcc -->
|
|
@@ -57,15 +67,19 @@ done
|
|
|
|
|
|
unset LIB save_lib save_usrlib</userinput></screen>
|
|
|
|
|
|
- <para>Before performing the stripping, take special care to ensure that
|
|
|
+ <!--para>Before performing the stripping, take special care to ensure that
|
|
|
none of the binaries that are about to be stripped are running. If
|
|
|
unsure whether the user entered chroot with the command given in
|
|
|
<xref linkend="ch-system-chroot" role=","/> first exit from
|
|
|
- chroot:</para>
|
|
|
+ chroot:</para-->
|
|
|
+ <para>在移除调试符号前,必须特别小心,
|
|
|
+ 保证没有需要移除调试符号的二进制程序还在运行。
|
|
|
+ 如果不确定是否使用 <xref linkend="ch-system-chroot"/>
|
|
|
+ 中的命令进入了 chroot 环境,首先退出 chroot 环境:</para>
|
|
|
|
|
|
<screen role="nodump"><userinput>logout</userinput></screen>
|
|
|
|
|
|
- <para>Then reenter it with:</para>
|
|
|
+ <para>然后再执行下列命令重新进入:</para>
|
|
|
|
|
|
<screen role="nodump"><userinput>chroot $LFS /tools/bin/env -i \
|
|
|
HOME=/root TERM=$TERM \
|
|
@@ -73,7 +87,16 @@ unset LIB save_lib save_usrlib</userinput></screen>
|
|
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
|
|
|
/tools/bin/bash --login</userinput></screen>
|
|
|
|
|
|
- <para>Now the binaries and libraries can be safely stripped:</para>
|
|
|
+ <note><title>译注</title>
|
|
|
+ <para>注意这里使用了 /tools/bin/bash 而不是 /bin/bash ,
|
|
|
+ 因为 /bin 中的 bash 二进制文件将会被移除调试符号。
|
|
|
+ 在 <xref linkend="ch-system-bash"/> 中我们执行了新编译的
|
|
|
+ /bin/bash ,因此必须退出 chroot 环境,再以 /tools/bin/bash
|
|
|
+ 为 shell 重新进入。之后使用的 /tools/bin/find 和
|
|
|
+ /tools/bin/strip 同理。</para>
|
|
|
+ </note>
|
|
|
+
|
|
|
+ <para>现在即可安全地移除程序和库的调试符号:</para>
|
|
|
|
|
|
<screen><userinput>/tools/bin/find /usr/lib -type f -name \*.a \
|
|
|
-exec /tools/bin/strip --strip-debug {} ';'
|
|
@@ -84,9 +107,11 @@ unset LIB save_lib save_usrlib</userinput></screen>
|
|
|
/tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
|
|
|
-exec /tools/bin/strip --strip-all {} ';'</userinput></screen>
|
|
|
|
|
|
- <para>A large number of files will be reported as having their file
|
|
|
+ <!--para>A large number of files will be reported as having their file
|
|
|
format not recognized. These warnings can be safely ignored. These
|
|
|
warnings indicate that those files are scripts instead of
|
|
|
- binaries.</para>
|
|
|
+ binaries.</para-->
|
|
|
+ <para>这里会有很多文件被报告为格式无法识别,这些警告可以安全地忽略。
|
|
|
+ 它们表明那些文件是脚本文件,而不是二进制文件。</para>
|
|
|
|
|
|
</sect1>
|