====== 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.