Transformer une distribution en une autre

a marqué ce sujet comme résolu.

Bonjour à tous !

J’ouvre ce sujet pour discuter d’une question, par pure curiosité. Il s’agirait de transformer une distribution Linux en une autre. Le but, par exemple, serait d’installer dans une machine virtuelle la dernière version de Debian stable et, qu’à la fin du processus, on obtienne la dernière version de Fedora.

Je connais l’existence de méthodes qui utilisent la commande chroot qui permet de monter des partitions existantes comme partitions système mais ce n’est pas ce qui m’intéresse ici. Ce que je voudrais pouvoir faire, c’est seulement éditer des fichiers et installer des paquets. Par exemple, il est tout à fait possible d’installer les gestionnaires de paquets DEB ou RPM sur des distributions qui ne sont pas prévues pour. L'important, c’est de ne pas avoir à télécharger la distribution cible d’un seul coup mais de procéder paquet par paquet et fichier de configuration par fichier de configuration.

J’ai choisi de partir de Debian car c’est une distribution ayant des paquets moins à jour et il n’y a donc pas besoin de downgrader les paquets, ce qui me paraît plus facile à terme.

Comment pensez-vous qu’il faudrait procéder ?

+0 -0

J'avais vu un truc du genre pour transformer n'importe quelle distro en Arch: Install from existing Linux. C'est basé sur du chroot. Personnellement j'évite ce genre de choses parce que comme je partitionne mes systèmes avec des partitions séparées pour /home (enfin, dans le cas de mon installation actuelle d'Arch c'est un sous-volume btrfs), il suffit d'installer normalement sans toucher à la partition/sous-volume de données.

Je sais que les méthodes par chroot ne t'intéressent pas mais procéder "à la main" est vraiment une forme de masochisme, et je n'ai jamais entendu parler de personnes ayant fait ça.

Bah il y a pas longtemps je suis passer de Debian a Arch, j'ai juste installer arch sur ma partion / et j'ai utiliser l'option -d de adduser pour garder mon repertoire personel qui etait sur une partition separé, je crois que c'est le plus simple a faire

+0 -0

Salut,

J'ai du mal à comprendre l'intérêt de la question, notamment cette partie :

L'important, c’est de ne pas avoir à télécharger la distribution cible d’un seul coup mais de procéder paquet par paquet et fichier de configuration par fichier de configuration.

Pourquoi vouloir faire ça, à quel contexte en particulier penses tu ? En terme de téléchargement, que tu fasses paquet par paquet ou tout d'un coup, il n'y a strictement aucune différence. Par contre, d'un point de vue logiciel, faire paquet par paquet, c'est l'assurance de se manger des conflits et des incompatibilités dans la gueule qui rendront potentiellement inutilisable ton OS au cours de la "migration" (tiens, c'est un problème qui peut même arriver au sein de la même distro en cas d'une mise à jour depuis un système trop vieux, l'accumulation de petites différences peut déjà poser problème, alors une accumulation de grosses différences comme tu l'envisages, je préfère ne même pas y penser).

C'est ce qui me faire dire comme d'autres avant moi que le moyen le plus simple de changer de distro, c'est encore d'installer la nouvelle à côté, raccorder ton home correctement, puis virer l'ancienne.

Maintenant, tu parles aussi de ceci :

Par exemple, il est tout à fait possible d’installer les gestionnaires de paquets DEB ou RPM sur des distributions qui ne sont pas prévues pour.

Ça n'a à peu près rien à voir avec "changer de distro", c'est juste changer un élément de ton système (opération que la modularité quasi-totale de Linux rend relativement simple dans la plupart des cas). Si tu pensais plutôt à obtenir quelque chose qui combine plusieurs éléments de plusieurs distro différentes, ben installe une distro minimaliste (Debian, Arch, voire un LFS) et installe les éléments qui te plaisent. Théoriquement, tu peux aussi faire ça à partir d'un truc lourding genre Ubuntu, ça fait juste plus de travail puisqu'il faut aussi virer l'existant qui ne te plait pas avant de mettre les paquets de ton choix.

+4 -0

Salut :)

Je connais l’existence de méthodes qui utilisent la commande chroot qui permet de monter des partitions existantes comme partitions système

chroot permet de changer la racine du système de fichier. Si sur la nouvelle partition, il existe tout ce qu'il faut pour qu'un OS tourne, t'as installé ton nouveau système à partir d'un autre. Parce que en soi, une partition système, je ne vois pas ce que ça veut dire.

Sous Debian, il y a un programme qui fait ça tout seul : debootstrap

Pour construire un système Linux à partir de rien comme cela semble être ton souhait, il existe un projet Linux From Scratch :)

Mon premier message n’était peut-être pas assez clair. Je ne souhaite pas du tout transformer ma distribution actuelle en une autre (Archlinux me convient) ni même tenter le coup dans une machine virtuelle mais seulement de discuter de la possibilité technique de le faire.

Salut,

J'ai du mal à comprendre l'intérêt de la question, notamment cette partie :

L'important, c’est de ne pas avoir à télécharger la distribution cible d’un seul coup mais de procéder paquet par paquet et fichier de configuration par fichier de configuration.

Pourquoi vouloir faire ça, à quel contexte en particulier penses tu ?

