Dernière modification le 08/08/2021

Mise à jour

Il est très important de maintenir le système d'exploitation et applications à jour, ce qui permet de corriger des bugs, failles de sécurité ou obtenir des fonctionnalités supplémentaires.


Depuis le bureau


Depuis un shell (LXTerminal)


Mise à jour des dépôts

Mettre à jour la liste des dépôts, démarrer un terminal (LXTerminal) et tapez :

sudo apt update ↲ Get:1 http://archive.raspberrypi.org/debian buster InRelease [32.9 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Get:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
Get:4 http://archive.raspberrypi.org/debian buster/main armhf Packages [372 kB]
Get:5 http://raspbian.raspberrypi.org/raspbian buster/non-free armhf Packages [104 kB]
Fetched 13.5 MB in 19s (700 kB/s)
Reading package lists... Done


Application des mise à jours

L’étape suivante est de mettre à jour les applications et systèmes d'exploitation.
Notez que la mise à niveau complète (apt full-update) est utilisée de préférence à une mise à niveau simple, car elle prend également en compte les changements de dépendances qui ont pu être effectués.
Tapez ensuite :

sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
alsa-utils base-files bind9-host bluez-firmware ca-certificates device-tree-compiler file firmware-atheros
firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek iproute2 libbind9-161
libdns-export1104 libdns1104 libgnutls30 libisc-export1100 libisc1100 libisccc161 libisccfg163 libldap-2.4-2
libldap-common liblwres161 libmagic-mgc libmagic1 libpam-systemd libraspberrypi-bin libraspberrypi-dev
libraspberrypi-doc libraspberrypi0 libssl1.1 libsystemd0 libudev1 libzstd1 openssh-client openssh-server
openssh-sftp-server openssl python-rpi.gpio raspberrypi-bootloader raspberrypi-kernel raspberrypi-sys-mods
raspi-config rpi-eeprom rpi.gpio-common ssh sudo systemd systemd-sysv tzdata udev unzip
53 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 151 MB of archives.
After this operation, 7,435 kB of additional disk space will be used.
Do you want to continue? [Y/n]

A la question répondes oui, “y”.

