[Tuto] Mettre à jour Debian 9 vers Debian 10 "Buster"
La dixième version de la distribution Debian est sortie il y a quelques jours. Cette nouvelle version apporte son lot de nouveautés comme vous avez pu lire dans mon billet sur les nouveautés de Debian 10 "Buster". À la fin de cet article, je vous annonçais préparer un tutoriel pour migrer facilement de Debian 9 vers Debian 10. C'est ce que je vous propose aujourd’hui.
Avant de lancer la migration
Avant de vous lancer dans la migration de Debian, je vous conseille plus que fortement d'effectuer une sauvegarde de vos données importantes, au cas où. Pensez également à sauvegarder les fichiers de configuration que vous auriez personnalisés, on sait jamais.
À savoir : lorsque vous allez migrer votre distribution, aptitude est susceptible de vous poser un certain nombre de questions, comme par exemple si vous souhaitez vraiment redémarrer tel service (ce qui est obligatoire pour le mettre à jour), si vous souhaitez conserver un ancien fichier de configuration ou si vous souhaitez utiliser le fichier par défaut de la nouvelle version, etc. Restez donc à proximité pendant toute la durée de la migration.
De Debian 9 vers Debian 10
Mise à jour complète de Debian 9
Avant de commencer la mise à jour vers Debian 10, on va déjà mettre la version 9 le plus à jour possible. Pour cela, ouvrez un terminal et saisissez les commandes suivantes (attention, pensez à utiliser sudo si vous n'êtes pas l'utilisateur root) :
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
Vous pouvez aussi effectuer cela en une seule fois, comme j'ai l'habitude de le faire :
# apt-get update && apt-get upgrade && apt-get dist-upgrade
Modification des sources de mise à jour
Pour mettre à jour sa distribution, il convient de modifier les sources de mises à jour. Pour cela, il suffit d'éditer le fichier /etc/apt/sources.list et de remplacer toutes les occurrences : stretch par buster. Pour le faire, facilement et rapidement, on va utiliser la commande sed :
# sed -i 's/stretch/buster/g' /etc/apt/sources.list
Si vous n'êtes pas trop familiarisé avec la commande sed et que vous préférez utiliser votre éditeur de texte habituel, vous pouvez le faire sans souci. Votre fichier devrait, au final, contenir les lignes suivantes :
deb http://httpredir.debian.org/debian buster main
deb http://httpredir.debian.org/debian buster-updates main
deb http://security.debian.org buster/updates main
Une fois que la modification des sources a été effectuée, on va lancer la mise à jour de l'index des paquets :
# apt-get update
Vérification de la migration à venir
Cette étape n'est pas obligatoire, mais si vous le souhaitez, vous pouvez vérifier ce qui sera mis à jour en saisissant la commande ci-dessous :
# apt list --upgradable
Mise à jour de Debian 9 vers Debian 10
Tout est désormais prêt pour lancer la migration. Il ne reste plus qu'à lancer la commande suivante :
# apt-get upgrade && apt-get dist-upgrade
Certains services installés sur votre machines vont avoir besoin de redémarrer lors de la mise à jour. Apt va alors vous demander si vous souhaitez ou non redémarrer ces services de manière automatique. À vous de voir, personnellement pour ne pas être contraint de rester derrière le clavier, pour redémarrer chaque service, je clique sur Yes.
À l'issue de la mise à jour, il vous suffit de redémarrer votre serveur et hop : il sera migré sous Debian 10 ! Elle est pas belle la vie ? 😆
Vous pouvez vérifier tout cela en saisissant la commande suivante :
cat /etc/os-release
Et voilà ! Vous possédez maintenant la dernière version de Dabien, alias Debian Buster.
Partager la publication "[Tuto] Mettre à jour Debian 9 vers Debian 10 "Buster""
Bonjour, ayant un serveur Plex installé sur mon raspi, penses-tu que de passer à la version 10 de debian va poser problème.
Merci d’avance pour ton retour
Bonjour Charles,
En principe la migration de l'OS ne devrait pas impacter ton serveur Plex. J'ai pour ma part effectuer la migration de serveurs avec des sites web, etc et rien n'a été altéré.
En revanche il faut que tu utilise bien les dépôts Raspbian et pas les dépôts Debian de mon tuto...
Mais si j'étais toi, au cas où, je ferai une copie intégrale de la carte SD (avec dd par exemple) comme ça si tu rencontre un problème d'incompatibilité quelconque, tu peux restaurer ta SD 🙂
Merci pour cette procédure synthétique et concise qui va à l'essentiel.
Bonjour,
Un grand merci pour ce tuto qui permet au novice de suivre
Cependant je ne sais pas utiliser la cmd sed dans mon terminal "# sed -i 's/stretch/buster/g' /etc/apt/sources.list"
dois-je saisir sudo devant?
l'invite est pi@raspberrypi:~ $
Lorsque je saisie le ligne sans # j'ai le msg suivant: sed: impossible d'ouvrir le fichier temporaire /etc/apt/sedyow3gc: Permission non accordée
En espérant pouvoir lire votre réponse
Cordialement,
Bonjour. Oui il faut exécuter la commande avec sudo 🙂
Bonjour, quand j'effectue la mise a jour j'ai ce message à un moment et je ne sais pas quoi faire:
Install these packages without verification? [y/N] y
Reading changelogs... Done
apt-listchanges: News
---------------------
apt (1.8.0~alpha3) unstable; urgency=medium
The PATH for running dpkg is now configured by the option DPkg::Path,
and defaults to "/usr/sbin:/usr/bin:/sbin:/bin". Previous behavior of
not changing PATH may be restored by setting the option to an empty string.
Support for /etc/apt/auth.conf.d/ has been added, see apt_auth.conf(5).
-- Julian Andres Klode Tue, 18 Dec 2018 15:02:11 +0100
apt (1.6~rc1) unstable; urgency=medium
Seccomp sandboxing has been turned off by default for now. If it works
for you, you are encouraged to re-enable it by setting APT::Sandbox::Seccomp
to true.
-- Julian Andres Klode Fri, 06 Apr 2018 14:14:29 +0200
apt (1.6~beta1) unstable; urgency=medium
ce sont des informations pour root.
taper q pour sortir (si c'est bien cela)
Bonjour,
Complétement newbies en Dedian je souhaitais migrer de Strech vers Buster jusqu'a la modification du fichier souces.list de votre tuto tout allait bien, mais mon fichier est un peu différent de ce que vous indiquez dans votre tuto, la question, est : dois je simplement remplacer toutes les occurrences 'Strech" par "Buster" et continuer la procédure ou dois je retaper les lignes telles qu'indiquées dans votre tuto ?
Ci dessous mon fichier Sources.list
D'avance merci de votre retour
# deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official Multi-architecture amd64/i386 NETINST #1 20170722-14:09]/ stretch main
#deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official Multi-architecture amd64/i386 NETINST #1 20170722-14:09]/ stretch main
deb http://ftp.fr.debian.org/debian/ stretch main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ stretch main non-free contrib
deb http://security.debian.org/debian-security stretch/updates main non-free contrib
deb-src http://security.debian.org/debian-security stretch/updates main non-free contrib
# stretch-updates, previously known as 'volatile'
# deb http://ftp.fr.debian.org/debian/ stretch-updates main non-free
# deb-src http://ftp.fr.debian.org/debian/ stretch-updates main non-free
deb http://ftp.debian.org/debian stretch-backports main
deb http://ftp.de.debian.org/debian stretch main non-free
deb-src http://ftp.de.debian.org/debian stretch main non-free
# deb http://ftp.debian.org/debian stretch-backports main
# deb http://ftp.de.debian.org/debian stretch main non-free
# deb-src http://ftp.de.debian.org/debian stretch main non-free
# deb http://ftp.debian.org/debian stretch-backports main
# deb http://ftp.de.debian.org/debian stretch main non-free
# deb-src http://ftp.de.debian.org/debian stretch main non-free
Bonjour Stéphane,
Oui, tu peux lancer la commande SED que j'ai donné dans ce tuto, cela va remplacer stretch par buster, et ensuite tu pourras lancer ta mise à jour.
Attention, comme une migration n'est jamais sans risque, penses aux backups avant 🙂
++
Bonjour,
J'essaye de migrer ma machine de stretch vers buster.
# apt-get upgrade && apt-get dist-upgrade
se deroulait bien et a transfere les paquets convenablement. C'est le depaquetage qui s'est planté. Peut etre sur un probleme de place disque meme si j'avais theoriquement 16G de libre ou de memoire 4 GO ?. (Y a t'il moyen de voir un log ? dmesg ?)
La situation actuelle est la suivante :
francois@petitNoir:~$ more /etc/os-release
PRETTY_NAME="Debian GNU/Linux bullseye/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
francois@petitNoir:~$
Incomprehensible bullseye/sid puisque :
francois@petitNoir:~$ more /etc/apt/sources.list
deb http://security.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security/ buster/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ buster main non-free
francois@petitNoir:~$
Rien que du buster et certainement pas du bullseye !
francois@petitNoir:~$ ls /etc/apt/sources.list.d
francois@petitNoir:~$
Le repertoire sources.list.d est bien vide
Et voilà l'état de l'apt :
francois@petitNoir:~$ sudo apt --fix-broken install
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
Correction des dépendances... a échoué.
Les paquets suivants contiennent des dépendances non satisfaites :
gir1.2-gdkpixbuf-2.0 : Dépend: libgdk-pixbuf-2.0-0 (>= 2.39.2) mais il n'est pas installable
gkrellm : Dépend: libgdk-pixbuf-2.0-0 (>= 2.22.0) mais il n'est pas installable
kinfocenter : Dépend: libegl1 mais il n'est pas installable
kodi-bin : Dépend: libmariadbclient18 (>= 5.5.36) mais il n'est pas installable
libappstream4 : Dépend: libglib2.0-0 (>= 2.61.2) mais 2.50.3-2+deb9u2 est installé
libappstreamqt2 : Dépend: libglib2.0-0 (>= 2.58) mais 2.50.3-2+deb9u2 est installé
libboost-mpi-python1.62.0 : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
libc-dev-bin : Dépend: libc6 (= 5.5.36) mais il n'est pas installable
libgdk-pixbuf-xlib-2.0-0 : Dépend: libgdk-pixbuf-2.0-0 (>= 2.40.0) mais il n'est pas installable
libgdk-pixbuf2.0-0 : Dépend: libgdk-pixbuf-2.0-0 (>= 2.40.0) mais il n'est pas installable
libgdk-pixbuf2.0-bin : Dépend: libgdk-pixbuf-2.0-0 (>= 2.35.4) mais il n'est pas installable
Dépend: libglib2.0-0 (>= 2.56.0) mais 2.50.3-2+deb9u2 est installé
libgdk-pixbuf2.0-dev : Dépend: libgdk-pixbuf-2.0-dev (>= 2.40.0) mais il n'est pas installable
Dépend: libgdk-pixbuf-xlib-2.0-dev (>= 2.40.2-2) mais il n'est pas installable
libglib2.0-bin : Dépend: libglib2.0-0 (= 2.66.7-2) mais 2.50.3-2+deb9u2 est installé
libglib2.0-dev : Dépend: libglib2.0-bin (= 2.50.3-2+deb9u2)
libibus-1.0-5 : Dépend: libglib2.0-0 (>= 2.59.0) mais 2.50.3-2+deb9u2 est installé
libkwaylandserver5 : Dépend: libegl1 mais il n'est pas installable
libmailutils5 : Dépend: libmariadbclient18 (>= 5.5.36) mais il n'est pas installable
libmariadbclient-dev : Dépend: libmariadbclient18 (= 10.1.48-0+deb9u1) mais il n'est pas installable
libqt4-declarative : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-designer : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-dev : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
Recommande: libqt4-opengl-dev (= 4:4.8.7+dfsg-11+deb9u1) mais il n'est pas installé
libqt4-dev-bin : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-help : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-network : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-opengl : Dépend: libqtgui4 (= 4:4.8.7+dfsg-11) mais 4:4.8.7+dfsg-11+deb9u1 est installé
libqt4-qt3support : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-script : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-scripttools : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-sql : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-sql-sqlite : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-svg : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-test : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-xml : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt4-xmlpatterns : Dépend: libqtcore4 (= 4:4.8.7+dfsg-11+deb9u1) mais 4:4.8.7+dfsg-11 est installé
libqt5core5a : Casse: libqtcore4 (= 0.2.4) mais il n'est pas installable
nfs-kernel-server : Dépend: libtirpc1 (>= 0.2.4) mais il n'est pas installable
plasma-framework : Dépend: libegl1 mais il n'est pas installable
plasma-workspace : Dépend: libegl1 mais il n'est pas installable
Recommande: libpam-kwallet5 (>= 5.14) mais 5.8.4-1+deb9u2 est installé
Recommande: powerdevil (>= 4:5.14) mais 4:5.8.4-1 est installé
python3-apt : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-brlapi : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-crypto : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-cups : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-dbus : Dépend: python3 (= 3.9.2-0~) mais il n'est pas installable
python3-gdal : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-gi : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-netifaces : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-pil : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-psutil : Dépend: python3 (< 3.6) mais 3.9.2-2 est installé
python3-pycurl : Dépend: python3 (= 0.2.5-1.2~) mais il n'est pas installable
ure : Dépend: uno-libs3 (= 5.2.7-1+deb9u11) mais il n'est pas installé
E: Erreur, pkgProblem::Resolve a généré des ruptures, ce qui a pu être causé par les paquets devant être gardés en l'état.
E: Impossible de corriger les dépendances
francois@petitNoir:~$
Je vois bien qu'il y a deja 2 problemes principaux sur libqtcore4 et python3
J'ai tenté un dpkg forcedowngrade d'un paquet libqtcore4_4.8.7_dfsg-11_amd64.deb trouve sur https://pkgs.org/download/libqtcore4
mais ca ne colle pas. Quant à python3 je ne vois pas du tout quoi faire.
Donc après reboot, je me retrouve avec un kde cassé meme si j'ai acces à kate et a des consoles.
Mais pas de networkManager donc pas de reseau a priori.
Je suis un peu désespéré.
Si quelqu'un a des idées pour me sortir de ce mauvais pas, elles seraient bienvenues.
Merci de votre aide
Francois
Salut !
Je ne sais pas d'où sors ton Bullseye car c'est la version après Buster...
Si tu n'as plus de réseau, c va être assez compliqué, à part peut être démarrer sur un system live, chrooter l'environnement et tenter peut etre un apt full-upgrade. Mais au préalable sauvegarde tes données avant... 😉
Bonjour,
Merci Sandstorm pour ta réponse.
Bien sûr que Bullseye est la version d'apres !
Ma question est bien de savoir comment c'est possible (facultatif) et comment réparer (impératif si nécessaire) !
D'autre part, j'ai retabli le reseau en mode console.
De plus par
$ kstart5 plasmashell
j'ai recuperé le bureau et une partie de kde (4 bureaux/barre de menu) mais pas le menu KDE, ni certaines applis, ni les navigateurs internet
Les commandes apt rendent toutes compte des memes problemes d'inconsistance (voir mon precedent post)
dpkg --list rend un nombre important de paquets iU, je peux te diffuser ce fichier si cela pouvait aider
apt show linux-image-amd64
donne bien la version 4.19+105+deb10u9
apt full-upgrade donne egalement la meme chose et invite a nouveau a faire un fix-broken install qui donne le meme resultat
Merci de ton aide.
Salut ! Comment est ton sources.list à l'heure actuelle ? As tu viré bullseye ? En commentant la ligne ou en remplaçant bullseye buster, tente un petit apt-get -f dist-upgrade.
Et bien sur à chaque fois que tu modifie ton sources.list, un petit apt-get update 🙂
sinon essaie de réparer les paquet dont il manque des dépendances avec un apt-get build-dep packagename
Salut,
Mon sources.list n'a pas bouge et n'a JAMAIS contenu bullseye mais bien BUSTER
Je n'y ai pas touché et il contient ce que j'ai dit dans mon 1er post.
apt-get -f dist-upgrade ne donne rien de plus que la liste des dependances non satisfaites connues
apt-get build-dep kinfocenter
donne : impossible de trouver une source de paquet pour kinfocenter - c'est pareil pour "python3"
Salut François, on peut continuer de chercher un peu mais je pense que tu gagnerais ton temps à sauvegarder tes data et refaire une install propre.
Après avoir fais une sauvegarde des data au cas ou, tente ceci :
Renomme ton fichier sources.list puis, crée en un nouveau dans lequel tu mets :
deb http://deb.debian.org/debian/ buster main
deb-src http://deb.debian.org/debian/ buster main
deb http://deb.debian.org/debian/ buster-updates main
deb-src http://deb.debian.org/debian/ buster-updates main
deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main
Ensuite tu modifie ton /etc/os-release pour mettre en PRETTY_NAME "Debian GNU/Linux 10 (buster)"
Enfin, tu fais en root :
apt autoclean
apt clean
apt update
apt autoremove
apt full-upgrade
Si après cela a ne fonctionne pas, tu peux tenter d'utiliser aptitude au lieu de apt.
Et sinon, tu peux aussi tenter la manip inverse pour tenter de repartir sur un stretch fonctionnel.
Merci Sandstorm
Je vais tenter ca ce soir
Je pensais à quelque chose : y a-t'il un moyen de savoir quels paquets utilisent tel autre avec sa version :
par exemple : liste des paquets utilisant libqtcore4 en version 4:4.8.7+dfsg-11
Salut. Je sais qu'il existe un paquet qui peut te lister les dépendances, ais je ne l'ai jamais utilisé. De mémoire ça doit être apt-rdepends.
tu dois pouvoir lister les paquets cassés avec apt-get check.
Bonsoir,
Mon Debian 9 donnait vraiment des signes de fatigues au point de ne plus pouvoir ouvrir Gmail... J'ai suivi ta procédure pas à pas et c'est que du bonheur .
Il faut compter 3 bonnes heures pour faire ça proprement.
Merci beaucoup, c'est clair précis et concis. Bravo un bon tuto.
Merci pour ton retour Lionel. Content que ça ait pu t'être utile 🙂