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