J'ai lu ici comment activer les mises à jour automatiques silencieuses pour Google Chrome. Cependant, j'ai d'autres référentiels comme Spotify, Docky et d'autres pour lesquels je souhaite activer les mises à jour silencieuses.
J'essaie de faire cela dans mon système Ubuntu 10.04. Mais cette question s'applique à toutes les versions d'Ubuntu. Le paquet Unattended-upgrades est installé.
Comment puis-je faire ceci?
updates
automation
nik90
la source
la source
Réponses:
Tout d'abord, installez
gksu
:sudo apt-get install gksu
Le plus simple pour activer les mises à jour sans surveillance pour votre système est d'éditer le fichier à l'
50unattended-upgrades
intérieur/etc/apt/apt.conf.d/
avec votre éditeur de texte préféré, par exemple:gksu gedit /etc/apt/apt.conf.d/50unattended-upgrades
Vous devez y commenter les sections commentées du bloc Allowed Origins.
Changement
à
Pour les logiciels qui ne figurent pas dans le dépôt Ubuntu que vous souhaitez mettre à jour, vous devez ajouter une origine et une archive au fichier. Pour trouver ce que sont vos PPA, ouvrez le dossier
/var/lib/apt/lists/
, c'est-à-dire la zone de stockage des informations d'état pour chaque ressource de package. Ce que vous recherchez, ce sont les fichiers qui se terminent par Release dans le nom.Ouvrez-en un avec votre éditeur de texte, c'est-à-dire pour Google Chrome:
L'origine est évidente (
Origin: Google, Inc.
) et l'archive sera celle qui se trouve sous la ligne Suite (Suite: stable
).Si l'un
Origin
ou l' autreSuite
est manquant, il s'agira d'une chaîne vide. Notez cependant que si les deux sont manquants, il ne sera probablement pas possible d'utiliser cette source avec des mises à niveau sans assistance sans inclure d'autres sources présentant le même problème.Après avoir noté ces 2 lignes, vous devez éditer le
50unattended-upgrades
fichier et ajouter les lignes en utilisant ce format"<origin>:<archive>";
pour cet exemple"Google\, Inc.:stable";
.L'origine de Google Chrome est un peu délicate, car elle comporte un espace, un point final et une virgule, mais la plupart des fichiers de publication seront faciles à lire.
Autre exemple, la source Node JS spécifie une origine (
Node Source
) mais pas une archive; afin que vous puissiez faire correspondre avec"Node Source:";
.Allowed Origins est mis en correspondance à l'aide de caractères génériques de style shell (plus précisément, avec fnmatch () de Python ). Si vous êtes assez prudent pour ne pas inclure de sources conflictuelles, il est possible d'écrire des choses comme
"Node *:*";
.N'oubliez pas de faire une sauvegarde de votre
50unattended-upgrades
fichier avant de le modifier, faites-le avecsudo cp /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak
.Pour tester les modifications apportées au fichier, vous pouvez utiliser
sudo unattended-upgrades
les paramètres--dry-run
et--debug
.--dry-run
exécutera un cycle de mises à niveau sans assistance, sauf que les mises à niveau ne seront pas réellement installées; il suffira de vérifier et de vérifier que tout va bien.--debug
activera le mode commenté.Vous pouvez toujours vérifier les journaux pour
unattended-upgrades
à/var/log/unattended-upgrades/unattended-upgrades.log
.Vous pouvez modifier la configuration des mises à niveau sans surveillance en modifiant le fichier
/etc/apt/apt.conf.d/10periodic
. Les options de configuration se trouvent dans l'en-/etc/cron.daily/apt
tête du script. Lisez-les pour configurer la fréquence des mises à niveau sans assistance.la source
--dry-run
vérifiera si des mises à jour sont disponibles sur les listes mises à jour et vous les transmettra, les mises à jour des listes via la configuration que vous avez configurée/etc/cron.daily/apt
, son exécution manuelle ne met pas à jour les listes, je pense.Approche automatisée pour la réponse de @Bruno Pereira: (pensez à mettre en vedette le dépôt github si vous trouvez la réponse utile.)
Lien de code: https://github.com/abhigenie92/unattended_upgrades_repos
Vérifiez les dépôts pour ajouter:
Maintenant, éditez
/etc/apt/apt.conf.d/50unattended-upgrades
pour les inclure:Vérifiez si elles sont incluses:
la source
"Raspberry:stable";
ne fonctionnait pas. Au lieu de cela, j'ai utilisé, par exemple,"o=Raspberry, a=stable";
Édition
/etc/apt/apt.conf.d/50unattended-upgrades
, ajoutez ce qui suit:Cela permettra des mises à niveau sans surveillance pour tous les packages.
la source
origin:''
, par exemple, datadog-agent fromsite:'apt.datadoghq.com'
. Dans ce cas, il serait également nécessaire d’ajouter"origin=";
pour ne pas ignorer les paquets dont l’origine est vide. Mais alors, il vaut mieux utiliser"site=*";
au lieu de"origin=*";
./etc/apt/sources.list.d/my_repo.list
, mais il ne met pas à jour le paquet. Manuellement, cela fonctionne avecsudo apt update
. Un indice comment?Il existe des instructions pour forcer une nouvelle exécution à forcer cron à démarrer la mise à jour automatique via le lien suivant . La procédure pour arrêter cron est la suivante
et redémarrer cron pour que la mise à jour automatique se produise maintenant (ou du moins dans quelques minutes)
Comment ça marche
Plusieurs choses vont déclencher son exécution.
Il est
/etc/cron.daily
spécifiquement créé par cron/etc/cron.daily/apt
. Cron court/etc/cron.daily
à 6h25 (voir/etc/crontab
)Anacron fonctionne de parvenu? et il se déclenchera
/etc/cron.daily
après 5 minutes de disponibilité (voir/etc/anacrontab
)La note
APT::Periodic::RandomSleep
peut être configurée/etc/apt/apt.conf.d/10periodic
, mais les valeurs par défaut sont 1800 (30 minutes), de sorte qu'aucune mise à jour ne peut avoir lieu avant 30 minutes après l'/etc/cron.daily/apt
exécution.Bûche
Si cela fonctionne, les choses devraient être enregistrées dans ce dossier
/var/log/unattended-upgrades
.la source
/etc/cron.daily/apt
de l'installation par défaut d'Ubuntu 12.04 - les mises à jour automatiques APT n'étaient donc pas effectuées :-(. La réponse à ServerFault serverfault.com/a/568329/ 95570 a fourni des détails sur la création de ce fichier