En terme de téléchargement, que tu fasses paquet par paquet ou tout d'un coup, il n'y a strictement aucune différence. Par contre, d'un point de vue logiciel, faire paquet par paquet, c'est l'assurance de se manger des conflits et des incompatibilités dans la gueule qui rendront potentiellement inutilisable ton OS au cours de la "migration" (tiens, c'est un problème qui peut même arriver au sein de la même distro en cas d'une mise à jour depuis un système trop vieux, l'accumulation de petites différences peut déjà poser problème, alors une accumulation de grosses différences comme tu l'envisages, je préfère ne même pas y penser).

adri1

C’est déjà une très bonne piste. Du coup, on ne peut pas vraiment mettre à jour tous les paquets, en installer de nouveaux et en en supprimant d’autres si la logithèque (disons) d’origine et la logithèque cible sont trop différentes, ce qui est généralement le cas entre deux distributions différentes.

C'est ce qui me faire dire comme d'autres avant moi que le moyen le plus simple de changer de distro, c'est encore d'installer la nouvelle à côté, raccorder ton home correctement, puis virer l'ancienne.

adri1

Oui, mais ça ne transforme pas le système car il est simplement remplacé. C’est bien sûr plus simple mais ce n’est pas l’objectif ici.

Maintenant, tu parles aussi de ceci :

Par exemple, il est tout à fait possible d’installer les gestionnaires de paquets DEB ou RPM sur des distributions qui ne sont pas prévues pour.

Ça n'a à peu près rien à voir avec "changer de distro", c'est juste changer un élément de ton système (opération que la modularité quasi-totale de Linux rend relativement simple dans la plupart des cas).

adri1

C’est justement ce qui m’a conduit à ouvrir ce sujet. Comme on peut tout changer (y compris le gestionnaire de paquets), on devrait pouvoir carrément transformer une distribution en une autre.

+0 -0

Ouais mais le faire pendant que ta machine tourne c'est nettement moins évident. Par exemple, il va se passer quoi quand tu vas mettre le nouveau noyau et les nouveaux modules dans les bons dossiers ? Je ne sais pas mais à mon avis c'est pas trivial de faire ça.

mais seulement de discuter de la possibilité technique de le faire.

J'avais bien compris, donc. Ben du coup, c'est la réponse que j'ai déjà formulée, il n'y a aucun intérêt à procéder de la sorte à cause des conflits que tu risques de te prendre, surtout au moment de changer des éléments critiques du système (typiquement, si tu pars de Debian et que tu veux installer systemd ça va poser possiblement des problèmes très spécifiques). Quand tu changes un seul des composants systèmes, ça passe. Quand tu changes la quasi-totalité, tu accumules tellement de possibilités de ce genre de petits problèmes à la con que la tâche devient quasi-impossible. Il faudrait une connaissance gigantesque du fonctionnement des deux distributions pour éviter tous ces pièges. C'est faisable, mais c'est comme coder un navigateur Internet en assembleur : c'est intrinsèquement difficile, demande énormément de connaissances, et l'intérêt est faible.

Oui, mais ça ne transforme pas le système car il est simplement remplacé.

Je ne vois pas la différence fondamentale entre remplacer tous les paquets un par un en faisant gaffe aux conflits et remplacer la distro d'un coup d'un seul. Dans les deux cas tu remplaces bien le système. Sauf qu'au lieu de construire à côté et de raser l'ancien, tu essayes de construire le nouveau par dessus l'ancien en détruisant celui-ci au fur et à mesure.

Ouais mais le faire pendant que ta machine tourne c'est nettement moins évident. Par exemple, il va se passer quoi quand tu vas mettre le nouveau noyau et les nouveaux modules dans les bons dossiers ? Je ne sais pas mais à mon avis c'est pas trivial de faire ça.

Ça pour le coup, c'est pas forcément le plus compliqué. Tu as juste à pointer sur le nouveau noyau dans les fichiers de démarrage. Exactement comme ce qui se passe lors d'un upgrade du noyau.

+1 -0

Je ne vois pas la différence fondamentale entre remplacer tous les paquets un par un en faisant gaffe aux conflits et remplacer la distro d'un coup d'un seul. Dans les deux cas tu remplaces bien le système. Sauf qu'au lieu de construire à côté et de raser l'ancien, tu essayes de construire le nouveau par dessus l'ancien en détruisant celui-ci au fur et à mesure.

Ça fait toute la différence. Si remplace l’ancien système de manière classique, il n’y a pas besoin de faire attention à quoi que ce soit. En revanche, si on construit le nouveau système par dessus l’ancien en détruisant celui-ci au fur et à mesure, il faut faire en sorte que tout puisse tourner et c’est justement ce qui fait toute la difficulté de la manœuvre. Le résultat final est identique mais le processus diffère considérablement.

+0 -0

Sauf que tu oublies aussi qu'il n'y a pas de bijection entre un paquet chez Debian et un paquet chez Fedora par exemple. Les noms de paquets peuvent différer (et donc des confs aussi) comme apache d'un côté et httpd de l'autre. La configuration par défaut et les options de compilations diffèrent, ce qui peut introduire des dépendances différentes pour un même paquet. Et le découpage des paquets n'est pas identique, typiquement KDE a plusieurs moyen d'être découpés en paquet différents, pour accomplir les mêmes tâches (par gros paquets, ou un paquet par application par exemple) et ce n'est pas le seul (systemd, GNOME ou encore les langages de programmations comme PHP / Python / Perl / Ruby peuvent subir la même chose).

Résultat, se dépatouiller dedans, c'est la merde complète.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte