GNU/Linux >> Linux の 問題 >  >> Linux

Bitbake ビルドはより多くのスペースを消費します

有効性と修正の容易さの順:

  • 追加のディスク容量を購入: 独自の SSD に $TMPDIR を配置すると、非常に役立ち、マイクロ管理の必要がなくなります。
  • $TMPDIR (ビルド/tmp) を削除: 古いイメージ、古いパッケージ、および現在ビルドしていない MACHINE の作業ディレクトリ/sysroot が蓄積され、かなりのスペースが必要になる可能性があります。通常、$TMPDIR 全体を時々削除するだけで済みます。sstate-cache を使用している限り、次のビルドはかなり高速です。
  • $SSTATE_DIR (build/sstate-cache) を削除: 多くのビルドを行うと、sstate 自体が時間の経過とともに蓄積されます。ディレクトリを削除しても安全ですが、次のビルドではすべてが再ビルドされるため、時間がかかります。
  • $DL_DIR を削除 (ビルド/ダウンロード): ビルド ディレクトリを長時間 (マスターから更新をプルしたり、新しいブランチに変更したりしながら) 使用すると、古いダウンロードによってディスク領域が占有され続けます。ディレクトリを削除すると、すべてを再ダウンロードすることになることに注意してください。ここでは、最大のファイルだけを調べて古いバージョンを削除することが、妥協点として役立つ場合があります。

削除する代わりに、公式の方法がいくつかあります。

意図的に削除すると、不要なビルドとダウンロードが強制される可能性があります。ビルドの一部の要素は bitbake で制御できず、これらのアイテムを簡単な方法で再構築できない状況に陥ることがあります。

これらの推奨事項により、ビルド yocto ルールごとに書き込まれていない 50 GB を打ち負かすことができます:

IMAGE_FSTYPES を確認してください 変数。私の経験では、シンボリック リンクまたはシンボリック リンク ターゲットではないこれらのファイルのすべてのイメージを削除しても安全です。最後のビルド リンク、およびブートローダーと構成ファイルに関連するものを壊すことを避けるために、最後に生成されたものは避けてください。それらはめったに再生成されない可能性があるためです。

同じレイヤー セットで複数のビルドを保持している場合は、ビルドに共通のダウンロード フォルダーを使用できます。

<ブロック引用>

DL_DIR ?="common_dir_across_all_builds/downloads/"

その後:

/deploy をクリーンに保つには:

<ブロック引用>

RM_OLD_IMAGE: DEPLOY_DIR 変数が指すイメージ ディレクトリから同じイメージの以前にビルドされたバージョンを削除することにより、ディスク領域を再利用します。これらのイメージを削除するには、local.conf ファイルでこの変数を「1」に設定します。

RM_OLD_IMAGE = "1"

IMAGE_FSTYPES 使用する予定のないイメージ タイプを削除します。必要なときに特定のタイプをいつでも有効にできます:

IMAGE_FSTYPES_remove = "tar.bz2"

IMAGE_FSTYPES_remove = "rpi-sdimg"

IMAGE_FSTYPES_remove = "ext3"

/tmp/work には、すべてのレシピのすべての作業ファイルは必要ありません。開発に関心のあるものを指定できます。

<ブロック引用>

RM_WORK_EXCLUDE :rm_work が有効な場合、この変数は、作業ディレクトリを削除してはならないレシピのリストを指定します。詳細については、「rm_work.bbclass」セクションを参照してください。

INHERIT += "rm_work"

RM_WORK_EXCLUDE += "home-assistant widde"


Linux
  1. 36秒でラボを構築し、MacでPodmanを実行し、システム管理者向けのその他のヒント

  2. スワップするためにより多くのスペースを割り当て、そのサイズを RAM よりも大きくする方法は?

  3. GCC をインストールするための十分なスペースがない場合、Linux 用に何かをコンパイルするにはどうすればよいですか?

  1. Logseq:メモの作成、タスクの管理、知識グラフの作成などを行うための無料のオープンソースアプリ

  2. Dfによると、Duよりも20g多くのディスクスペースが使用されています。なぜ??

  3. 十分な量のRAMがある場合、スワップスペースが必要ですか?

  1. / usr/portsパーティションのディスクスペースが不足しました。ポートを作成するにはどうすればよいですか。

  2. Linuxrmコマンド

  3. 少ないほうがいいですね?より少ないですか?私は困惑している