Jeg prøver å skrive et ikke-interaktivt systemoppdateringsskript.
Spørsmål:
hvis følgende fungerer bra:
yes | dpkg --configure -a
vil følgende også fungere veldig bra ?:
yes | apt-get install --fix-broken
Svar
Du har -y
eller --yes
eller --assume-yes
parametere i apt-get
.
Prøv noe sånt som
sudo apt-get install -y <package-name>
Detaljer:
manuell side for apt-get (Du kan også referere til manuell side med man apt-get
kommando) nevner:
-y, –yes, –assume-yes
Automatisk ja til beskjeder. Anta «ja» som svar på alle instruksjonene og kjør ikke-interaktivt. Hvis en uønsket situasjon oppstår, for eksempel å endre en holdepakke eller fjerne en essensiell pakke, vil apt-get avbrytes. Konfigurasjonselement: APT :: Get :: Assume-Yes.
I motsetning til denne parameteren har du også
–assume-no
Automatisk» nei «til alle instruksjonene. Konfigurasjonselement: APT :: Get :: Assume-No.
Rediger
For Vlastimils kommentar prøvde jeg
sudo apt-get install --fix-broken --assume-yes
Og det fungerer. --fix-broken
en del av kommandoen kan erstattes med -f
og --assume-yes
med -y
eller --yes
for enkelhets skyld. Dette vil ikke installere noen pakke spesielt, men «kan utelate alle pakker for å tillate APT å utlede en sannsynlig løsning», som nevnt på manualsiden .