Get:1 http://archive.raspberrypi.org/debian buster/main armhf openssh-sftp-server armhf 1:7.9p1-10+deb10u2+rpt1 [36.0 kB]
Get:2 http://archive.raspberrypi.org/debian buster/main armhf libssl1.1 armhf 1.1.1d-0+deb10u5+rpt2 [1,277 kB]
Get:4 http://archive.raspberrypi.org/debian buster/main armhf openssh-server armhf 1:7.9p1-10+deb10u2+rpt1 [291 kB]
Get:5 http://archive.raspberrypi.org/debian buster/main armhf openssh-client armhf 1:7.9p1-10+deb10u2+rpt1 [669 kB]
Get:6 http://archive.raspberrypi.org/debian buster/main armhf ssh all 1:7.9p1-10+deb10u2+rpt1 [202 kB]
Get:8 http://archive.raspberrypi.org/debian buster/main armhf alsa-utils armhf 1.1.8-2+rpt1 [1,010 kB]
Get:9 http://archive.raspberrypi.org/debian buster/main armhf bluez-firmware all 1.2-4+rpt8 [175 kB]
Get:10 http://archive.raspberrypi.org/debian buster/main armhf openssl armhf 1.1.1d-0+deb10u5+rpt2 [807 kB]
Get:11 http://archive.raspberrypi.org/debian buster/main armhf firmware-atheros all 1:20190114-1+rpt11 [3,887 kB]
Get:14 http://archive.raspberrypi.org/debian buster/main armhf firmware-brcm80211 all 1:20190114-1+rpt11 [4,600 kB]
.
.
.
Setting up openssh-sftp-server (1:7.9p1-10+deb10u2+rpt1) ...
Setting up openssh-server (1:7.9p1-10+deb10u2+rpt1) ...
rescue-ssh.target is a disabled or a static unit, not starting it.
Setting up libbind9-161:armhf (1:9.11.5.P4+dfsg-5.1+deb10u3) ...
Setting up bind9-host (1:9.11.5.P4+dfsg-5.1+deb10u3) ...
Setting up ssh (1:7.9p1-10+deb10u2+rpt1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for dbus (1.12.20-0+deb10u1) ...
Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...
Processing triggers for mime-support (3.62) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Processing triggers for initramfs-tools (0.133+deb10u1) ...
Processing triggers for ca-certificates (20200601~deb10u2) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.


Manque d'espace

Lorsque vous exécutez “sudo apt full-upgrade”, vous verrez combien de données seront téléchargées et combien d'espace elles occuperont sur la carte SD. Cela vaut la peine de vérifier avec la commande “df -h” que vous avez suffisamment d'espace disque libre, car malheureusement apt ne le fera pas pour vous. Sachez également que les fichiers de paquets téléchargés (fichiers .deb) sont conservés dans "/var/cache/apt/archives". Vous pouvez les supprimer afin de libérer de l'espace avec la commande :

sudo apt clean

Anciennement “sudo apt-get clean”.


Mise à jour du noyau et du VideoCore

La commande “rpi-update” permet de mettre à jour le noyau OS de votre Raspberry Pi et le firmware VideoCore vers les dernières versions pré versions.

Attention

Le fonctionnement des versions préliminaires des logiciels n'est pas garanti. Vous ne devez pas utiliser “rpi-update” sur un système, sauf si un ingénieur Raspberry Pi vous le recommande. Votre système risque de ne pas être fiable, voire de ne plus fonctionner du tout. Il ne doit pas être utilisé dans le cadre d'un processus de mise à jour régulière..

Le script “rpi-update” est fourni par une tierce partie, "Hexxeh", et est également soutenu par les ingénieurs de Raspberry Pi. La source du script peut être trouvée sur GitHub à l'adresse https://github.com/Hexxeh/rpi-update.


Que fait cette commande

“rpi-update” télécharge la dernière version du noyau linux, les modules correspondants, les fichiers de l'arborescence des périphériques, ainsi que les dernières versions du firmware VideoCore. Il installera ensuite ces fichiers aux endroits appropriés de la carte SD, en écrasant toutes les versions précédentes.
Toutes les données sources utilisées par “rpi-update” proviennent du dépôt GitHub https://github.com/Hexxeh/rpi-firmware. Ce dépôt contient simplement un sous-ensemble des données du dépôt officiel du firmware, car toutes les données de ce dépôt ne sont pas nécessaires.


Exécution de rpi-update

Si vous êtes sûr d'avoir besoin d'utiliser “rpi-update”, il est conseillé de faire d'abord une sauvegarde de votre système actuel, car l'exécution de “rpi-update” peut entraîner un système qui ne démarre pas.
rpi-update” doit être exécuté en tant que root. Une fois la mise à jour terminée, vous devrez redémarrer.

sudo rpi-update
sudo reboot

Il dispose d'un certain nombre d'options, qui sont documentées sur le dépôt GitHub de Hexxeh à l'adresse https://github.com/Hexxeh/rpi-update.


Comment revenir à la version précédente

Si vous avez effectué une mise à jour “rpi-update” et que les choses ne fonctionnent pas comme vous le souhaitez, si votre Raspberry Pi est toujours amorçable, vous pouvez revenir à la version stable en utilisant :

sudo apt-get update
sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel

Vous devrez redémarrer votre Raspberry Pi pour que ces changements prennent effet.


Supprimer les paquets inutiles

Nous allons supprimer tous les paquets inutiles qui ont été installés comme dépendances de logiciels que nous n'avons plus installés. Nous faisons cela avec la commande suivante :

sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
python-colorzero
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 130 kB disk space will be freed.
Do you want to continue? [Y/n] y↲
(Reading database ... 40786 files and directories currently installed.)
Removing python-colorzero (1.1) ...


Mise à jour automatique

Le paquet "unattended-upgrades" permet d’automatiser le processus de mise à jour de sécurité (et autres) à intervalle régulier.
Installation du paquet en question :

sudo apt install unattended-upgrades

Ouvrir le fichier de configuration :

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Changez tout ce que vous voulez dans ce fichier
Par défaut, il télécharge seulement les mises à jour de sécurité, mais il est possible de modifier cela pour installer toutes les mises à jour.
Pour envoyer un mail au “Root” (si le serveur mail est configuré), décommenter la ligne suivante :

Unattended-Upgrade::Mail "root";

Pour définir l’intervalle de mise à jour, éditer le fichier suivant :

sudo nano /etc/apt/apt.conf.d/02periodic

Coller les lignes suivantes (le fichier devrait être vide, mais si ce n’est pas le cas changez juste les valeurs) :

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

Cette configuration active une mise à jour automatique tous les jours
Nous demandons à apt de faire chaque jour : mise à jour des dépôts et des paquets, ainsi qu’un nettoyage avec « auto-clean ».
La dernière ligne correspondant au niveau de debug dans le fichier “/var/log/unattended-upgrades” et dans l’email envoyé (1 = bas, 3 = haut).
Il est possible de vérifier votre configuration avec la commande :

sudo unattended-upgrades -d
Checking if system is running on battery is skipped. Please install powermgmt-base package to check power status and skip installing updates when the system is running on battery.
Initial blacklist :
Initial whitelist:
Starting unattended upgrades script
Allowed origins are: origin=Debian,codename=buster,label=Debian, origin=Debian,codename=buster,label=Debian-Security Using (^linux-image-[0-9]+\.[0-9\.]+-.*|^linux-headers-[0-9]+\.[0-9\.]+-.*|^linux-image-extra-[0-9]+\.[0-9\.]+-.*|^l inux-modules-[0-9]+\.[0-9\.]+-.*|^linux-modules-extra-[0-9]+\.[0-9\.]+-.*|^linux-signed-image-[0-9]+\.[0-9\.]+-.*|^l inux-image-unsigned-[0-9]+\.[0-9\.]+-.*|^kfreebsd-image-[0-9]+\.[0-9\.]+-.*|^kfreebsd-headers-[0-9]+\.[0-9\.]+-.*|^g numach-image-[0-9]+\.[0-9\.]+-.*|^.*-modules-[0-9]+\.[0-9\.]+-.*|^.*-kernel-[0-9]+\.[0-9\.]+-.*|^linux-backports-mod ules-.*-[0-9]+\.[0-9\.]+-.*|^linux-modules-.*-[0-9]+\.[0-9\.]+-.*|^linux-tools-[0-9]+\.[0-9\.]+-.*|^linux-cloud-tool s-[0-9]+\.[0-9\.]+-.*|^linux-buildinfo-[0-9]+\.[0-9\.]+-.*|^linux-source-[0-9]+\.[0-9\.]+-.*) regexp to find kernel packages
Using (^linux-image-5\.10\.52\-v7\+$|^linux-headers-5\.10\.52\-v7\+$|^linux-image-extra-5\.10\.52\-v7\+$|^linux-modu les-5\.10\.52\-v7\+$|^linux-modules-extra-5\.10\.52\-v7\+$|^linux-signed-image-5\.10\.52\-v7\+$|^linux-image-unsigne d-5\.10\.52\-v7\+$|^kfreebsd-image-5\.10\.52\-v7\+$|^kfreebsd-headers-5\.10\.52\-v7\+$|^gnumach-image-5\.10\.52\-v7\ +$|^.*-modules-5\.10\.52\-v7\+$|^.*-kernel-5\.10\.52\-v7\+$|^linux-backports-modules-.*-5\.10\.52\-v7\+$|^linux-modu les-.*-5\.10\.52\-v7\+$|^linux-tools-5\.10\.52\-v7\+$|^linux-cloud-tools-5\.10\.52\-v7\+$|^linux-buildinfo-5\.10\.52 \-v7\+$|^linux-source-5\.10\.52\-v7\+$) regexp to find running kernel packages
pkgs that look like they should be upgraded:
Fetched 0 B in 0s (0 B/s)
fetch.run() result: 0
blacklist: []
whitelist: []
No packages found that can be upgraded unattended and no pending auto-removals
Extracting content from /var/log/unattended-upgrades/unattended-upgrades-dpkg.log since 2021-07-31 22:20:51

N’oubliez pas de vérifier le fichier de log et/ou l’email reçu régulièrement pour vous assurer que tout est bien fait comme prévu.

Attention

Attention, il n’est pas toujours conseillé d'effectuer des mises à jour sans surveillance. Il est recommandé de tester les mise à jour sur un autre système que celui en production, afin de vérifier qu’il n’y a pas de dysfonctionnement !