Actuellement, pour mettre les choses à jour sur mon Raspberry Pi, je dois taper sudo apt-get update
et sudo apt-get upgrade
. Y at-il un moyen de le configurer pour le faire automatiquement? Je cours Raspbian Jessie.
Actuellement, pour mettre les choses à jour sur mon Raspberry Pi, je dois taper sudo apt-get update
et sudo apt-get upgrade
. Y at-il un moyen de le configurer pour le faire automatiquement? Je cours Raspbian Jessie.
Réponses:
au lieu d'un cron manuel, vous pouvez installer unattended-upgrades
, ce qui est utile pour vous assurer que les derniers noyaux sont installés. Il est principalement conçu pour la sécurité.
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
Certains bits peuvent être ajustés / configurés, mais la valeur par défaut est correcte.
50unattended-upgrades
répertorié "origin=Debian,codename=${distro_codename},label=Debian-Security";
et il semble que les paquets appropriés soient correctement trouvés. Bien sûr, il en ignore beaucoup. Je n'ai pas établi de liste blanche ou noire.
50unattended-upgrades
est en effet stupide et doit être modifiée pour que cela fonctionne avec Raspian. Il n'y a pas Raspian-Security
. Les mises à jour de sécurité ne sont pas étiquetées. Il est important d'ajouter les deux "origin=Raspbian,codename=${distro_codename},label=Raspbian";
et "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
à/etc/apt/apt.conf.d/50unattended-upgrades
Dans un terminal, tapez:
sudo su
Pour accéder à une invite au niveau de la racine. Ensuite, lancez:
crontab -e
Pour commencer à éditer votre crontab, un tableau de tâches à exécuter automatiquement à un moment donné. Il s'ouvrira dans votre éditeur de texte préféré. Modifiez-le pour inclure les lignes suivantes:
0 7 * * 1 apt update && apt upgrade -y
Pour mettre à jour et mettre à jour automatiquement vos applications à 7 heures tous les lundis. Lisez-le sur crontab pour savoir comment vous adapter.
&&
car elles sont liées et il n'y a aucune raison de faire une mise à jour si la mise à jour échoue.
0
signifie dimanche mais vous avez mis dans votre code 1
pour que la commande soit exécutée le lundi, pas le dimanche
dist-upgrade
est meilleur que upgrade
, vous allez vous retrouver avec des dépendances brisées utilisant uniquement upgrade
. Vous ne pourrez pas non plus contourner les mises à jour nécessitant une confirmation de dialogue. @ tedder42 a souligné la méthode préférée par Debian (utiliser unattended-upgrades
).
sudo
y en avoir vous avez basculé sur le root
compte en utilisant su
. La crontab du superutilisateur est exécutée avec les privilèges de superutilisateur.
Vous pouvez installer et configurer cron-apt. Installez-le en procédant comme suit:
apt-get install cron-apt
le fichier de configuration principal est / etc / cron-apt / config
Une chose que j'ajoute à ma configuration est:
MAILON="always"
cela enverra un email à chaque fois qu'il s'exécutera, pas seulement s'il rencontre une erreur.
Notez que la configuration par défaut n'installe pas automatiquement les mises à jour (il y a de bonnes raisons de ne pas le faire), mais vous pouvez le configurer pour le faire. L'un des avantages de ce programme par rapport à une solution cron simple est qu'il vous permet de contrôler ce qui est installé (téléchargez uniquement les nouveaux packages, installez les mises à jour de sécurité ou installez toutes les mises à jour).
Pour définir l'heure d'exécution, éditez le fichier /etc/cron.d/cron-apt.
Vous pouvez trouver plus d'informations et les options de configuration ici
Le paquet inclut une très bonne documentation, mais il est gzippé. Pour extraire le fichier:
Dans sa configuration par défaut, unattended-upgrades
est cassé dans Raspbian Buster. Il n’installe pas de mises à jour cruciales pour le noyau et d’autres logiciels. Vos options sont:
Option recommandée:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
Pour des mises à jour de sécurité plus rapides (mais moins de stabilité, car les paquets n'ont pas été approuvés pour rasbian), vous pouvez ajouter des paquets debian-security à apt:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
Vous devrez probablement installer de nouvelles clés apt pour le référentiel Debian .
Autres options:
Contournez-le en utilisant cron-apt:
sudo apt install cron-apt
Autres moyens de contourner le problème.
Il est recommandé d'utiliser les mises à jour sans assistance et de corriger le paquet, car il convient mieux à cette fin. Cron-apt est votre deuxième choix, car il est également conçu dans un but similaire. Je ne suis pas sûr que soit capable de redémarrer automatiquement votre système après une mise à jour du noyau. Les mises à niveau sans assistance ont généralement cette option, mais je ne suis pas sûr que cela fonctionne avec le correctif ci-dessus.
/var/log/unattended-upgrades/unattended-upgrades.log
fichier a signaléAllowed origins are: []
qu'il ne contenait aucune mise à jour. Après la mise/etc/apt/apt.conf.d/50unattended-upgrades
à"origin=Raspbian,codename=${distro_codename},label=Raspbian";
jour, les mises à jour ont commencé à arriver.