Jeg prøver at skrive et ikke-interaktivt systemopdateringsscript.
Spørgsmål:
hvis følgende fungerer godt:
yes | dpkg --configure -a
fungerer følgende også meget godt ?:
yes | apt-get install --fix-broken
Svar
Du har -y eller --yes eller --assume-yes parametre i apt-get.
Prøv noget som
sudo apt-get install -y <package-name>
Detaljer:
manuel side af apt-get (Du kan også henvise til manuel side med man apt-get kommando) nævner:
-y, –yes, –assume-yes
Automatisk ja til meddelelser. Antag “ja” som svar på alle meddelelser, og kør ikke-interaktivt. Hvis der opstår en uønsket situation, såsom at ændre en tilbageholdt pakke eller fjerne en vigtig pakke, afbrydes apt-get. Konfigurationselement: APT :: Hent :: Antag-ja.
I modsætning til denne parameter har du også
–assume-no
Automatisk” nej “til alle meddelelser. Konfigurationselement: APT :: Hent :: Antag-nr.
Rediger
For Vlastimils kommentar prøvede jeg
sudo apt-get install --fix-broken --assume-yes
Og det fungerer. --fix-broken en del af kommandoen kan erstattes med -f og --assume-yes med -y eller --yes for nemheds skyld. Dette vil ikke installere nogen pakke specifikt, men “kan udelade pakker for at tillade APT at udlede en sandsynlig løsning”, som nævnt på manualsiden .