Riferimento dei comandi
Ogni comando offre --help. Le analisi leggono la directory di build corrente o --build-dir DIR (memorizzata per i comandi successivi). I comandi di progetto usano il progetto corrente o --project DIR.
Diagnostica e correggi
| Comando | Funzione | Esempio |
|---|---|---|
fix |
Corregge un task fallito: applica una patch al tuo layer dopo conferma e riesegue il task; senza errori applica la proposta di ask o explain | yocman fix |
explain |
Spiega l’ultimo errore senza modifiche; conserva la correzione per yocman fix | yocman explain |
ask |
Risponde a domande sul progetto; conserva le modifiche per yocman fix | yocman ask "how do I add a systemd service?" |
context |
Mostra release, macchina, distribuzione e layer rilevati, offline | yocman context |
login |
Salva la chiave API e la verifica sul servizio | yocman login |
Quando ask o explain trova una modifica concreta nei tuoi layer, viene conservata per la directory di build per 14 giorni. Senza task falliti, yocman fix applica il diff salvato senza una nuova chiamata IA e verifica il task indicato dopo conferma oppure bitbake -e. yocman fix --list elenca le proposte, --proposal ID ne sceglie una, --discard ID la elimina e yocman fix RECIPE limita la scelta. I task falliti hanno priorità. fix, explain e ask accettano --dry-run: mostra i dati senza inviarli.
Analizza la build
| Comando | Funzione | Esempio |
|---|---|---|
doctor |
Elenca le fonti dati nella directory di build e come attivare quelle mancanti | yocman doctor |
rules |
Elenca regole di analisi con ID, categoria e gravità | yocman rules --category size |
conf |
Verifica local.conf, bblayers.conf, auto.conf e site.conf | yocman conf |
layers check |
Verifica layer di bblayers.conf: mancanti, duplicati, incompatibili, .bbappend orfani | yocman layers check |
deps |
Mostra le dipendenze di build ed esecuzione di un pacchetto e chi ne dipende | yocman deps openssl --reverse |
why |
Spiega perché un pacchetto è nell’immagine: catene da IMAGE_INSTALL | yocman why busybox |
provides |
Individua il pacchetto che installa un file nell’immagine | yocman provides /usr/bin/scp |
unused |
Elenca pacchetti candidati alla rimozione, da verificare | yocman unused |
orphans |
Ricette compilate che non entrano nell’immagine | yocman orphans |
duplicates |
Funzionalità duplicate nell’immagine, come due server SSH | yocman duplicates |
size |
Dimensioni per pacchetto, file e categoria; size diff confronta build | yocman size diff ../build-old |
buildtime |
Task e ricette più lenti da buildstats e parallelismo effettivo | yocman buildtime |
sstate |
Riutilizzo di sstate e ricette ricostruite a ogni build | yocman sstate |
boot |
Tempo di avvio da systemd-analyze blame e critical-chain | yocman boot --log blame.txt |
Sicurezza e conformità
| Comando | Funzione | Esempio |
|---|---|---|
audit |
Audit completo di sicurezza e conformità con punteggio per categoria | yocman audit --fail-on high |
cve |
CVE non corrette da cve-check per CVSS; cve diff confronta build | yocman cve diff old.json |
secrets |
Rileva chiavi, token e password in rootfs e layer, senza mostrarli | yocman secrets |
users |
Verifica account: password vuote, UID 0 aggiuntivi, hash deboli, shell di accesso | yocman users |
perms |
Verifica permessi: setuid, scrittura per tutti, file sensibili, proprietari ignoti | yocman perms |
services |
Verifica servizi all’avvio, servizi di rete non sicuri, impostazioni SSH e debug | yocman services |
kernel-audit |
Confronta la .config del kernel con una checklist di hardening | yocman kernel-audit |
licenses |
Verifica licenze GPLv3, proprietarie, ambigue e obblighi sui sorgenti | yocman licenses |
sbom |
Verifica presenza dello SBOM SPDX e coerenza con l’immagine | yocman sbom |
cra report |
Preparazione CRA: associa evidenze di build da CVE, segreti, SBOM, licenze e kernel ai requisiti | yocman cra report --format md -o cra.md |
Avvia un progetto
| Comando | Funzione | Esempio |
|---|---|---|
init |
Crea un progetto kas per scheda e release verificate; --describe precompila con l’IA | yocman init --board rpi4-64 --release scarthgap |
add |
Aggiunge funzionalità (SSH, Wi-Fi, Qt 6, Docker…) con diff da confermare e commit | yocman add qt6 |
remove |
Rimuove una funzionalità se nessun’altra ne dipende | yocman remove wifi |
build |
Compila l’immagine con avanzamento: fase, task attivi, tempo rimanente | yocman build |
shell |
Apre una shell con ambiente bitbake su host o container | yocman shell |
env |
Verifica l’ambiente, passa tra host e container e aggiorna l’immagine kas | yocman env use container |
flash |
Scrive l’immagine su SD o USB, solo dischi rimovibili e con conferma digitata | yocman flash --device /dev/sdb |
Output e CI
Le analisi accettano --format terminal|json|md, -o FILE, --fail-on LEVEL e --no-ai. Codici: 0 riuscito, 1 rilievo almeno alla gravità scelta, 2 fonte dati mancante o errore. --no-ai evita chiamate di rete. env check verifica gli ambienti, env use passa tra host e container e env update-image propone l’ultima immagine kas.