J'ai un script shell pour configurer automatiquement les nouvelles machines virtuelles Ubuntu à mes fins. Je voudrais que ce script soit installé et activé unattended-upgrades
, mais je ne peux pas comprendre comment le faire sans interaction avec l'utilisateur.
La façon habituelle d'activer les mises à niveau est dpkg-reconfigure unattended-upgrades
, mais bien sûr, c'est interactif. Le frontal non interactif évite de poser des questions, et le frontal de texte semble lié et déterminé à faire ses E / S avec le tty et non avec stdin / stdout.
Réponses:
Faites simplement une copie de /etc/apt/apt.conf.d/20auto-upgrades après l'avoir configuré comme vous le souhaitez, et déposez-le en place sur votre machine cible. Vous pouvez l'intégrer dans votre script, ou vous pouvez le rsync ou le wget depuis un serveur, ou autre chose.
Donc, fondamentalement, votre script pourrait faire quelque chose comme ceci:
Il n'y a vraiment aucune raison de faire un singe avec le script dpkg-reconfigure.
Si vous ne voulez pas récupérer le fichier conf d'un serveur distant, c'est TRÈS très court et simple - la version par défaut, qui récupère et installe uniquement les mises à jour de sécurité, ressemble à ceci:
Vous pouvez donc simplement répercuter ces lignes dans le fichier de configuration directement avec ce qui suit:
la source
Si vous souhaitez utiliser dpkg-reconfigure, vous pouvez définir la valeur avec "debconf-set-selections", puis la reconfigurer de manière non interactive.
la source
Vous devez utiliser sudo pour faire écho dans
/etc/apt/apt.conf.d/20auto-upgrades
la source
la source
Je suggérerais d'insérer des paramètres de configuration pour configurer des mises à niveau sans assistance.
De la même manière, vous pouvez configurer / ajouter des paramètres selon vos besoins dans le fichier conf
/etc/apt/apt.conf.d/50unattended-upgrades
.N'oubliez pas de redémarrer le service pour appliquer les modifications.
la source