- 5 étapes pour la mise à jour de Raspbian vers Stretch
- Raspbian: se connecter automatiquement comme root
- Raspbian upgrade: configuration du clavier
- Raspbian upgrade: interface réseau eth0 a disparu
- Raspbian upgrade: écran arc-en-ciel
- Raspbian upgrade: fail2ban qui démarre plus
Le but de ce post est de décrire les étapes permettant la mise à jour de Raspbian vers Stretch (depuis « Jessie »).
#0. Faire un backup
Une mise à jour d’OS reste une opération critique,
il est toujours préférable de faire un backup de vos données, configuration avant de lancer la procédure.
Bien que la mise à jour de Debian (Raspbian) soit une opération assez simple, ne « zapper » pas le backup car il existe un risque que votre système soit inutilisable…
A bon entendeur, salut !
MariaDB vs MySQL
La mise à jour de Raspbian vers stretch installe MariaDB, le format de la base de donnée n’est pas rétro-compatible.
Pendant la mise à jour le format sera adapté, il n’est malheureusement pas possible de faire l’opération inverse.
Si vous utilisez la base de donnée MySQL, veillez à faire un « dump » avant de procéder.
#1. S’assurer que Jessie soit à jour
Avant de procéder à la mise à jour vers Stretch,
il vaut mieux s’assurer que les bases sont solides, il faut donc commencer par mettre à jour « Jessie ».
Ce qui se fait avec les commandes suivantes:
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get dist-upgrade
Si des mises à jour doivent être téléchargées et installées, le système vous demandera de confirmer.
Si vous ne désirez pas devoir confirmer, vous pouvez directement en informer la commande
# sudo apt-get update
# sudo apt-get upgrade -y
# sudo apt-get dist-upgrade -y
le « -y » répond « Oui » (« Yes ») automatiquement pour confirmer les téléchargements et installations.
Mettre à jour le firmware
# sudo rpi-update
#2. Vérifier la consistence de votre système
il se peut que pour une raison « x » ou « y », certains packages sur votre système soient dans un état instables.
Cela peut arriver
- si une mise à jour échoue
- si vous utilisez des packages externes ou de la branche « testing »
- si vous avez compilez vous même l’un ou l’autres packages.
- …
- mais aussi la faute à pas de chance
Pour vérifier que tous vos packages sont bien installés, vous pouvez lancer la commande:
# sudo dpkg -C
S’il n’y pas de problème, cette commande ne retourne rien.
En cas de problème, il est évidemment de bon conseil de les régler (si possibleà avant de passer à la mise à jour vers Stretch.
Vérifier les packages « on hold »:
Dans l’optique ou vous auriez compilé vous-même l’un ou l’autre package,
il est coutûme de bloquer la mise à jour de ce package afin de ne pas perdre les bénéfices de sa compilation.
Vous devez donc vérifier que vous n’avez bloqué l’installation ou mise à jour d’aucun package car celà pourrait créer une inconsistance lors de la mise à jour vers Stretch.
Afin de vérifier qu’aucun package n’est « on hold », vous pouvez lancer la commande:
# sudo apt-mark showhold
Si vous avez des packages marqué « on hold », la commande pour retirer le flag est:
# sudo apt-mark unhold <package>
Nettoyer les packages obsolètes:
# sudo apt-get autoremove
# sudo apt-get autoclean
#3. Mettre à jour les sources
Cette étape consiste à changer toutes les liens de vos sources pointant vers « jessie » vers « stretch ».
Les fichiers de sources se trouvent dans le répertoire /etc/apt/, le principal fichier étant /etc/apt/sources.list mais vous pouvez avoir dans ce répertoire (ou sous répertoire) d’autres fichiers contenant des lien vers des « repositories ».
Le plus simple étant de lancer cette commande afin de vérifier toutes les occurrences de « jessie » dans ce répertoire
grep -lnr jessie /etc/apt
Une fois que vous avez la liste, vous avez différents choix:
- commenter certaines lignes si ces sources ne sont plus nécessaires
- supprimer certains fichiers si toutes les sources de ce fichier ne sont plus nécessaires
(pour les fichiers dans le répertoire /etc/apt/sources.list.d/) - mettre à jour la ligne en changeant « jessie » vers « stretch » manuellement avec votre éditeur de texte préféré
- lancer la commande suivante pour mettre à jour automatiquement « jessie » vers « stretch » dans tous les fichiers:
sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/raspi.list
#4. Mettre à jour l’index des packages
Comme on a modifié la liste de sources, il faut mettre à jour l’index avec la commande
# sudo apt-get update
Simuler l’upgrade
Si vous voulez une idée de l’impact de l’upgrade sur votre système, vous pouvez exécuter les commandes suivantes:
# sudo apt-get --simulate upgrade
ou
# sudo apt list --upgradable
Ces commandes ne modifient pas votre système,
elles vous donnent la liste des packages qui seront impactés par la mise à jour.
#5. Lancer la mise à jour
Pour lancer la mise à jour, vous devez répéter les commandes utilisées précédemment pour s’assurer que « Jessie » était à jour.
La différence étant que maintenant les sources sont les « repositories » de « stretch » et plus « jessie ».
Il suffit donc de lancer les commandes:
# sudo apt-get upgrade
# sudo apt-get dist-upgrade
Pendant la procédure le système vous demandera:
- Si vous avez modifié certains fichiers de configuration de confirmer si vous désirez conserver vos changements (choix par défaut) ou si vous désirez les écraser avec la version fournie avec l’installation de « stretch ».
- Si vous désirez redémarrer certains services après leur mise à jour
Nettoyer les packages obsolètes:
# sudo apt-get autoremove
# sudo apt-get autoclean
A ce stade, vous pouvez vérifier avec la commande suivante que votre système est à jour
# cat /etc/os-release
Mettre à jour le firmware
# sudo rpi-update
#6. Redémarrer
Il ne reste plus qu’à croiser les doigts et redémarrer