J'ai environ 7 serveurs Debian que je gère et je voudrais les configurer pour qu'ils se mettent à jour automatiquement. J'ai donc créé un script en tant que tel:
#!/bin/sh
apt-get update
apt-get upgrade
et l'a placé sur la root
liste crontab de. Malheureusement, il se bloque toujours sur la section de mise à niveau, demandant si je suis sûr que je veux mettre à niveau. Parce que c'est un travail cron, je ne vois pas le résultat jusqu'à ce qu'il m'envoie un e-mail disant qu'il a échoué. Existe-t-il un moyen de lui faire ignorer cette invite et de faire la mise à niveau automatiquement?
Réponses:
Utilisez l'option -y pour apt-get de ne pas demander. De
man apt-get
:Vous pouvez également définir la variable env DEBIAN_FRONTEND
la source
DEBIAN_FRONTEND
-il? Est-il également utilisé pour d'autres processus?DEBIAN_FRONTEND
. Ce n'est pas mentionné dans mon Debianman debconf
, donc c'est peut-être une chose Ubuntu.man 7 debconf
;)man 7 debconf
mais je n'ai rien obtenu. Maintenant je sais pourquoi :)Eh bien, vous utilisez peut-être le mauvais outil.
unattended-upgrades
le package installe des mises à niveau de sécurité quotidiennement (peut être configuré), vous pouvez configurer les packages à mettre à niveau ou non, etc. Peut être installé à l'aide de:De
man unattended-upgrades
:la source
/etc/apt/apt.conf.d/
mais seulement celles commençant parUnattended-Upgrade::
sont analysées.Bien que les réponses précédentes soient informatives, elles ne contournent pas le «problème» de contribution requis par les moyens humains pendant
upgrade
. par conséquent, j'utilise les éléments suivants:pour inclure les mises à jour de «distribution» comme les noyaux, utilisez la
dist-upgrade
commande.veuillez consulter le manuel de
dpkg
pour des informations détaillées sur ces paramètres.note importat : l'appel
sudo
incluant le-E
paramètre est obligatoire:Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to preserve the environment.
sinon, les
EXPORT
déclarations n'affecteront pas les appels deapt-get
!le mérite revient à Remy van Elst ! Merci!
la source
root
- vous n'avez donc pas besoin de les utilisersudo
du tout. les «autres options» sont définies pour s'exécuter sans surveillance dans tous les cas. veuillez consulter laman
page référencée .Un outil générique pour ce genre de chose est
yes
:Ainsi, par exemple, vous pourriez faire
Veuillez noter que dans le cas spécifique de l'
apt-get upgrade
utilisation des options suggérées par @Braiam ou @ArthurUlfeldt, c'est mieux.la source
apt-get update && yes | apt-get upgrade
(nos serveurs ne sont pas censés utilisersudo
... Ne demandez pas ...)