GNU/Linux >> Tutoriels Linux >  >> Linux

Les binaires construits à partir de la source peuvent-ils être installés sur une deuxième machine ?

Je ne sais pas si c'est le meilleur endroit pour poser cette question. Veuillez m'indiquer la bonne direction s'il existe un meilleur endroit.

Disons, hypothétiquement, que j'ai deux machines - A est une machine de développement et B est une machine de production. A a un logiciel comme un compilateur qui peut être utilisé pour créer un logiciel à partir de la source, tandis que B n'en a pas.

Sur A, je peux facilement créer un logiciel à partir des sources en suivant la routine habituelle :

./configure
make

Ensuite, je peux installer le logiciel construit sur A en exécutant sudo make install . Cependant, ce que j'aimerais vraiment faire, c'est installer le logiciel que je viens de créer sur B. Quelle est la meilleure façon de le faire ?

J'ai envisagé plusieurs options :

  1. Utiliser un gestionnaire de packages pour installer le logiciel sur B :ce n'est pas une option pour moi car le logiciel disponible dans le gestionnaire de packages est très obsolète.
  2. Installer le compilateur et les autres outils de compilation sur B :je préfère ne pas installer les outils de compilation sur la machine de production en raison de diverses contraintes.
  3. Copier manuellement les fichiers binaires de A à B :cela est sujet aux erreurs, et je voudrais m'assurer que les fichiers binaires sont installés de manière cohérente sur les machines de production.
  4. Installer uniquement make sur B, transférez le répertoire source et exécutez sudo make install sur B :c'est la meilleure solution que j'ai trouvée jusqu'à présent, mais pour une raison quelconque (peut-être des décalages d'horloge), make tentera de reconstruire le logiciel qui aurait déjà dû être compilé, ce qui échoue puisque les outils de compilation ne sont pas installés sur B. Étant donné que mes machines ont également des vitesses d'E/S terribles, le transfert du répertoire source prend très longtemps .

Ce qui serait vraiment bien, c'est s'il y avait un moyen de créer une sorte de paquet contenant les binaires construits qui peuvent être transférés et exécutés pour installer les binaires et les fichiers de configuration. Existe-t-il un tel outil ?

Réponse acceptée :

En utilisant ce que vous avez jusqu'à présent et si le makefile est généré avec les outils automatiques GNU, je définirais l'emplacement cible ou le chemin d'installation avec

./configure --prefix=/somewhere/else/than/the/usual/usr/local

puis lancez

make && make install

et enfin copiez les fichiers du dossier préfixe vers le dossier usr/ dossier dans l'autre machine. Cela suppose que les deux machines ont la même architecture, sinon, utilisez la chaîne d'outils croisée correspondante.

Connexe:aucune façon d'utiliser xargs sur un tuyau?
Linux
  1. Supprimer les packages d'une source non fiable et les réinstaller ?

  2. Quand doit-on compiler et installer à partir de la source ?

  3. Installer Openssl à partir de la source ?

  4. Comment puis-je exécuter une application OpenGL installée sur une machine Linux à partir de ma machine Windows ?

  5. Faire (installer à partir de la source) python sans exécuter de tests

Comment installer la dernière version d'OpenSSL à partir de la source sous Linux

Comment installer un programme à partir de la source sous Linux

Comment supprimer des programmes installés à partir de la source à l'aide de GNU Stow sous Linux

Comment installer un logiciel à partir de la source sous Linux

Comment installer un logiciel à partir du code source… et le supprimer ensuite

Si je peux, comment installer Ubuntu à partir d'Ubuntu ?