Forum Linux.général Système pour changer à volonté de distribution

Posté par  . Licence CC By‑SA.
Étiquettes :
1
11
sept.
2021

Bonjour,
Je suis actuellement sur Ubuntu 20.04.
Mon problème est le suivant :
Je souhaite mettre en place un système me permettant de passer à volonté d'un distribution à une autre sans perdre mes données ni mes logiciels installés et leurs paramétrages.
Comment faire cela ?
J'ai vu une vidéo expliquant qu'il fallait créer un /home sur une autre partition que la principale (en EXT4).
Mais est-ce suffisant pour retrouver ses logiciels et leurs paramétrages ? … sachant que j'ai lu qu'il y avait des éléments dans /var et /etc qui concernaient les logiciels.

Bref, je ne sais pas trop comment m'y prendre, et n'ai pas trop de connaissances en Linux, même si je ne suis pas complètement "nul".

Quelqu'un aurait-il l'obligeance de m'expliquer comment faire … en indiquant ce qui sera évident pour certains (mais pas forcément pour moi).

Merci d'avance à qui prendra quelques minutes pour m'aider.

  • # L'idée me semble mauvaise.

    Posté par  . Évalué à 2. Dernière modification le 11/09/21 à 10:25.

    Autant, garder ton /home et les paramétrages, ça passe, mais garder les logiciels installés…ça n'a pas vraiment de sens. Les distributions ne packagent pas les logiciels de la même façon, ni les mêmes versions.

    Quel intérêt à changer de distribution si tu veux garder les logiciels ? Il y aurait bien des dossiers d'installation à garder, mais tu risques de tout casser plus qu'autre chose.

    • [^] # Re: L'idée me semble mauvaise.

      Posté par  . Évalué à 1.

      Bon, je prends deux ou trois exemples pour m'expliquer.

      Je fais du développement donc j'ai Mysql et des bases. Si je ne peux pas les garder il faut que je réinstalle Mysql (avec procédure d'install pas simple) et que je recrée mes bases et les informations contenues. C'est plus que lourd …
      Autre exemple, j'utilise VSCodium pour écrire mes programmes. Si je ne le sauvegarde pas il faut tout réinstaller et paramétrer avec tous les plugins nécessaires. C'est faisable mais long et pénible.
      Enfin, mon navigateur chromium, il me faut garder les raccorcis et les mots de passe.

      Donc au final, il me faut bien mes données et les logiciels et leurs paramétrages.
      Sinon, c'est des heures de boulot alors qu'il doit bien éxister un moyen de faire plus simple et plus efficace.

      Est-ce qu'il faut sauvegarder autrechose que /home et les fichiers cachés de ce répertoire pour y arriver (notamment /var et /etc) ?

      Est-ce qu'une autre distribution qu'ubuntu reprendra sans problème ce qui est dans le /home originaire d'Ubuntu ?

      Avant de me lancer, je veux être bien sûr du résultat.

      • [^] # Re: L'idée me semble mauvaise.

        Posté par  (site Web personnel) . Évalué à 3. Dernière modification le 11/09/21 à 10:51.

        Oui mais la question est pourquoi changer de distrib tout le temps ? Si cela marche, reste sur celle sur laquelle tu es.

        À des fins de test, tu peux utiliser docker si besoin.

      • [^] # Re: L'idée me semble mauvaise.

        Posté par  . Évalué à 3. Dernière modification le 11/09/21 à 11:01.

        C'est bien une mauvaise idée :)

        C'est très compliqué (si seulement réalisable) à faire ce que tu cherche, dans l'absolu (et pas que sous linux, sous n'importe quel système).

        Tu es développeur ? Alors adopte une stratégie de développeur !

        Il te faut un référentiel général, le plus neutre possible (pas d'outils autre que le strict nécessaire). Il doit être scindé en un référentiel code (un gitlab, par exemple), un donnée (pour tes bases de données, mais ça peut aussi inclure des assets), un configuration et compagnie (ça peut être vu, donc inclus, dans le référentiel "code", s'il y a du versionnage à faire, mais "donnée" serait tout autant valide si c'est figé et non évolutif), probablement un dédié au build, pour le coup…

        Et tout est à installer/adapter à partir de ce référentiel unique.

        Ça ne garantit pas aucun problème, mais ça les limitera fortement. Et tout ce qui n'est pas compatible avec cette approche est à éviter : à toi de trouver des équivalents compatibles.

        Matricule 23415

        • [^] # Re: L'idée me semble mauvaise.

          Posté par  . Évalué à 3.

          Merci de vos deux réponses …
          Que ce soit clair, j'essaye de comprendre. Ce qui veut dire que je ne conteste pas vos réponses mais qu'à ce stade je ne les comprends pas.
          Pourquoi changer de distribution ? … parce que certaines semblent mieux faites, plus rapides, plus jolies … etc.
          Comme je suis sur Linux depuis 1 an, j'ai commencé comme beaucoup par la distribution la plus utilisée. Et je commence à me rendre compte de certaines différences en m'informant.
          J'ai monté une VM et j'ai installé Mageia. Franchement c'est super. Le matériel est reconnu sans problème. Avec Ubuntu, je galère pour l'imprimante-scanner. ce n'est qu'un exemple.
          Donc je vais continuer à tester avec ma VM et peut-être changer si une distri me plait vraiment.
          Ce qui nous amène à ma seconde réflexion.
          Pour moi, il y a deux choses : le système d'un côté et les données / logiciels de l'autre.
          Je suis sur une LTS donc mes paquets proposés ne changeront pas si je reste sur 20.04.
          Pourtant des versions plus modernes existent, que je peux installer sans problèmes à partir d'autres dépôts que ceux de Canonical (20.04 LTS). Et c'est ce que j'ai fait. D'ailleurs ça marche bien.
          Ce que je ne comprends pas c'est qu'on me réponde qu'il est très compliqué d'installer une nouvelle distri et de récupérer ses données et ses logiciels qui, par définition, ne sont pas le système.
          Donc, si on met le système à part des données et des applis installées, pourquoi est-ce que ce serait dangereux et/ou compliqué ? … là je ne suis pas.
          De plus, mais je me trompe peut-être, Linux, c'est Linux quelle que soit la Distri.
          Donc, le /home existe dans toutes les distris.
          Alors si on met le /home sur une autre partition et qu'on modifie le fichier qui monte les partitions en indiquant que le /home n'est pas à la place standard mais sur une autre partition … pourquoi cela ne marcherait-il pas ? Là non plus je ne comprends pas.
          Au final, si on réalise ce que je cherche à faire on peut résumer le tout en disant :
          Si je veux installer la distri de mon choix, j'installe ou réinstalle le système à volonté mais mes données et logiciels sont toujours là. Indépendamment de la distri, les logiciels peuvent être ceux proposés ou ceux de mon choix. Du moins c'est ce que j'ai constaté. Ex : Libreoffice est en 6.5.4 avec la LTS 20.04, et moi j'ai installé le 7.1.5. Aucun pb.
          Si je réinstalle mon Ubuntu 20.04 et que j'installe Libreoffice, ce sera la 6.5.4 qui s'installera.
          Mais si je réinstalle le 20.04 avec mon système, c'est la 7.1.5 qui sera prise en compte.
          Donc au final, je vois bien que vous n'êtes pas trop pour ce que je cherche à faire, mais je ne comprends pas les raisons de votre refus.
          Est-ce qu'il y a quelque chose que je dis qui est faux, ou que je ne comprends pas ?

          • [^] # Re: L'idée me semble mauvaise.

            Posté par  . Évalué à 2. Dernière modification le 11/09/21 à 12:12.

            pourquoi est-ce que ce serait dangereux et/ou compliqué ?

            Ce n'est absolument pas dangereux.

            C'est compliqué, car il faut fixer le référentiel, et s'y borner. Ça demande de la rigueur, du temps, et généralement des infrastructures pour aider à cette rigueur. A partir de là, c'est transposable d'un poste de développement à un autre, quelque soit le système, pourvu que ce système (j'inclue généralement les logiciels au système) accepte facilement cette transposition. Le système et sa configuration ne sont que des outils.

            Par exemple, tu ne devrais pas te lier à un environnement de développement spécifique comme VSCode dans le code, n'importe quel autre doit faire l'affaire (même pico). Si VSCode ne te permet pas de disposer facilement de ton environnement usuel, c'est peut-être qu'il n'est pas adapté, ou (plus probablement) que tu n'as pas la bonne méthode pour le rendre portable.

            moi j'ai installé le 7.1.5. Aucun pb.

            Parce que compatible ascendant. A la première incompatibilité, ça ne sera pas si facile de jongler !

            Matricule 23415

          • [^] # Re: L'idée me semble mauvaise.

            Posté par  . Évalué à 3.

            Ce que je ne comprends pas c'est qu'on me réponde qu'il est très compliqué d'installer une nouvelle distri et de récupérer ses données et ses logiciels qui, par définition, ne sont pas le système.
            Donc, si on met le système à part des données et des applis installées, pourquoi est-ce que ce serait dangereux et/ou compliqué ? … là je ne suis pas.

            C'est tout simplement parce que contrairement à Windows ou aux autres systèmes de type Unix (les BSD par exemple), les distributions linux forment un tout : les logiciels sont compilés et packagés pour une version donnée de la distribution. De ce fait il ne sera pas possible d'utiliser un mysql compilé et packagé pour Ubuntu sur une magéia par exemple.

            Pour faire ce genre de choses, on a tenté de mettre en place des trucs comme FlatPack ou snap. Je ne sais pas si c'est réellement au point et si ça répondrait à ton besoin d'avoir la possibilité de démarrer plusieurs systèmes différents avec les mêmes paquets (si quelqu'un sait si ça peut marcher, je serais intéressé par l'info).

            Un autre moyen d'avoir des logiciels plus ou moins indépendants de ta distribution serait éventuellemnt de les faire tourner dans un container style docker, qui embarquerait justement par exemple un mysql version xyz mais que tu pourrais faire tourner sur n'importe quelle distrib qui sait gérer les containers via Docker.

            • [^] # Re: L'idée me semble mauvaise.

              Posté par  . Évalué à 2.

              A ce tarif, autant prendre l'approche système (l'autre option) : tout développer dans un environnement unique, une VM dédiée, et il n'y a que la VM à trimbaler (mais tous les devs doivent utiliser la même VM).

              Matricule 23415

            • [^] # Re: L'idée me semble mauvaise.

              Posté par  . Évalué à 2.

              Faut pas croire, la problématique est la même avec les autres systèmes…
              On ne peut pas juste déplacer des répertoires de programmes d'un Windows à un autre (même version et niveau de patch pour faire simple) car des données nécessaires sont écrites un peu partout ailleurs et surtout des éléments doivent être enregistrées dans la base des registres. En pratique il faut réinstaller les mêmes applications de part et d'autre. L'exception est celle des applications dites portables dont les équivalents sous Linux sont les installations dans /opt (à ne pas confondre avec les optwares pourtant similaires) et /usr/local
              D'expérience, tu ne peux pas non plus simplement poser les programmes de OpenBSD dans FreeBSD ; mais si d'autres y sont arrivés les doigts dans le nez, je suis preneur.

              “It is seldom that liberty of any kind is lost all at once.” ― David Hume

              • [^] # Re: L'idée me semble mauvaise.

                Posté par  . Évalué à 1.

                Bah avec NetBSD tu peux exéxuter des prigrammes Linux …. Mais mon exemple des xBSD était surtout pour souligner que Linux est un ensemble os "base" + logiciels précompilés avec dépendances contrairement aux Bsd, windows ou autres unix qui ne contiennent que le système de base: les logiciels sont gérés différemment ( pkgsrc, ports, ou autre)

          • [^] # Re: L'idée me semble mauvaise.

            Posté par  . Évalué à 1.

            Donc au final, je vois bien que vous n'êtes pas trop pour ce que je cherche à faire, mais je ne comprends pas les raisons de votre refus.
            Est-ce qu'il y a quelque chose que je dis qui est faux, ou que je ne comprends pas ?

            Personne n'est pour ou contre. C'est juste que linux est fait ainsi. Il faut voir Ubuntu comme un OS différent de Mageia ou de Redhat, même si les bases souss-jacentes sont les mêmes. Elles sont juste buildées de façon différente (avec des deltas dans les versions de noyau + libc + autres libs de base à beaucoup d'environnements qui pourraient poser problème).

            Cela dit à une époque je bossais dans une boite ou les logiciels libres utilisés étaient buildés et montés au même endroit quelque soit l'OS. Ca permettait effectivement d'utiliser les mêmes données quelque soit l'OS sous jacent (Solaris, HP-Ux, Linux, il y avait même du SGI Irix à l'époque - a partir du moment ou tu compilais un mysql version x.y, tu étais sur de pouvoir utiliser la base sur n'importe quel environnement - sous réserve de garder les mêmes conf ), mais ça nécessitait beaucoup de travail et de rigueur pour faire marcher les choses correctement.

            • [^] # Re: L'idée me semble mauvaise.

              Posté par  . Évalué à 2.

              Cela dit à une époque je bossais dans une boite ou les logiciels libres utilisés étaient buildés et montés au même endroit quelque soit l'OS. Ca permettait effectivement d'utiliser les mêmes données quelque soit l'OS sous jacent (Solaris, HP-Ux, Linux, il y avait même du SGI Irix à l'époque - a partir du moment ou tu compilais un mysql version x.y, tu étais sur de pouvoir utiliser la base sur n'importe quel environnement - sous réserve de garder les mêmes conf ), mais ça nécessitait beaucoup de travail et de rigueur pour faire marcher les choses correctement.

              C'est possible aussi avec du GNU/Linux qui est une variante d'Unix.
              Dans votre cas d'exemple, comme tu le soulignes, vous aviez vos propres compilations… forcément liés statiquement et pour une unique plateforme… et vos autres systèmes étaient configurés en conséquence (monter la partition commune et l'avoir dans le PATH etc.)

              Comme tu dis, il y a pas mal de boulot et il faut beaucoup de rigueur. C'est en substance la réponse donnée par les autres réponses à travers le « c'est compliqué » ; il ne s'agit pas juste de copie de répertoires tel-quels.

              “It is seldom that liberty of any kind is lost all at once.” ― David Hume

              • [^] # Re: L'idée me semble mauvaise.

                Posté par  . Évalué à 3.

                Comme tu dis, il y a pas mal de boulot et il faut beaucoup de rigueur

                Et un chouilla d'anticipation : On lance pas ce genre de compil' sur le poste de travail choisi 2 minutes avant… :)

                Matricule 23415

                • [^] # Re: L'idée me semble mauvaise.

                  Posté par  . Évalué à 2. Dernière modification le 11/09/21 à 23:46.

                  Les usagers de Gentoo-like, et peut-être de Arch-like, en savent quelque chose :-)

                  “It is seldom that liberty of any kind is lost all at once.” ― David Hume

          • [^] # Re: L'idée me semble mauvaise.

            Posté par  . Évalué à 3. Dernière modification le 11/09/21 à 15:24.

            pour faire ce que je souhaite avoir, voici la démarche :

            • /home avec tes données et paramétrages
            • /opt avec quelques logiciels au format .AppImage, qui tourneront quasi partout, d'une distribution à une autre, sans trop de soucis (exemples : lmms, musescore, keepass, krita…)

            Pour les logiciels qui ne sont pas packagés en .AppImage, par exemple visual studio, tu peux tenter les tar.gz avec les binaires dedans (ça ne fonctionnera pas forcément partout).

            Le mieux reste quand même la version packagée par la distribution.

            Cela dit, si tu as des versions trop différentes d'une distrib à une autre, les configurations stockées dans ton /home risqueront d'entrer en conflit à un moment ou à un autre.

            Et faire tourner en parallèle 4 ou 5 distributions, c'est à mon avis, une perte de temps. C'est amusant d'en tester plusieurs, mais faut pas y passer tout son temps, et ça sera forcément chronophage.

          • [^] # Re: L'idée me semble mauvaise.

            Posté par  . Évalué à 3.

            Pourquoi changer de distribution ? … parce que certaines semblent mieux faites, plus rapides, plus jolies … etc.
            Comme je suis sur Linux depuis 1 an, j'ai commencé comme beaucoup par la distribution la plus utilisée. Et je commence à me rendre compte de certaines différences en m'informant.
            J'ai monté une VM et j'ai installé Mageia. Franchement c'est super. Le matériel est reconnu sans problème. Avec Ubuntu, je galère pour l'imprimante-scanner. ce n'est qu'un exemple.
            Donc je vais continuer à tester avec ma VM et peut-être changer si une distri me plait vraiment.

            Un cas de distro-hopping Le mieux dans ce cas est effectivement de passer par l'utilisation de machines virtuelles.

            Ce qui nous amène à ma seconde réflexion.
            Pour moi, il y a deux choses : le système d'un côté et les données / logiciels de l'autre.
            Je suis sur une LTS donc mes paquets proposés ne changeront pas si je reste sur 20.04.
            Pourtant des versions plus modernes existent, que je peux installer sans problèmes à partir d'autres dépôts que ceux de Canonical (20.04 LTS). Et c'est ce que j'ai fait. D'ailleurs ça marche bien.
            Ce que je ne comprends pas c'est qu'on me réponde qu'il est très compliqué d'installer une nouvelle distri et de récupérer ses données et ses logiciels qui, par définition, ne sont pas le système.

            Tu as pourtant répondu toi-même indirectement à la question : les versions ne sont pas les mêmes… Pourquoi du coup veux-tu poser la version X d'un logiciel de la distribution A à la place de la version Y de la distribution B ?
            En fait, je crois que ton incompréhension vient de ce que tu appelles « le système » et que tu opposes aux « logiciels » En fait, les logiciels font partie du système… car une distribution est un ensemble de choix (graphiques/thématiques certes, mais aussi d'organisation –des programmes entre autres– et d'outils –qui sont des programmes aussi) Les logiciels étant des « composantes packagées » pour garder une cohérence d'ensemble, on ne peut pas juste prendre des répertoires ou fichiers de l'un pour le mettre dans l'autre (outre les différences de versions il y a toutes les dépendances à prendre en compte, travail fait par les mainteneurs de la distribution qui choisi aussi quelles versions elle supporte et a son organisation propre du système.)

            Je fais une nouvelle réponse pour tenter de répondre au besoin sous-jacent ; celui-ci était jute pour pointer les raisons de la complexité (mais non quasi-impossibilité comme dans le système de monsieur Portes…)

            “It is seldom that liberty of any kind is lost all at once.” ― David Hume

            • [^] # Alternatives à l'idée mauvaise

              Posté par  . Évalué à 5.

              […] ; celui-ci était jute pour pointer les raisons de la complexité (mais non quasi-impossibilité comme dans le système de monsieur Portes…)

              Je vois qu'il y a eu plusieurs réponses et j'espère que c'est un peu plus clair pour toi que les logiciels sont intégrés au systèmes via des paquetages, et que chaque distribution a son sous-système de gestion.

              Je fais une nouvelle réponse pour tenter de répondre au besoin sous-jacent ; […]

              Tout d'abord, je crois que ça a été dit ailleurs, il faut avoir une machine (ou VM) de développement distinct de celle de loisirs-divers (en gros séparer le professionnel du personnel.) Sur la machine de développement il faudra essayer de toujours avoir des environnements bien contrôlés et reproductibles pour pouvoir travailler en équipe (ce qui arrive même pour des projets perso qu'on partage/publie tôt ou tard.) Par rapport à cela et aux logiciels, voici quelques approches possibles (mais qui ne sont pas du tout ce que tu envisageais de faire)

              empaquetage

              Pour pouvoir partager des paquets entre plusieurs installations, il faut éviter les gestionnaires standards (donc les paquet .deb ou .rpm par exemple) pour se tourner vers des alternatives moins couplées à la distribution et surtout qui installent de façon portable dans un emplacement dédié (qui sera alors sa propre partition et permettre ce que tu envisages) et est sans base de données (ou alors il faudra penser à la copier aussi…) Voici une petite liste que d'autres pourront compléter :

              Attention que les données générées peuvent nécessiter un traitement séparé (dans l'exemple de MySQL/MariaDB il faudra exporter et importer, ou mieux configurer de sorte que les données soient sur une partition spécifique.)

              conteneurisation

              Ici l'approche est d'avoir l'application (et si possible ses données) dans un conteneur qui pourra être partagé entre les installations et mêmes avec d'autres usagers (d'où leur succès)

              Noter que la même chose peut être mise en œuvre avec de la virtualisation. En couplant éventuellement avec Vagrant.

              compilation

              Évoqué dans un autre commentaire, il est possible de compiler les binaires dans la version et les paramètres qui conviennent dans /usr/local qui serait idéalement une partition séparée. Dans le cas qui t'intéresse, il faut compiler statiquement pour se prémunir des problèmes avec les versions de bibliothèques partagées.

              reconfiguration

              Le plus simple est en général de réinstaller les logiciels dont on a besoin et d'en profiter pour s'assurer que certains le sont systématiquement. Noter que cela peut s'appliquer avec le gestionnaire de paquet natif, mais est utilisable en complément avec un système alternatif ou un conteneur comme évoqués.

              script

              Cela peut passer par un script maison dans le langage de son choix ; il faut juste s'assurer préalablement que le langage est présent sur la nouvelle installation.

              conf. man. sys.

              Cela peut passer par un outil de gestion/déploiement de configuration pour lequel il faut faire initialement une machine maître qui ne servira qu'à cette tâche (il faut éviter de l'utiliser pour autre chose.) Ce genre d'outil utilise des fichiers descriptifs (par opposition aux scripts qui sont impératifs) et prennent en compte un certain nombre d'aspects un peu barbant quand on doit les reproduire par script (l'idempotence par exemple.) Non exhaustif :

              Bienvenue dans le monde des adminsys.

              “It is seldom that liberty of any kind is lost all at once.” ― David Hume

      • [^] # Re: L'idée me semble mauvaise.

        Posté par  . Évalué à 2.

        Je fais du développement donc j'ai Mysql et des bases. Si je ne peux pas les garder il faut que je réinstalle Mysql (avec procédure d'install pas simple) et que je recrée mes bases et les informations contenues. C'est plus que lourd …

        si tu fais du développement, tu devrais avoir un environnement spécifique autre que ton poste de travail pour faire tes développements => machine virtuelle, docker, autre

        reinstaller mysql, c'est quand meme vachement simple, ou alors t'as pas les bons tutos
        backup : mysqldump -u xxx -p labaseasauvegarder >fichier_base_sauvegardée.sql
        restauration : mysql -u xxx -p labasearestaurer <fichier_base_sauvegardée.sql

        et si tu as a besoin de sauvegarder les droits de mysql et de tes utilisateurs, c'est la base "mysql" qui faut sauvegarder et restaurer
        backup : mysqldump -u root -p mysql >mysql_sauvegardée.sql
        restauration : mysql -u root -p mysql <mysql_sauvegardée.sql

        Autre exemple, j'utilise VSCodium pour écrire mes programmes. Si je ne le sauvegarde pas il faut tout réinstaller et paramétrer avec tous les plugins nécessaires. C'est faisable mais long et pénible.
        Enfin, mon navigateur chromium, il me faut garder les raccorcis et les mots de passe.

        ca ce sont les parametrages "personnels" du logiciel, c'est rangé dans /home/ton_user_html5

        ils ne te faut que sauvegarder les paramètres, la reinstallation des logiciels dependant de la distribution (apt pour les debian/ubuntu, rpm/yum/dnf pour les centos/redhat, etc)

        il te faut juste garder une liste dans un coin des logiciels que tu as installé pour donner cette liste à reinstaller quand tu réinstalles la machine.

        ca peut etre à faire à la main,
        ca peut etre un document YAML que tu donnes à ansible et qui va faire en sorte de lancer les bonnes commandes selon que la machine est debian ou centos

        • [^] # Re: L'idée me semble mauvaise.

          Posté par  . Évalué à 2.

          tu devrais avoir un environnement spécifique autre que ton poste de travail pour faire tes développements

          Preums ! :p

          Matricule 23415

  • # 2 env

    Posté par  . Évalué à 1. Dernière modification le 11/09/21 à 12:02.

    Pour ma part, j'ai deux environnements linux, je boot sur celui récréatif (manjaro kde) ou i3-gaps pour le code (ça dépend)
    Je ne partage pas le répertoires /home entre les deux, pour ne pas avoir de soucis avec le répertoire .config .local et autres.

    Par contre j'ai une partition /code que les deux systèmes montent au démarrage.

    Tu peux aussi créer une partition /mysql en modifiant la configuration si tu utilises la même distribution pour tes deux environnements(sans tenir compte du bureau, ça c'est pas important)

    Je sais pas si c'est très clair :)

    • [^] # Pour conclure ... à ce stade de la discussion

      Posté par  . Évalué à 2.

      Tout d'abord, un grand merci à tous ceux qui ont répondu à mes questions.

      En lisant vos différentes réponses, je constate que j'ai un évident manque de connaissances sur le fonctionnement de Linux et des différentes distributions.
      Pour faire simple, je pensais que chaque distri avait ses particularités (thème, bibliothèque de logiciels, tel kernel, …) mais que toutes fonctionnaient de la "même manière" puisque Linux.
      Il m'apparaît, si j'ai compris, que ce n'est pas le cas.
      Seconde erreur, je pensais que les logiciels étaient indépendants du système et qu'il suffisait de les télécharger, les installer et stocker leurs données dans /home.
      Comme apparemment ce n'est pas vrai, je comprends mieux que "c'est compliqué" de faire ce que je souhaitais faire.

      Au final, si je souhaite passer d'Ubuntu à une autre distribution, il va donc me falloir réinstaller mes logiciels et récupérer mon /home. Donc pas mal de boulot en perspective.

      Dernière question :
      Sachant que je fais du développement en PHP (Symfony 5) et que j'utilise le serveur interne de PHP (pas Apache) avec Localhost pour visionner mes sites sur mon navigateur. Je code sur VSCodium + Filezilla pour mettre en ligne.
      Sachant que je fais pas mal de retouche photo avec Darktable + Gimp.
      Sachant que j'utilise beaucoup de traitement de texte + tableur
      Sachant que j'utilise tous les jours la navigation sur internet, pour y faire des recherches et lire des articles.
      Quelle serait la distribution la mieux adaptée à tout cela (en prenant en compte que je privilégie avant tout celle qui reconnait le mieux le matériel) ?
      Sans oublier le nécessaire côté agréable du visuel de l'interface + un bonne bibliothèque de logiciels pas trop datés.
      Vous l'aurez compris, pour ne prendre qu'un exemple, ArchLinux est certainement trop compliquée pour moi puisqu'il faut tout installer et paramétrer.
      Mais je ne veux pas non plus une distri dans laquelle il n'y a pas de "marge de manœuvre".
      Quant à ma machine … i7, 32Go de Ram, 1 To SSD.
      Merci d'avance de vos réponses.

      • [^] # Re: Pour conclure ... à ce stade de la discussion

        Posté par  (site Web personnel, Mastodon) . Évalué à 2.

        Ah mais, tu peux récupérer les profils des logiciels, dossier .config, pour la plupart (à la racine .thunderbird et .mozilla pour Thunderbird et Firefox).

        « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

      • [^] # Re: Pour conclure ... à ce stade de la discussion

        Posté par  (site Web personnel) . Évalué à 2. Dernière modification le 12/09/21 à 13:26.

        Quelle serait la distribution la mieux adaptée à tout cela (en prenant en compte que je privilégie avant tout celle qui reconnait le mieux le matériel) ?

        Personne d'autre que toi ne peut répondre à ces questions. La distribution la mieux adaptée (à ton usage, à ton matériel) est celle qui est … la mieux adaptée. Il me semble avoir lu que tu utilisais Ubuntu. Si celle-ci fonctionne sur ton matériel, et qu'elle te convient (elle propose les logiciels que tu utilises), alors ne change pas pour l'instant.

        Ceci-dit, quelques trucs qui te permettront de changer un peu plus tard :

        • matériel : si ton matériel n'est ni trop récent, ni trop particulier (par ex. lecteur d'empreinte), n'importe quelle distro grand public fera le job : Ubuntu, Fedora, openSUSE …

        • logiciel : en dehors de certains logiciels très spécifiques ces distros en proposent suffisamment pour que tu y trouve ton bonheur.

        Toutes ces distros ont des versions live qui te permettront de les tester. Tu télécharges l'ISO, tu la mets sur une clef USB puis tu démarres dessus. Hop ! C'est la meilleures façon de vérifier à la fois le support matériel et l'offre logiciel. Et surtout ça te permets de tester et savoir comment on installe les applis, comment la configuration se passe, si l'aspect (c'est important), ce que les anglophones appellent le look and feel, te convient. Bien sûr tu peux faire ça dans une VM, mais tu ne saura pas si le support matériel est bon.


        Je reviens sur ton envie de distro hopper et donc de conserver les configurations (parce que installer un logiciel avec une distribution linux ça prends 2 minutes) : pour chaque appli il faut déjà savoir où, et sous quelle forme, est stockée la configuration. Dans le cas le plus simple c'est un ficher dans le dossier /home/ton_user/.config, voir un ensemble de fichiers dans /home/ton_user/.config/nom_appli. Mais il y a plein de cas différents, puisque c'est laissé au choix des dév. et des empaqueteurs.

        On trouve aussi des configurations dans /etc, celles-ci, à la différence de /home/ton_user/.config concerne tous les utilisateurs et non juste ton_user. Et puis il y a le cas des bases de données où il faut passer par une étape d'export (je ne connais pas, je ne t'en parlerai pas).

        Garder le /home en changeant de distro m'a causé pas mal de soucis. Du coup ma démarche est la suivante : pour certaines applis seulement (navigateur Web, courrieleur, Gimp + Darktable + Inkscape …), je sauvegarde les fichiers et dossiers de config ¹, je réinstalle en formatant le /home, puis réinstalle mes applis préférées et enfin copie ces fichiers et dossiers depuis ma sauvegarde. Je retrouve ainsi les paramètres que je veux conserver. Dans certains cas il est plus facile de repartir de zéro (mais il faut noter quelque part les modifs que l'on a fait). Oui c'est long et fastidieux. Surtout les premières fois où on oublie toujours un truc. Bon courrage.


        1 : tu peux aussi sauvegarder tout ton /home, et ensuite tu ne recopie que les fichiers qui t'intéressent au fur et à mesure que tu en as besoin.

        « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

      • [^] # Re: Pour conclure ... à ce stade de la discussion

        Posté par  . Évalué à 3. Dernière modification le 12/09/21 à 19:25.

        Quelle serait la distribution la mieux adaptée à tout cela ?

        Comme déjà dit, c'est très subjectif :)

        ArchLinux est certainement trop compliquée pour moi

        Pas sûr. Au début, peut-être que ça risque de te faire perdre du temps, c'est certain. Mais d'un autre côté, les logiciels sont assez récents il me semble, et paramétrés aux petits oignons.

        Selon les endroits vers lesquels tu vas déployer, tu devras peut-être jongler de version d'apache, ou te fixer sur une, ça peut jouer aussi (probablement très à la marge).

        Perso, c'est debian chez moi (stabile, pas de besoin de logiciels récents, et du temps à perdre parfois sur des détails de configuration/installation de logiciels hors debian) et ubuntu au boulot (pas trop de temps à perdre, logiciels un peu plus à jour, plus de logiciels non-libres directement disponibles).

        Ma seule expérience hors du système de packaging .deb a été avec une redhat il y a très longtemps, et je n'avais pas trop aimé. Cependant, ça a très sûrement énormément changé. Simplement, je suis à l'aise avec les .deb, donc pas de raison particulière de retenter du .rpm (en plus, avec alien au cas où sur un malentendu…).

        Ce qu'il faut retenir, c'est :

        • choisir une distribution qui te demandera le temps d'admin sys que tu souhaite investir (certaines font des choix par défaut, d'autres te posent toutes les questions, mais toutes permettent de changer tous ces choix),
        • aura un bon nombre d'outils packagés (parfois tous ne sont pas là, par exemple pour des questions de licence ou de stabilité, c'est là qu'il faut faire attention éventuellement, s'il y a des logiciels spécifiques ; ça n'a pas l'air d'être ton cas),
        • un graphisme qui te va (mais ça, ça se configure en général, quelque soit la distribution on peut faire "comme" ce qu'a une autre par défaut),

        Globalement, une où tu te sente à l'aise. Le reste, c'est presque simplement à la marge, c'est la force de la modularité sous linux :) Et ça, on peut pas choisir pour toi. Faut essayer !

        Matricule 23415

        • [^] # Re: Pour conclure ... à ce stade de la discussion

          Posté par  . Évalué à 1.

          Merci de ta réponse

          • [^] # Re: Pour conclure ... à ce stade de la discussion

            Posté par  . Évalué à 1.

            Ben comme tu l'as compris, on ne télécharge pas un logiciel comme sous windows.
            Chaque distributions à ses propres dépôts de paquets.
            Si tu utilises deux distributions différentes, exemple extrême: arch et debian, tu n'auras pas les mêmes versions php/mysql/apache !

            Pense à une partition /code si tu comptes utiliser deux systèmes ;)
            Je suis sous manjaro(basé sur les dépôts AUR), très simple à l'install et à l'utilisation, les dernières version de tout les logiciels, mais surtout la possibilité de bloquer les mises à jours de certain packages. J'ai bloqué tout le php en 7.6 par exemple. Sur mon autre install je suis 8.0.

            À toi de voir au final ce qui te convient le mieux!

            Good luck, welcome in a free world!

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.