Încerc să scriu un script non-interactiv de actualizare a sistemului.
Întrebare:
dacă următoarele funcționează bine:
yes | dpkg --configure -a
va funcționa foarte bine și următorul ?:
yes | apt-get install --fix-broken
Răspuns
Aveți -y
sau --yes
sau --assume-yes
parametri în apt-get
.
Încercați ceva de genul
sudo apt-get install -y <package-name>
Detalii:
pagina manuală a apt-get (Puteți consulta și pagina manuală cu comanda man apt-get
) mențiuni:
-y, –yes, –assume-yes
Da automat la solicitări. Presupuneți „da” ca răspuns la toate solicitările și rulați non-interactiv. Dacă apare o situație nedorită, cum ar fi schimbarea unui pachet reținut sau eliminarea unui pachet esențial, atunci apt-get se va întrerupe. Element de configurare: APT :: Get :: Assume-Yes.
Contrar acestui parametru, aveți și
–assume-no
Automat„ nu ”la toate solicitările. Element de configurare: APT :: Get :: Assume-No.
Editați
Pentru comentariul lui Vlastimil, am încercat
sudo apt-get install --fix-broken --assume-yes
Și funcționează. --fix-broken
o parte a comenzii poate fi înlocuită cu -f
și --assume-yes
cu -y
sau --yes
pentru comoditate. Aceasta nu va instala niciun pachet în particular, dar „poate omite orice pachete pentru a permite APT să deducă o soluție probabilă”, așa cum se menționează pe pagina manualului .