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 .