Befehlsreferenz
Jeder Befehl bietet --help. Analysen lesen das aktuelle Build-Verzeichnis oder --build-dir DIR (für folgende Befehle gespeichert). Projektbefehle nutzen das aktuelle Projekt oder --project DIR.
Diagnostizieren und reparieren
| Befehl | Funktion | Beispiel |
|---|---|---|
fix |
Fehlgeschlagenen Task reparieren: Patch für Ihren Layer nach Bestätigung anwenden und Task wiederholen; ohne Fehler den Vorschlag von ask oder explain anwenden | yocman fix |
explain |
Letzten Build-Fehler ohne Änderungen erklären; gefundene Korrekturen für yocman fix speichern | yocman explain |
ask |
Fragen zum Projekt stellen; Rezeptänderungen für yocman fix speichern | yocman ask "how do I add a systemd service?" |
context |
Erkannte Release, Maschine, Distribution und Layer offline anzeigen | yocman context |
login |
API-Schlüssel speichern und beim Dienst prüfen | yocman login |
Wenn ask oder explain eine konkrete Änderung in Ihren Layern findet, wird sie für dieses Build-Verzeichnis 14 Tage gespeichert. Ohne fehlgeschlagenen Task wendet yocman fix den gespeicherten Diff ohne neuen KI-Aufruf an und prüft anschließend den benannten Task nach Bestätigung oder bitbake -e. yocman fix --list zeigt Vorschläge, --proposal ID wählt einen, --discard ID entfernt einen und yocman fix RECIPE beschränkt die Auswahl. Fehlgeschlagene Tasks haben Vorrang. fix, explain und ask unterstützen --dry-run: Daten anzeigen, nichts senden.
Build analysieren
| Befehl | Funktion | Beispiel |
|---|---|---|
doctor |
Datenquellen im Build-Verzeichnis und Aktivierung fehlender Quellen anzeigen | yocman doctor |
rules |
Analyseregeln mit ID, Kategorie und Schweregrad auflisten | yocman rules --category size |
conf |
local.conf, bblayers.conf, auto.conf und site.conf prüfen | yocman conf |
layers check |
Layer aus bblayers.conf prüfen: fehlend, doppelt, inkompatibel, verwaiste .bbappend | yocman layers check |
deps |
Build- und Laufzeitabhängigkeiten eines Pakets und abhängige Pakete anzeigen | yocman deps openssl --reverse |
why |
Warum ein Paket im Image ist: Abhängigkeitsketten ab IMAGE_INSTALL | yocman why busybox |
provides |
Paket ermitteln, das eine Datei im Image installiert | yocman provides /usr/bin/scp |
unused |
Paketkandidaten zur Entfernung prüfen | yocman unused |
orphans |
Gebaute Rezepte, die nie im Image landen | yocman orphans |
duplicates |
Doppelte Funktionen im Image, etwa zwei SSH-Server | yocman duplicates |
size |
Image-Größe nach Paket, Datei und Kategorie; size diff vergleicht Builds | yocman size diff ../build-old |
buildtime |
Langsamste Tasks und Rezepte aus buildstats sowie effektive Parallelität | yocman buildtime |
sstate |
Shared-State-Wiederverwendung und bei jedem Build neu gebaute Rezepte | yocman sstate |
boot |
Bootzeit anhand von systemd-analyze blame und critical-chain | yocman boot --log blame.txt |
Sicherheit und Konformität
| Befehl | Funktion | Beispiel |
|---|---|---|
audit |
Vollständiges Sicherheits- und Konformitätsaudit mit Bewertung je Kategorie | yocman audit --fail-on high |
cve |
Ungepatchte CVEs aus cve-check nach CVSS; cve diff vergleicht Builds | yocman cve diff old.json |
secrets |
Schlüssel, Token und Passwörter in rootfs und Layern erkennen, nie anzeigen | yocman secrets |
users |
Konten prüfen: leere Passwörter, zusätzliche UID 0, schwache Hashes, Login-Shells | yocman users |
perms |
Berechtigungen prüfen: setuid, für alle schreibbar, sensible Dateien, unbekannte Eigentümer | yocman perms |
services |
Autostart-Dienste, unsichere Netzwerkdienste, SSH- und Debug-Einstellungen prüfen | yocman services |
kernel-audit |
Kernel-.config mit einer Härtungscheckliste vergleichen | yocman kernel-audit |
licenses |
GPLv3, proprietäre und unklare Lizenzen sowie Quellcodepflichten prüfen | yocman licenses |
sbom |
Vorhandensein und Konsistenz des SPDX-SBOM mit dem Image prüfen | yocman sbom |
cra report |
CRA-Vorbereitung: Build-Nachweise aus CVE, Geheimnissen, SBOM, Lizenzen und Kernel den Anforderungen zuordnen | yocman cra report --format md -o cra.md |
Projekt starten
| Befehl | Funktion | Beispiel |
|---|---|---|
init |
kas-Projekt für geprüftes Board und Release erstellen; --describe lässt die KI vorfüllen | yocman init --board rpi4-64 --release scarthgap |
add |
Funktion hinzufügen (SSH, WLAN, Qt 6, Docker…) mit bestätigtem Diff und Commit | yocman add qt6 |
remove |
Funktion entfernen, sofern keine andere Funktion sie benötigt | yocman remove wifi |
build |
Image bauen mit Live-Fortschritt: Phase, laufende Tasks, Restzeit | yocman build |
shell |
Shell mit bitbake-Umgebung auf Host oder Container öffnen | yocman shell |
env |
Build-Umgebung prüfen und zwischen Host und Container wechseln, kas-Image aktualisieren | yocman env use container |
flash |
Image auf SD-Karte oder USB-Laufwerk schreiben, nur Wechseldatenträger und mit getippter Bestätigung | yocman flash --device /dev/sdb |
Ausgabe und CI
Analysen unterstützen --format terminal|json|md, -o FILE, --fail-on LEVEL und --no-ai. Exitcodes: 0 erfolgreich, 1 Befund mindestens auf dem gewählten Schweregrad, 2 fehlende Datenquelle oder Fehler. --no-ai verhindert Netzwerkaufrufe. env check prüft Umgebungen, env use wechselt Host/Container und env update-image schlägt das neueste kas-Image vor.