Table des matières

Ma migration de jessie vers stretch

Introduction

Afin de tester sans risque la mise à niveau debian jessie vers stretch, j'ai cloné mon système dans une machine virtuelle (type virtualbox).

J'ai rédigé ce tuto pour partager mon expérience.

Configurations de ma machine : Architecture debian jessie AMD64 Mes gestionnaires de session et de fenêtre sont respectivement gdm3 et GNOME. J'utilise debian jessie stable avec quelques paquet du dépôt jessie-backports. J'utilise la documentation de référence (en Français): https://www.debian.org/releases/stretch/amd64/release-notes.fr.pdf du 12 juin 2017.

Note à ce jour une nouvelle version en date du 25 septembre 2017 est disponible.

Mise à jour du système

A chaque étape j'ai mis lien de référence à la documentation Debian (en Grand Breton)

Il est 22H30

Je démarrage le PC (la machine virtuelle), arrivé sur la fenêtre du gestionnaire de session je passe sur la console tty1 avec CTRL-ALT-F1.

Je me connecte ensuite avec le user root.

Mise à niveau depuis debian 8 (jessie)

https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html

Je commence par supprimer quelques paquets dont je n'ai plus besoin, ainsi que virtualbox qui n'est pas présent dans le dépôt stable de stretch.

Je mets à jour la liste des paquets jessie et tente une dernière fois les commande mise à jour des paquets :

apt-get update && apt-get upgrade apt-get dist-upgrade

Vérification de l'état du système

https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html#system-status

Je cherche les paquets non pris en charge avec la commande :

aptitude search '~i(!~ODebian)'
retour de la commande
i libdvdcss2 -LibrairydesignforacessingDVDs

Il s'agit du paquet issu du dépôt tiers videolan pour pouvoir lire les DVD commerciaux.

Je supprime ce paquet et le réinstallerai dès que ma debian aura migré en strectch

apt-get remove libdvdcss2

Note : La commande apt-forktracer retourne commande introuvable.

Vérifier les actions en cours dans le gestionnaire de paquets

https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html#review-actions

Je vérifie s'il n'y a pas d'actions en cours dans le gestionnaire de paquet en lançant aptitude et en appuyant sur la touche G.

Réponse d'aptitude : Il n'est prévu d'installer, mettre à jour ou enlever aucun paquet.

Tout va bien je quitte aptitude avec la touche Q.

Désactiver l'épinglage APT

Là je n'ai rien à faire puisque je ne pratique pas l'épinglage.

Vérification de l'état des paquets

https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html#package-status Je vérifie l'état des paquets avec les commandes :

dpkg --audit

pas de retour

dpkg --get-selections | grep 'hold$'

pas de retour

Note je n'ai fait aucune modification ou compilation de paquet.

La section proposed-updates

Je n'ai pas de section proposed-updates dans mon sources.list

Sources non officielles

Je n'ai pas de source non officielle non plus.

Préparer les sources d'APT

https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html#upgrade-process

Début de l'aventure préparation du sources.list en vue de mettre à jour vers stretch. Je ne garde que ces trois lignes :

/etc/apt/sources.list
deb http://deb.debian.org/debian/ stretch main contrib non-free
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free

Mettre à niveau les paquets

https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html#upgradingpackages

Le grand saut, la mise à niveau des paquets.

Je commence par inhiber gdm3 comme recommandé au §4.1.5

systemctl stop gdm3
Enregistrer la session

https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html#record-session Je lance le script d'enregistrement de session pour aider en cas de déboguage.

script -t 2>~/upgrade-stretchetape.time -a ~/upgrade-stretchetape.script
Mettre à jour la liste des paquets

Je lance la mise à jour des paquets :

apt-get update
S'assurer d'avoir assez d'espace disque pour la mise à niveau

Je m'assure d'avoir assez d'espace disque disponible (en fait il vaudrait mieux s'en assurer bien avant) Je lance la commande de simulation:

apt-get -o APT::Get::Trivial-Only=true dist-upgrade

qui me retourne 1936 paquets mis à jour, 534 nouvellement installés, 110 à enlever, 0 non mis à jour, 1656Mo d'espace supplémentaires seront utilisés après les opérations.( plus une erreur sans gravité).

je vire les paquets obsolètes avec la commande :

apt-get autoremove

la commande :

df

me retourne qu'il me reste encore 12,3Go de libre sur mon système. C'est largement assez.

Mise à niveau minimale du système

Il est 23H25 je lance la commande :

apt-get upgrade

au bout de 5mn28s la commande me retourne 1122 mis à jour, 875 Mo pris dans les archives 8,4Mo libérés et me demande si je veux continuer. Je réponds O (oui).

La mise à jour commence… Puis une question subliminales concernant un fichier de configuration survient. Je vérifie les différences entre mon fichier de configuration et celui proposé par le mainteneur de paquet.

…Fichier de configuration /etc/pam.d/login. La ligne “account requisite pam=time.so” redevient commentée comme prévue par défaut. Je valide la modification par “Y” et modifierait la configuration après la mise à jour de jessie vers stretch.

La mise à jour se termine.

Pour être sûr de l'espace disponible je relance la commande :

apt-get -o APT::Get::Trivial-Only=true dist-upgrade

qui me retourne 814 paquets mis à jour, 534 nouvellement installés, 110 à enlever, 0 non mis à jour, nécessaire de prendre 2227Mo dans les archives et 1664Mo d'espace supplémentaires seront utilisés après les opérations.

A ce stade il me reste 11,9Go de libre (1,4Go ont déjà été consommés).

Mise à niveau du système

Je lance la commande :

apt-get dist-upgrade

Au bout d'une heure et 5mn de chargement de fichier via le réseau une question mm demande si je souhaite laisser l'installateur arrêter les services sans me poser la question à chaque fois. Je répond Oui.

L'installation se poursuit puis une nouvelle question subliminale concernant un fichier de configuration survient. Je vérifie les différences entre mon fichier de configuration et celui proposé par le mainteneur de paquet.

…Fichier /etc/ssh-config Plusieurs modifications importantes sont apportées par le mainteneur de paquet qui au passage supprime deux options que j'avais rédigées. Je les note pour pouvoir le remettre après la mise à jour et je valide la modification de la configuration en répondant “Y”.

Il est 2H14 (soit presque 4H00 de mise à jour… glups…) La mise à jour s'est déroulée correctement et debian démarre en version 9.

Conclusion

Le lendemain, surprise, j'ai constaté que le paquet wine a disparu. Seul reste quelques paquets de librairies dépendantes. De plus l'architecture 32bit a également été supprimé du système.

J'ai appliqué la procédure du wiki debian : https://wiki.debian.org/Wine et ajouté l'architecture 32bit :

dpkg --add-architecture i386
dpkg apt-get update

puis installé les paquets :

apt-get install wine wine32 wine64 libwine libwine:i386 fonts-wine

Depuis wine fonctionne et mes quelques applications ouinedauze fonctionnent correctement (Si vous connaissez un équivalent de simulateur de circuit électronique libre du même niveau que LTspice, je suis preneur).

Reste à faire : Remettre les configurations pam et ssh vus plus haut.

Installer le paquet libdvdcss2.

Tester l'ensemble de mes applications.