Sto cercando di scrivere uno script di aggiornamento del sistema non interattivo.
Domanda:
se quanto segue funziona bene:
yes | dpkg --configure -a
anche il seguente funzionerà molto bene ?:
yes | apt-get install --fix-broken
Risposta
Hai -y
o --yes
o --assume-yes
parametri in apt-get
.
Prova qualcosa come
sudo apt-get install -y <package-name>
Dettagli:
pagina di manuale di apt-get (Puoi anche fare riferimento alla pagina di manuale con il comando man apt-get
) menziona:
-y, –yes, –assume-yes
Sì automatico ai prompt. Assumi “sì” come risposta a tutte le richieste ed esegui in modo non interattivo. Se si verifica una situazione indesiderata, come cambiare un pacchetto conservato o rimuovere un pacchetto essenziale, apt-get si interromperà. Elemento di configurazione: APT :: Get :: Assume-Yes.
Contrariamente a questo parametro, hai anche
–assume-no
” no “automatico a tutti i prompt. Elemento di configurazione: APT :: Get :: Assume-No.
Modifica
Per il commento di Vlastimil, ho provato
sudo apt-get install --fix-broken --assume-yes
E funziona. Il --fix-broken
parte del comando può essere sostituita con -f
e --assume-yes
con -y
o --yes
per comodità. Questo non installerà alcun pacchetto in perticular ma “può omettere qualsiasi pacchetto per consentire ad APT di dedurre una probabile soluzione”, come menzionato nella pagina di manuale .