Sommaire
Ce journal raconte comment j'ai migré une machine depuis un système CoreOS4 vers système Debian 13 Trixie sans réinstallation et en conservant les données.
contexte
Je loue depuis quelques années une petite machine dans un centre de données OVH. J'avais opté à l'époque pour le système d'exploitation CoreOS car il présentait plusieurs avantages :
- image proposée par OVH pour initialiser le système
- système minimaliste : noyau Linux + Docker/containerd
- système orienté container (docker) ce qui correspond à la façon dont je gère mes services
- système à double partitions système permettant la mise en jour en arrière-plan et le rollback
Pour expliciter ce dernier point : Il y a deux partitions système, de 1GB chacune. Chaque partition stocke l'image noyau à démarrer et le dossier /usr (/bin pointant sur /usr/bin et /lib sur /usr/lib). Ces partitions sont lecture seule. Le système démarre sur l'une des partition, dite active. Quand une mise à jour système (eg: nouvelle version du noyau) est disponible, la mise à jour est faite sur la partition inactive (ie, celle qui n'a pas servie au boot). Et au reboot, le système démarre sur cette partition mise à jour. Si tout se passe bien, on repart pour un cycle (le rôle des partitions s'étant inversé) sinon, le système effectue un retour arrière sur la partition qui n'a pas la mise à jour défaillante.
Seulement depuis quelque temps, les mises à jour ne se font plus. Je suis coincé sur un vieux noyau 4x et sur un vieux docker. Ça craint. Le projet n'est pourtant pas mort puisqu'une release a été faite début février. Mais il y a eu une rupture des mise à jour quand CoreOS Inc a été racheté par RedHat et je n'ai trouvé aucune documentation pour faire la migration.
Mon besoin est donc de migrer sur un OS à jour. Je pourrais louer une autre machine, faire une installation propre et migrer les données. Seulement la machine que j'ai actuellement est 1/ vraiment pas chère, il est très difficile d'en trouver une à ce prix, 2/ possède un disque de 2TB quasi plein alors qu'elle correspond à une offre 1TB (erreur de la banque en ma faveur). Je veux donc faire une migration in situ et sans abîmer les données.
Je décris la procédure que j'ai suivie à titre pédagogique. N'ayant fait l'opération qu'une fois et par essai erreurs, je ne peux pas certifier que toutes les étapes sont nécessaires, exactes, exhaustives, dans l'ordre, les plus optimales.
Globalement, la procédure repose sur deboostrap et chroot.
procédure détaillée
rescue mode
Comme tout bon hébergeur, OVH fourni un mode "rescue" qui permet de démarrer la machine sur le réseau avec un accès root ssh. Les disques sont alors visibles, mais non montés. Le système rescue de OVH est une Debian 12.
montage des partitions
- partitions de l'ancien système :
Device Start End Sectors Size Type
/dev/sda1 4096 266239 262144 128M EFI System <= vfat, mouted as /boot
/dev/sda2 266240 270335 4096 2M BIOS boot
/dev/sda3 270336 2367487 2097152 1G unknown <= ext4, mouted as /usr overlay alternatively
/dev/sda4 2367488 4464639 2097152 1G unknown <= ext4, mouted as /usr overlay alternatively
/dev/sda6 4464640 4726783 262144 128M Linux filesystem
/dev/sda7 4726784 4857855 131072 64M unknown
/dev/sda9 4857856 3907029134 3902171279 1.8T unknown <= ext4, mouted as /
sda1 va rester notre /boot EFI, sda9 va rester notre /, sda2 sda3 sda4 sda6 et sda7 ne nous servirons plus.
alias ll='ls -al' # required by my muscle memory
mount /dev/sda9 /mnt
mount /dev/sda1 /mnt/boot
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
debootstrap et chroot
apt-get install debootstrap
#debootstrap trixie /mnt http://deb.debian.org/debian # takes several minutes and fails
# because of : E: Tried to extract package, but file already exists. Exit...
debootstrap trixie /altroot http://deb.debian.org/debian # takes several minutes
tar c -C /altroot . | tar x -C /mnt/
chroot /mnt
À partir de là, nous ne sommes plus sur le système rescue en RAM, mais dans le futur système de la machine, sur son disque dur.
locales et packages
On installe les paquets logiciels supplémentaires que l'on veut, on pourra toujours en installer plus tard. Par contre locales est nécessaire pour … fixer la locale et éviter plein de warnings.
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
apt-get update
apt-get install -y \
locales \
zip sudo ssh net-tools bash-completion rsync \
screen mosh htop iotop file
serveur ssh et user d'admin
apt-get install openssh-server
sed -i.bak /etc/ssh/sshd_config << EEE
92c
X11Forwarding no
.
33c
PermitRootLogin no
.
14c
Port 26549
.
EEE
adduser --disabled-password --shell /bin/bash admin
usermod -aG sudo admin
su - admin
echo 'ecdsa-sha2-nistp521 AAAA.....== user@host' >> ~/.ssh/authorized_keys
exit
noyau et grub
apt install linux-image-amd64 firmware-linux-free grub-pc network-manager
update-grub ## UNSURE if necessary, should not hurt
fstab
cat << EEE > /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=0759a5ae-05da-11f1-8250-8f4b18f15fdb / ext4 defaults 0 1
UUID=9876-7FAB /boot vfat umask=0077 0 0
EEE
réseau
echo lamachine > /etc/hostname
echo '127.0.1.1 lamachine.ip-1-23-45.eu lamachine' >> /etc/hosts
systemctl enable systemd-networkd
profit !
Configurer le boot disque chez l'hébergeur puis :
reboot
À partir de là, j'ai une machine sous Debian Trixie accessible en SSH avec mes clés. Je n'aurais pas forcément parié dessus au départ.
J'ai ensuite installé docker tel que recommandé par l'éditeur.
Et j'ai relancé les services un par un à coup de docker compose up -d qui ont retrouvé leurs données stockées dans les volumes. Je n'aurais pas forcément parié dessus non plus.
Back to business.
conclusion
- on n'est jamais à l'abri d'une bonne surprise
- sysadmin c'est quand même plus facile que neurochirurgien
- ne pas rester avec un vieux système
- accepter le risque de perdre une machine, les sauvegardes sont là pour ça
- si tu installes autre chose que 💕Debian💕 sur une machine, tu fais sûrement une connerie
# Et finalement quid des autres partitions ?
Posté par Miguel Moquillon (site web personnel) . Évalué à 3 (+2/-0).
Je suppose que les partitions
sda3etsda4étaient tes partitions en lecture-seule sur lesquels étaient placés à la fois le noyau et/usr. Ils ont chacun 1Go, je suppose que tu ne les a réutilisé dans ton nouveau système, non ? Si oui, qu'est ce que tu en as fais ?[^] # Re: Et finalement quid des autres partitions ?
Posté par steph1978 . Évalué à 2 (+0/-0).
Je n'en ai rien fait et je n'en ferai probablement rien. Idéalement j'aurai fusionné avec la partition "/". Mais le jeu en vaut pas la chandelle : 2GB pour 2TB -> 0.1%.
# LinuxFr.org
Posté par Benoît Sibaud (site web personnel) . Évalué à 9 (+6/-0).
Faut que je fasse ça sur un serveur LinuxFr pour changer de distrib à distance sans aller au datacenter… Faut juste croiser les doigts et ne pas faire de faute de frappe quoi.
[^] # Re: LinuxFr.org
Posté par steph1978 . Évalué à 2 (+0/-0).
YMMV comme disent les anglais mais j'ai été agréablement surpris de ne rien péter alors que j'ai migré entre deux systèmes quand même bien différents.
Avant de reboot, j'ai vérifier que le sshd de mon chroot était bien accessible avec les clés de mon user admin depuis chez moi (il écoute sur un port différent):
/usr/bin/sshd -D.Dans la pratique j'ai fait deux aller-retours vers le rescue car j'avais oublié d'abord le fstab -> ça démarrait pas, puis le networking -> ça se connectait pas. D'où ce journal si ça peut aider.
Dans le doute, et en plus de mes données, j'avais sauvegardé le /etc et le /boot. Mais je n'en ai pas eu besoin.
Si c'est monter de version de Debian, ça se fait sans problème à coup de
dist-upgrade, à condition de bien les faire dans l'ordre sans sauter de version.Bonne chance Mr Phelps.
[^] # Re: LinuxFr.org
Posté par Benoît Sibaud (site web personnel) . Évalué à 5 (+2/-0). Dernière modification le 10 février 2026 à 14:46.
dist-upgradea beau exister sur les deux, je doute que ça suffise pour convertir une Ubuntu en Debian, dans mon cas :).[^] # Re: LinuxFr.org
Posté par steph1978 . Évalué à 2 (+0/-0).
Je me rends pas compte de la "surcouche" Ubuntu sur une Debian. Est-ce qu'en nettoyant les "apt sources.list" n'est pas suffisant ?
Bon tu nous racontera :)
[^] # Re: LinuxFr.org
Posté par Voltairine . Évalué à 3 (+2/-1).
Non c'est quasi impossible, le delta entre Ubuntu et Debian et bien trop important.
[^] # Re: LinuxFr.org
Posté par Chris K. . Évalué à 4 (+2/-0). Dernière modification le 12 février 2026 à 16:32.
Ah pas si sûr, avec de l'apt pinning bien paramétré cela doit pouvoir se jouer. A ne pas tenter en prod et à ne pas prendre pour une solution de facilité bien entendu xD.
Peut être une idée de nourjal quand je vais migrer la neon (base ubuntu avec encore une autre surcouche de la team kde) de ma station de travail vers debian. A noter je n'ai pas de snaps installés, c'est plus facile. Les snaps sont d'ailleurs la raison principale de la future migration. Dans quelques mois si je trouve le temps.
Ps: le -1 c'est pas moi, y'a effectivement un vrai challenge
[^] # Re: LinuxFr.org
Posté par serol (site web personnel) . Évalué à 2 (+1/-0).
Il ne serait pas plus simple de bloquer l’usage de snap ?
[^] # Re: LinuxFr.org
Posté par Chris K. . Évalué à 2 (+0/-0).
Oui c'est déjà fait. Mais cela ne règle pas le problème, certains paquets dans la base apt sont des package "de transition" vers du snap et donc le logiciel en question a beau être dans la base apt, il n'est plus fourni. Pour le moment ça va je gère cela à la main mais une Debian stable ou testing avec un KDE récent sera plus adapté à mon usage.
[^] # Re: LinuxFr.org
Posté par serol (site web personnel) . Évalué à 1 (+0/-0). Dernière modification le 14 février 2026 à 18:10.
Combien de paquets ça concerne ? Firefox, chromium et thunderbird ? D’autres ?
[^] # Re: LinuxFr.org
Posté par Chris K. . Évalué à 3 (+1/-0).
Oui puis Thunderbird et la tendance qui est à la hausse. J'ai aucune envie de m'emmerder avec cela. Debian a tout ce dont j'ai besoin.
[^] # Re: LinuxFr.org
Posté par Voltairine . Évalué à 2 (+0/-0).
Je serais intéressée par ton retour. Il est possible que d'une base Ubuntu 22.04 vers Debian 13 cela fonctionne plus ou moins, avec un gros ménage à faire dans les paquets obsolètes et les résidus de configuration.
Je suis moi même passée de KDE Neon à Debian 13 sur mon poste de travail en réinstallant et en conservant la partition sur laquelle est monté /home. AMHA, c'est la solution la plus rapide et la plus propre.
[^] # Re: LinuxFr.org
Posté par Chris K. . Évalué à 4 (+2/-0). Dernière modification le 13 février 2026 à 10:13.
Avec un bon paramétrage de l'apt pinning, apt fera le ménage lui même. L'astuce consiste à mettre une priorité sous un certain seuil sur les sources ubuntu pour permettre un éventuel downgrade des packages et éviter à tout prix les mélanges. Bref il faut muscler son jeu sinon on risque de graves déconvenues.
Ce sera pas pour tout de suite malheureusement j'ai beaucoup à faire dans les prochains temps, mais promis dès que je tente l'op je garde les configs et je vous fais un retour en journal car il y aura forcément d'autres points qui vont poser des soucis.
PS: oui raisonnablement une réinstallation est la voie à suivre et la plus simple mais c'est moins drôle aussi xD
[^] # Re: LinuxFr.org
Posté par Psychofox (Mastodon) . Évalué à 3 (+0/-0).
L'autre option c'est de réinstaller et restaurer un backup. Cette option fonctionne toujours.
[^] # Re: LinuxFr.org
Posté par steph1978 . Évalué à 2 (+0/-0). Dernière modification le 10 février 2026 à 15:47.
Oui mais en fonction du volume à restaurer, elle peut prendre beaucoup beaucoup plus de temps.
[^] # Re: LinuxFr.org
Posté par Luc-Skywalker . Évalué à 2 (+0/-0).
En tout cas, c'est pas moi qui viendrais pleurer si jamais il devait y avoir du "downtime" ou du "qos" un peu dégradée pendant quelque temps.
"Si tous les cons volaient, il ferait nuit" F. Dard
# CoreOS
Posté par Benjamin Henrion (site web personnel) . Évalué à 3 (+2/-1).
C'etait encore un CoreOS d'avant le rachat par Redhat?
Avant c'etait buildé avec un overlay Gentoo, après le rachat ils ont tout mis a la poubelle.
Je me rappelle d'un meetup k8s le vendredi juste avant le fosdem, ou les devs CoreOS avaient recu leurs parts lors du rachat par RedHat, on peut dire que les bières belges entre chaque présentation avaient fait leur effet :-)
[^] # Re: CoreOS
Posté par steph1978 . Évalué à 3 (+1/-0).
Et oui 😕, version 4.14.96-coreos-r1 (Gentoo 2.26-r7 p7)
C'est l'exit parfait pour une startup, se faire racheter par un gros. Demande à l'équipe de Bun :)
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.