GNU/Linux >> Znalost Linux >  >> Linux

Sestavení Bitbake spotřebuje více místa

V pořadí podle účinnosti a podle toho, jak snadná je oprava:

  • Zakoupit více místa na disku: Umístění $TMPDIR na vlastní SSD hodně pomáhá a odstraňuje potřebu mikrosprávy.
  • Smazat $TMPDIR (build/tmp): staré obrazy, staré balíčky a pracovní adresáře/systémové kořenové adresáře pro MACHINE, pro které právě nevytváříte, se hromadí a mohou zabírat poměrně hodně místa. Normálně můžete jednou za čas smazat celý $TMPDIR:pokud používáte sstate-cache, další sestavení by mělo být stále velmi rychlé.
  • Smazat $SSTATE_DIR (build/sstate-cache): Pokud děláte hodně buildů, samotný stav se časem hromadí. Smazání adresáře je bezpečné, ale další sestavení bude trvat dlouho, protože vše bude znovu vytvořeno.
  • Smazat $DL_DIR (sestavení/stažení): Pokud používáte adresář sestavení po dlouhou dobu (při stahování aktualizací z hlavní větve nebo při přechodu na novější větev), zastaralé stahování neustále zabírá místo na disku. Mějte na paměti, že smazání adresáře bude znamenat opětovné stažení všeho. Užitečným kompromisem zde může být prohlížení pouze největších souborů a smazání starých verzí.

Místo mazání existuje několik oficiálních způsobů.

Záměrným smazáním byste si mohli vynutit zbytečné sestavení a stahování. Některé prvky sestavení nebylo možné ovládat pomocí bitbake a můžete se ocitnout v situaci, že tyto položky nemůžete snadno přestavět.

S těmito doporučeními můžete překonat nezapsaných 50 GB na sestavení yocto:

Zkontrolujte své IMAGE_FSTYPES variabilní. Moje zkušenost říká, že je bezpečné odstranit všechny obrázky těchto souborů, které nejsou symbolickými odkazy nebo cíli symbolických odkazů. Vyhněte se poslednímu vygenerovanému, aby nedošlo k porušení posledního odkazu na sestavení a jakéhokoli odkazu souvisejícího s bootloadery a konfiguračními soubory, protože by mohly být jen zřídka regenerovány.

Pokud uchováváte více než jedno sestavení se stejnou sadou vrstev, můžete pro sestavení použít společnou složku pro stahování.

DL_DIR ?="common_dir_across_all_builds/downloads/"

A potom:

Chcete-li, aby byl váš /deploy čistý:

RM_OLD_IMAGE: Uvolňuje místo na disku odstraněním dříve vytvořených verzí stejného obrazu z adresáře obrázků, na který ukazuje proměnná DEPLOY_DIR. Chcete-li tyto obrázky odstranit, nastavte tuto proměnnou na "1" v souboru local.conf:

RM_OLD_IMAGE = "1"

IMAGE_FSTYPES Odeberte typy obrázků, které neplánujete používat, vždy můžete povolit konkrétní, když to budete potřebovat:

IMAGE_FSTYPES_remove = "tar.bz2"

IMAGE_FSTYPES_remove = "rpi-sdimg"

IMAGE_FSTYPES_remove = "ext3"

Pro /tmp/work nepotřebujete všechny pracovní soubory všech receptů. Můžete určit, které z nich vás zajímají o váš rozvoj.

RM_WORK_EXCLUDE :Je-li povolena funkce rm_work, tato proměnná určuje seznam receptů, jejichž pracovní adresáře by neměly být odstraněny. Další podrobnosti naleznete v části "rm_work.bbclass".

INHERIT += "rm_work"

RM_WORK_EXCLUDE += "home-assistant widde"


Linux
  1. Postavte si laboratoř za 36 sekund, spusťte Podman na Macu a další tipy pro systémové správce

  2. Df říká, že mám o 20 g více místa na disku než Du. Proč??

  3. Potřebuji swapovací prostor, když mám více než dostatečné množství RAM?

  1. Logseq:bezplatná aplikace s otevřeným zdrojovým kódem pro vytváření poznámek, správu úkolů, vytváření diagramu znalostí a další

  2. méně je více? Je více méně? Jsem tak zmatená

  3. Co dělá .cache? Spotřebovává to obrovské místo na disku

  1. Došlo místo na disku v oddílu /usr/ports, jak mohu vytvořit porty?

  2. Linuxový příkaz rm

  3. Už žádné místo v kořenovém souborovém systému, jak bych mohl zvětšit velikost?