====== Ma migration de jessie vers stretch ======
* Objet : Fil conducteur de ma migration de la distribution Jessie vers Stretch
* Niveau requis : {{tag>avisé}}
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
===== 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)'
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 :
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.