6.8. Automatiske oppgraderinger
Siden Falcot Corp har mange datamaskiner, men bare begrenset arbeidskraft, prøver administratorene der å gjøre oppgraderinger så automatiske som mulig. Programmene som er ansvarlige for disse prosessene må derfor kjøres uten menneskelig inngripen.
Som vi allerede har nevnt kan (se sidefelt
GOING FURTHER Å unngå å konfiguere filspørsmålene),
dpkg
bli instruert om å ikke be om bekreftelse når du skifter ut en konfigurasjonsfil (med
--force-confdef --force-confold
-valgene). Interaksjoner kan imidlertid komme fra tre andre kilder: Noen fra APT selv, noen er håndtert av
debconf
, og noen skjer på kommandolinjen som følge av pakkekonfigurasjonsskripter.
For APT er enkel: -y
-valget (eller --assume-yes
) ber APT å anse svaret på alle dens spørsmål for "yes".
6.8.3. Å konfigurere debconf
Oppgaven debconf
fortjener flere detaljer. Dette programmet var, fra begynnelsen av, designet for å styre relevans og antall spørsmål som vises til brukeren, samt måten de vises på. Det er derfor konfigurasjonen knytter liten oppmerksomhet til spørsmål; bare spørsmål med mer enn minimal prioritet blir vist. debconf
forutsetter standard svar (definert av pakkeutvikleren ) for spørsmål det er besluttet å hoppe over.
Det andre relevante konfigurasjonselementet er grensesnittet som brukes av grenseflaten. Hvis du velger noninteractive
blant valgene, er all brukerinteraksjon deaktivert. Hvis en pakke prøver å vise en informativ merknad, vil den bli sendt til administratoren via e-post.
For å refigurere debconf
, bruk dpkg-reconfigure
-verktøyet fra debconf-pakken; den relevante kommandoen er dpkg-reconfigure debconf
. Legg merke til at de konfigurerte verdiene midlertidig kan overstyres av miljøvariabler ved behov (for eksempel DEBIAN_FRONTEND
kontrollerer brukergrensesnittet, som dokumentert i den manuelle siden debconf(7)).
6.8.4. Å håndtere kommandolinjesamhandling
Den siste kilden til samhandling, og den vanskeligste å bli kvitt, er konfigurasjonsskriptet som drives av dpkg
. Det er dessverre ingen standard løsning, og ingen svar er overveiende bedre enn en annet.
Den vanligste metoden er å undertrykke standard inndata ved å omdirigere det tomme innholdet i /dev/null
til den med command </dev/null
, eller å mate den med en endeløs strøm av linjeskift. Ingen av disse metodene er 100 % pålitelige, men de fører vanligvis til at standard svarene blir brukt, siden de fleste skript vurderer en mangel på svar som å akseptere standardverdien.
6.8.5. Mirakelkombinasjonen
Ved å kombinere de foregående elementene, er det mulig å utforme et lite, men temmelig pålitelig skript som kan håndtere automatiske oppgraderinger.
Eksempel 6.4. Ikke-interaktive oppgraderingsskript
export DEBIAN_FRONTEND=noninteractive
yes '' | apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" dist-upgrade