7.13. 一時的システムのクリーンアップと保存

7.13.1. クリーンアップ

はじめに、現在インストールされているドキュメントファイルは削除します。 これを最終的なシステムに持ち込みません。 これによって 35 MB を節約します。

rm -rf /usr/share/{info,man,doc}/*

最近の Linux システムにおいて libtool の .la ファイルは、libltdl に対してのみ用いられます。 LFS 内のライブラリは、libltdl によってロードされるものは一つもありません。 これらのライブラリによって BLFS パッケージのビルドに失敗することが分かっています。 そこでそのようなファイルをここで削除します。

find /usr/{lib,libexec} -name \*.la -delete

現在のシステムサイズは、およそ 3 GB になりました。 そして /tools ディレクトリは、もう必要がありません。 ディスク容量は 1 GB 近くを占めています。 ここで削除します。

rm -rf /tools

7.13.2. バックアップ

この時点において、基本的なプログラムやライブラリが生成されたので、現在の LFS システムの状態は良好なものです。 このシステムを、後に再利用できるように、ここでバックアップを取ることができます。 ここから先の章において、致命的な失敗をしてしまった場合は、すべてを削除して (今度はより慎重に) やり直すのが、一番のやり方であるのは明らかです。 ただし、そのときには一時システムも失ってしまっている状態です。 余計な時間を費やすことなく、ビルドに成功したところまでのシステムを使ってやり直す策を考えるのであれば、ここで LFS システムのバックアップをとっておくことが、後々の役に立つかもしれません。

[注記]

注記

本節の残りの作業は必須ではありません。 ただし 第 8 章 においてパッケージのインストールを始めていくと、一時的ツールは上書きされていきます。 そこで以下に示すように、現時点でのシステムのバックアップをとっておくのが良いでしょう。

以下の手順は chroot 環境の外から実施します。 これはつまり chroot 環境から抜け出してから手順を進めていくということです。 こうする理由は、バックアップアーカイブの保存や読み込みをするなら、ファイルシステムへのアクセスは chroot 環境の外部から行うべきであって、$LFS ディレクトリ階層の内部において行うべきではないからです。

バックアップを取ることにしているのであれば、 ここで chroot 環境から抜け出ます。

exit
[重要]

重要

以降の手順はすべて、ホストシステム上の root ユーザーにより実施します。 特にコマンド実行は、よく注意しながら行ってください。 誤ったことをすると、ホストシステムを書き換えてしまうことになります。 環境変数 LFS はデフォルトで lfs ユーザーにおいて設定していましたが、root ユーザーにおいては設定していないかもしれません。

root ユーザーによってコマンド実行する際にも、必ず LFS が設定されていることを確認してください。

このことは 「変数 $LFS の設定」 において説明済です。

バックアップを取る前には、仮想ファイルシステムをアンマウントします。

mountpoint -q $LFS/dev/shm && umount $LFS/dev/shm
umount $LFS/dev/pts
umount $LFS/{sys,proc,run,dev}

バックアップアーカイブを生成したディレクトリを含むファイルシステムにおいて、未使用のディスク容量が最低でも 1 GB はあることを確認してください。 (ソース tarball もバックアップアーカイブに含めます。)

なお、これ以降の手順説明においては、ホストシステム上の root ユーザーのホームディレクトリを用いています。 これは通常、ルートファイルシステムに置かれているものです。 root ユーザーのホームディレクトリにバックアップを生成したくない場合は、$HOME の内容を適切に書き換えてください。

バックアップアーカイブを生成するために、以下のコマンドを実行します。

[注記]

注記

バックアップアーカイブは圧縮するので、かなりの高速なシステムを利用していても、比較的長い時間 (10 分以上) を要します。

cd $LFS
tar -cJpf $HOME/lfs-temp-tools-12.1-systemd.tar.xz .
[注記]

注記

第 8 章を続けるのであれば、以降に示す重要の説明のように、chroot 環境に再度入ることを忘れないでください。

7.13.3. 復元

誤操作をしてしまい、初めからやり直す必要が出てきたとします。 そんなときは上のバックアップを復元し、すばやく回復させることにしましょう。 $LFS 配下にソースも配置することにしているので、バックアップアーカイブ内にはそれらも含まれています。 したがって再度ダウンロードする必要はありません。 $LFS が適切に設定されていることを再度確認した上で、バックアップの復元を行うための以下のコマンドを実行します。

[警告]

警告

以下に示すコマンドは相当に危険です。 root ユーザーになって rm -rf ./* を実行する際に、$LFS ディレクトリに移動していない、あるいは環境変数 LFS を設定していないとしたら、システム全体を破壊することになります。 厳に警告しておきます。

cd $LFS
rm -rf ./*
tar -xpf $HOME/lfs-temp-tools-12.1-systemd.tar.xz

環境変数が適切に設定されていることを再度確認の上、ここから続くシステムビルドに進んでいきます。

[重要]

重要

chroot 環境から抜け出して、バックアップの生成を行った場合、あるいはビルド作業を再開する場合は、「仮想カーネルファイルシステムの準備」 において説明している、カーネル仮想ファイルシステムがマウントされていることを確認してください (findmnt | grep $LFS)。 もしマウントされていなかったら、マウントを行ってから、再び chroot 環境に入るようにしてください(「Chroot 環境への移行」 参照)。