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

    Posté par (site web personnel, Mastodon) . En réponse au message Système pour changer à volonté de distribution. É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