5 étapes pour la mise à jour de Raspbian vers Stretch

By | 18 février 2018 |
This entry is part 1 of 6 in the series Mise à jour de Raspbian vers Stretch

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:

  1. commenter certaines lignes si ces sources ne sont plus nécessaires
  2. 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/)
  3. mettre à jour la ligne en changeant « jessie » vers « stretch » manuellement avec votre éditeur de texte préféré
  4. 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

Raspbian stretch

Raspbian stretch

Mettre à jour le firmware

# sudo rpi-update

#6. Redémarrer

Il ne reste plus qu’à croiser les doigts et redémarrer

Series NavigationRaspbian: se connecter automatiquement comme root >>

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.