# Faire ses mises à jour

Faire ses mises à jour régulièrement est un des meilleurs moyens de protéger ses outils informatiques des cyberattaques. C'est cependant quelque chose qui est souvent négligé ou fait à une fréquence beaucoup trop faible.

Pour ne pas oublier et garder un système frais et dispos, il est possible de les automatiser, du moins en bonne partie. Cependant, pour ce qui est des serveurs web, il faut faire attention parce qu'elles peuvent compromettre la disponiblité des services. Il est alors recommandé d'envoyer des alertes à l'administrateur plutôt que tout mettre à jour automatiquement.

## Sur GNU/Linux

Sur GNU/Linux, il n'y a pas de mécanisme uniforme pour effectuer les mises à jour. Chaque famille de distribution a son propre système de gestion de paquetages. Mais, pour simplifier les choses, je vais vous en montrer 2: Debian et Arch.

### Debian

Sur Debian, les mises à jour sont effectuées en deux étapes:

- mettre à jour l'index des paquetages
- installer les nouvelles versions disponibles des paquetages

Il est possible de combiner ces deux actions avec cette commande:

```{.bash linenos="true" breaklines="true" tabsize="2" fontsize="\small" bgcolor="turquoisefonce!10!white"}
sudo apt update && sudo apt upgrade
```

Si on veut aller plus loin dans l'automatisation, il est possible de programmer les mises à jour de sécurité avec `UnattendedUpgrades` pour qu'elles s'effectuent en arrière-plan selon un calendrier précis sans avoir à s'en occuper.

### Arch

Sur Arch, il y a deux systèmes de gestion de paquetages:

- `pacman`, pour ce qui est officiellement supporté. Vous avez déjà vu ce dernier précédemment, car c'est aussi `pacman` qui est utilisé dans MSYS2 sur Windows.
- AUR, pour ce qui est développé par la communauté, avec le client `yay`, qui a exactement la même syntaxe que `pacman`.

Pour faire une mise à jour avec un de ces deux utilitaires, les commandes sont les suivantes:

```{.bash linenos="true" breaklines="true" tabsize="2" fontsize="\small" bgcolor="turquoisefonce!10!white"}
pacman -Syyu
yay -Syyu
```

## Sur macOS

Il est possible d'activer les mises à jour automatiques dans les préférences du App Store. Aussi simple que ça !

## Sur Windows

Sur Windows, il faut installer une petite extension à PowerShell pour avoir accès aux fonctionnalités de mises à jour. Cette extension se nomme `PSWindowsUpdate`.

vous pouvez obtenir la liste des mises à jour à installer comme suit:

```{.powershell linenos="true" breaklines="true" tabsize="2" fontsize="\small" bgcolor="turquoisefonce!10!white"}
Get-WindowsUpdate
```

Et pour les installer, c'est comme suit (les commandes ont le mérite d'avoir des noms faciles à comprendre !):

```{.powershell linenos="true" breaklines="true" tabsize="2" fontsize="\small" bgcolor="turquoisefonce!10!white"}
Install-WindowsUpdate
```

Si vous voulez automatiser le tout (sur Windows c'est beaucoup moins risqué, comme les mises à jour ne sont que pour le système d'exploitation), alors il suffit de tout accepter et de redémarrer au besoin. C'est important de **faire les mises à jour la nuit** dans ce cas!

```{.powershell linenos="true" breaklines="true" tabsize="2" fontsize="\small" bgcolor="turquoisefonce!10!white"}
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
```

Plus qu'à utiliser ce que nous avons vu au chapitre 1 et mettre cette tâche dans le planificateur de tâches !
