Zum Inhalt springen

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.