Quickstart e Command Reference (chef)
Tutti i comandi di penguins-chef vengono eseguiti tramite il binario chef. Di seguito trovi il percorso rapido per iniziare subito a cucinare il tuo sistema e il riferimento completo della CLI.
🚀 Quickstart: Dalla naked alla ISO finita
Passo 0. Installa il binario chef
Se parti da una ISO naked ufficiale o hai già abilitato il repository nativo di penguins-eggs (sudo eggs tools repo add), puoi installare penguins-chef direttamente tramite il gestore pacchetti della tua distribuzione:
- Debian / Ubuntu / Devuan / Mint:
sudo apt update && sudo apt install penguins-chef - Arch Linux / Manjaro:
sudo pacman -Syu penguins-chef - Fedora:
sudo dnf install penguins-chef - openSUSE:
sudo zypper install penguins-chef
In alternativa, puoi scaricare il pacchetto nativo (.deb, .rpm, .pkg.tar.zst) dalla pagina delle release ufficiali su GitHub o dal basket di penguins-eggs.net.
Passo 1. Scarica o aggiorna la dispensa delle ricette
Come utente normale (non usare sudo!), scarica l'albero ufficiale delle ricette nella tua home (~/.chef):
chef get
Passo 2. Simula la ricetta con --dry-run
Prima di modificare il sistema, controlla il piano di esecuzione completo senza toccare alcun file:
chef apply ~/.chef/recipes/costumes/colibri/colibri.yaml --dry-run
Passo 3. Cucina la ricetta sul sistema reale
Quando sei soddisfatto del piano mostrato dal dry-run, applica la ricetta con i privilegi di amministratore:
sudo chef apply ~/.chef/recipes/costumes/colibri/colibri.yaml
[!WARNING] Attenzione a
sudoe all'espansione di~/.chefEsegui semprechef getcome utente ordinario (in modo che le ricette risiedano in/home/<tuo-utente>/.chefcon i tuoi permessi). Quando lancisudo chef apply ~/.chef/...dalla tua normale shell utente, è la tua shell a espandere~in/home/<tuo-utente>prima di invocaresudo, e tutto funziona regolarmente. Se invece apri una shell di root (sudo -iosu -), il simbolo~punterà a/root/.chef! Da una shell di root usa sempre il percorso esplicito/home/<tuo-utente>/.chef/recipes/....
Passo 4. Genera la tua ISO live con eggs
Una volta plasmato il sistema, congela il tuo nuovo habitat in un'immagine ISO avviabile e installabile:
sudo eggs remaster
📖 Riferimento Comandi (chef)
1. Applicazione e Simulazione (chef apply)
sudo chef apply `<percorso/ricetta.yaml>`- Descrizione: Applica la ricetta al sistema reale (
/). Richiede i privilegi di root (sudo).
- Descrizione: Applica la ricetta al sistema reale (
chef apply `<percorso/ricetta.yaml>` --dry-run- Descrizione: Risolve l'intero piano di esecuzione (include, repository, disponibilità pacchetti, file, hostname, servizi, sysroot) e lo stampa a video senza toccare il sistema. Non richiede
sudo.
- Descrizione: Risolve l'intero piano di esecuzione (include, repository, disponibilità pacchetti, file, hostname, servizi, sysroot) e lo stampa a video senza toccare il sistema. Non richiede
chef apply `<percorso/ricetta.yaml>` --dry-run --family `<famiglia>`- Descrizione: Simula la risoluzione della ricetta per un'altra famiglia di distribuzioni a partire da qualsiasi macchina ospite.
- Valori supportati per
--family:archlinux,debian,devuan,fedora,opensuse,openkylin. - Esempi:
# Simula la ricetta LightDM per Arch Linuxchef apply ~/.chef/recipes/dm/lightdm.yaml --dry-run --family archlinux# Simula la ricetta per Fedorachef apply ~/.chef/recipes/dm/lightdm.yaml --dry-run --family fedora# Simula la ricetta per Devuan (usa automaticamente sysvinit)chef apply ~/.chef/recipes/dm/lightdm.yaml --dry-run --family devuan
sudo chef apply `<percorso/ricetta.yaml>` --sysroot `<percorso/overlay-sorgente>`- Descrizione: Sovrascrive la cartella sorgente
sysrootpredefinita della ricetta utilizzando un percorso locale personalizzato. - Nota bene: a differenza di altri tool di sistema, in
penguins-chef--sysrootnon indica una destinazione chroot, bensì la directory sorgente dell'overlay della ricetta (contenente i file di configurazione, sfondi o/etc/skelche verranno copiati sopra la radice/del sistema vivo).
- Descrizione: Sovrascrive la cartella sorgente
2. Gestione delle Ricette (chef get)
chef get- Descrizione: Clona (se assente) o aggiorna (
git pull) il repository ufficiale delle ricette dipenguins-chefall'interno della cartella utente~/.chef. Non richiedesudo.
- Descrizione: Clona (se assente) o aggiorna (
3. Gestione del Repository Ufficiale (chef tools repo)
sudo chef tools repo add- Descrizione: Configura automaticamente le chiavi GPG ufficiali e aggiunge il repository nativo di
penguins-eggsper il gestore pacchetti della distribuzione in uso (apt,pacman,dnf,zypper).
- Descrizione: Configura automaticamente le chiavi GPG ufficiali e aggiunge il repository nativo di
sudo chef tools repo rm- Descrizione: Rimuove la configurazione del repository ufficiale dal sistema.
4. Versione (chef version)
chef version- Descrizione: Mostra la versione installata di
penguins-chef.
- Descrizione: Mostra la versione installata di