Product SiteDocumentation Site

6.9. Actualitzacions automàtiques

Com que Falcot Corp té molts ordinadors però la mà d'obra limitada, els seus administradors intenten fer actualitzacions el més automàtiques possible. Els programes encarregats d'aquests processos, per tant, han de funcionar sense intervenció humana.

6.9.1. Configurar dpkg

Com ja hem esmentat (vegeu la barra lateral ANANT MÉS ENLLÀ Evitant preguntes sobre els arxius de configuració), es pot indicar a dpkg que no demani confirmació en substituir un fitxer de configuració (amb les opcions --force-confdef --force-confold). Les interaccions poden, però, tenir unes altres tres fonts: algunes provenen del mateix APT, algunes són tractades per debconf, i altres es donen a la línia d'ordres a causa dels «scripts» de configuració dels paquets (de vegades gestionats per ucf).

6.9.2. Configurar l'APT

El cas d'APT és simple: l'opció -y (o --assume-yes) li diu a APT que consideri la resposta a totes les seves preguntes com un "sí".

6.9.3. Configurar debconf

El cas de debconf mereix més detall. Aquest programa va ser dissenyat, des de la seva creació, per controlar la rellevància i el volum de preguntes que es mostren a l'usuari, així com la forma en què es mostren. Per això la seva configuració sol·licita una prioritat mínima per a les preguntes; només es mostren les preguntes per sobre de la prioritat mínima. debconf assumeix la resposta predeterminada (definida pel mantenidor del paquet) per a les preguntes que va decidir ometre.
L'altre element de configuració rellevant és la interfície utilitzada. Si trieu noninteractive d'entre les opcions, tota la interacció de l'usuari queda desactivada. Si un paquet intenta mostrar una nota informativa, s'enviarà a l'administrador per correu electrònic.
Per reconfigurar el debconf, utilitzeu l'eina dpkg-reconfigure del paquet debconf; l'ordre rellevant és dpkg-reconfigure debconf. Tingueu en compte que els valors configurats es poden substituir temporalment amb variables d'entorn quan calgui (per exemple, DEBIAN_FRONTEND controla la interfície, com es documenta a la pàgina del manual de debconf(7)).

6.9.4. Gestió de la interacció a la línia d'ordres

La darrera font d'interaccions, i la més difícil de desfer-se'n, són els scripts de configuració executats per dpkg. Per desgràcia, no existeix una solució estàndard i cap resposta és aclaparadorament millor que una altra.
L'enfocament comú és suprimir l'entrada estàndard redirigint el contingut buit de /dev/null amb ordre < /dev/null, o passant-li un flux interminable de salts de línia. Cap d'aquests mètodes és fiable en un 100%, però en general porten a l'ús de les respostes per defecte, ja que la majoria dels scripts consideren la falta de resposta com una acceptació del valor per defecte.

6.9.5. La combinació miraculosa

Combinant els elements anteriors, és possible dissenyar un «script» petit però força fiable que pugui gestionar les actualitzacions automàtiques.

Exemple 6.5. «Script» d'actualització no interactiu

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