Product SiteDocumentation Site

6.9. 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.

6.9.1. Oppsett av dpkg

Som vi allerede har nevnt kan (se sidefelt FOR VIDEREKOMMENDE Hvordan unngå oppsettsfilspørsmålene), dpkg bli instruert om å ikke be om bekreftelse når du skifter ut en oppsettsfil (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 pakkeoppsettsskript (noenganger håndtert av ucf).

6.9.2. Oppsett av APT

For APT er enkel: -y-valget (eller --assume-yes) ber APT å anse svaret på alle dens spørsmål for «yes».

6.9.3. Oppsett av debconf

Akkurat debconf må forklares i nærmere detalj. 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 oppsettet krever at spørsmål har en viss relevans; kun spørsmål med mer enn minimal prioritet blir vist. debconf forutsetter forvalgt svar (definert av pakkeutvikleren ) for spørsmål det er besluttet å hoppe over.
Det andre relevante oppsettselementet er grensesnittet som brukes av grenseflaten. Hvis du velger noninteractive er all brukerinteraksjon avslått. 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 oppsatte verdiene midlertidig kan overstyres av miljøvariabler ved behov (for eksempel DEBIAN_FRONTEND kontrollerer brukergrensesnittet, som dokumentert i manualsiden debconf(7)).

6.9.4. Å håndtere kommandolinjesamhandling

Den siste kilden til samhandling, og den vanskeligste å bli kvitt, er oppsettsskriptet som drives av dpkg. Det er dessverre ingen standardlø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 prosent pålitelige, men de fører vanligvis til at standardsvarene blir brukt, siden de fleste skript vurderer en mangel på svar som å akseptere standardverdien.

6.9.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.5. Ikke-interaktive oppgraderingsskript

export DEBIAN_FRONTEND=noninteractive
yes '' | apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade