Comment configurer mon système pour qu'il se mette à jour automatiquement sans interaction avec l'utilisateur?

8

Comment puis-je configurer mon Ubuntu pour non seulement mettre à jour régulièrement (et automatiquement) les mises à jour de sécurité (je pourrais le définir lors de l'installation d'ubuntu), mais pour mettre à jour TOUS les packages automatiquement, en arrière-plan, sans interaction de l'utilisateur?

Question supplémentaire: si je pouvais configurer à quelle fréquence ma boîte Ubuntu vérifie-t-elle la mise à jour, alors que dois-je définir? Vérifiez-le toutes les heures? Ou existe-t-il un moyen aléatoire intégré, je veux dire qu'Ubuntu attend un moment aléatoire, puis vérifie les mises à jour? (pour ne pas donner de gros trafic aux serveurs du référentiel toutes les heures, par exemple: 20h; 21h; 22h; etc.)

LanceBaynes
la source

Réponses:

10

Installez le unattended-upgradespackage et modifiez son fichier de configuration pour installer tous les packages, pas seulement les mises à jour de sécurité:

Modifiez le fichier /etc/apt/apt.conf.d/50unattended-upgrades:

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
        "${distro_id} ${distro_codename}-security";
//      "${distro_id} ${distro_codename}-updates";
//      "${distro_id} ${distro_codename}-proposed";
//      "${distro_id} ${distro_codename}-backports";
};

et supprimez le //des pièces que vous souhaitez être automatique, puis enregistrez simplement le fichier.

Ensuite, vous devez définir les fonctions de mise à jour automatique dans /etc/apt/apt.conf.d/10periodic:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

L'intervalle de mise à jour est tous les jours, ce qui est à peu près correct, sinon vous frapperiez probablement trop souvent le miroir.

Voici la documentation pour cela:

psusi
la source
1
Puis-je demander ce que signifie exactement "1 jour"? Si par exemple: un PC n'est utilisé qu'une à deux heures par jour, il ne vérifiera pas les mises à jour? OU cela signifie par exemple: si 24 heures se sont écoulées après le dernier contrôle, il effectue une mise à jour?
LanceBaynes
1

Mises à jour quotidiennes automatiques des packages à l'aide de Cron et Apt-Get

AVERTISSEMENT: comme pour tout changement de système, le risque de créer des problèmes nouveaux ou supplémentaires peut se produire. Assurez-vous de sauvegarder vos données et configurations! Utilisez ce document à vos risques et périls.

Création du fichier de travail Cron quotidien

Vous devez d'abord créer le fichier de tâche cron. Vous pouvez utiliser un simple éditeur de texte pour créer le fichier et l'enregistrer dans votre répertoire personnel. Dans l'éditeur de texte, saisissez les lignes suivantes:

#!/bin/bash
apt-get update
apt-get upgrade -y
apt-get autoclean

Maintenant, cliquez sur Enregistrer et nommez le fichier quelque chose comme "autoupdt".

Déplacement du fichier de travail Cron vers Cron.Daily

Maintenant que vous avez créé le fichier de tâche cron, il doit être déplacé dans le répertoire cron quotidien afin qu'il soit exécuté automatiquement quotidiennement. Pour ce faire, nous devons d'abord ouvrir un terminal de ligne de commande ( CTRL+ ALT+ T).

Nous devons déplacer le fichier dans le bon répertoire. Tapez la commande suivante à l'invite de ligne de commande pour déplacer le fichier:

sudo mv /where/ever/autoupdt /etc/cron.daily

Rendre le fichier de travail Cron exécutable

Maintenant que le fichier est créé et prêt à être exécuté quotidiennement par cron, nous devons encore rendre le fichier exécutable afin que cron puisse l'exécuter.

sudo chmod 755 /etc/cron.daily/autoupdt

Suivre

Pour plus de détails sur la configuration personnalisée de cron, veuillez vous référer à:

man cron

Fini

Kory Wnuk
la source