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

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 oppsettet 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.
The other relevant configuration element is the interface used by the frontend. If you choose noninteractive out of the choices, all user interaction is disabled. If a package tries to display an informative note, it will be sent to the administrator by email.
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