6.61. 再度のストリップ

対象ユーザーがプログラマではなく、プログラム類をデバッグするような使い方をしないのであれば、実行ファイルやライブラリに含まれるデバッグシンボルを削除しても構いません。 そうすれば 90 MB ものサイズ削減を図ることができます。 たとえデバッグできなくなっても困らないはずです。

以下に示すコマンドは、いとも簡単なものです。 ただし入力つづりは簡単に間違いやすいので、もし誤った入力をするとシステムを利用不能にしてしまいます。 したがって strip コマンドを実行する前に、現時点の LFS システムのバックアップを取っておくことをお勧めします。

ストリップを実行する前には、ストリップしようとしている実行ファイルが実行中でないことを十分確認してください。 また 6.4. 「Chroot 環境への移行」 に示したコマンドにより chroot 環境に入っているかどうか定かでない場合は、 いったんログアウトしてください。

logout

再度 chroot 環境に入ります。

chroot $LFS /tools/bin/env -i \
    HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin \
    /tools/bin/bash --login

以下により実行バイナリやライブラリを安全にストリップします。

/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
  -exec /tools/bin/strip --strip-debug '{}' ';'

ファイルフォーマットが認識できないファイルがいくつも警告表示されますが、無視して構いません。 この警告は、処理したファイルが実行モジュールではなくスクリプトファイルであることを示しています。

ディスク容量が極端に少ない場合は /{,usr/}{bin,sbin} ディレクトリにある実行モジュールに対して --strip-all オプションを用いることもできます。 この場合さらに数 MB の容量を節約できます。 ただしこれをライブラリに対して用いてはなりません。 これを用いてしまうとライブラリが破壊されてしまいます。