Exodus - Copiez en toute sécurité des binaires Linux d’un système Linux à un autre
Exodus est un programme simple mais utile pour copier facilement et en toute sécurité des binaires Linux ELF d’un système à un autre. Par exemple, si vous avez htop (Linux Process Monitoring Tool) installé sur votre ordinateur de bureau, mais pas installé sur votre serveur Linux distant, exodus offre un moyen de copier/installer le binaire htop de la machine de bureau vers le serveur distant.
Il regroupe toutes les dépendances du binaire, en compilant un wrapper lié statiquement pour l’exécutable qui appelle directement l’éditeur de liens déplacé, et en installant le bundle dans le répertoire ~/.exodus/, sur le système distant.
Vous pouvez le voir en action ici.
Installer Exodus dans les systèmes Linux
Vous pouvez installer exodus à l’aide du gestionnaire de paquets Python PIP, comme suit. La commande ci-dessous effectuera une installation spécifique à l’utilisateur (uniquement pour le compte avec lequel vous vous êtes connecté).
$ sudo apt install python-pip [Install PIP On Debian/Ubuntu]
sudo yum install epel-release python-pip [Install PIP On CentOS/RHEL]
sudo dnf install python-pip [Install PIP On Fedora]
pip install --user exodus-bundler [Install Exodus in Linux]
Ensuite, ajoutez le répertoire ~/.local/bin/ à votre variable PATH dans votre fichier ~/.bashrc, afin d’exécuter l’exécutable exodus comme n’importe quelle autre commande système.
export PATH="~/.local/bin/:${PATH}"
Enregistrez et fermez le fichier. Ouvrez ensuite une autre fenêtre de terminal pour commencer à utiliser exodus.
Remarque : Il est également fortement recommandé d’installer gcc et l’une des bibliothèques musl libc ou diet libc (bibliothèques C utilisées pour compiler de petits lanceurs liés statiquement pour les applications groupées), sur la machine sur laquelle vous allez empaqueter les binaires.
Utiliser Exodus pour copier un binaire local vers un système Linux distant
Une fois que vous avez installé exodus, vous pouvez copier un binaire local (outil htop) sur une machine distante en exécutant simplement la commande suivante.
$ exodus htop | ssh tecmint@server3
Ensuite, connectez-vous à la machine distante, et ajoutez le répertoire /home/tecmint/.exodus/bin à votre PATH dans votre fichier ~/.bashrc, afin d’exécuter le htop comme n’importe quelle autre commande système.
export PATH="~/.exodus/bin:${PATH}"
Enregistrez et fermez le fichier, puis sourcez-le comme suit, pour que les modifications prennent effet.
$ source ~/.bashrc
Vous devriez maintenant être en mesure d’exécuter htop sur votre machine Linux distante.
$ htop
Si vous avez deux binaires ou plus portant le même nom (par exemple, plus d’une version de htop installée sur votre système, une /usr/bin/htop et une autre /usr/local/bin/htop), vous pouvez les copier et les installer en parallèle avec l’indicateur -r, il permet d’attribuer des alias pour chaque binaire sur la machine distante.
La commande suivante installera les deux versions de htop en parallèle avec /usr/bin/grep appelé htop-1 et /usr/local/bin/htop appelé htop-2 comme indiqué.
$ exodus -r htop-1 -r htop-2 /usr/bin/htop /usr/local/bin/htop | ssh tecmint@server3
Attention : Exodus a un certain nombre de limitations et il peut ne pas fonctionner avec des binaires non-ELF, des architectures CPU incompatibles, des versions de Glibc et de noyau incompatibles, des bibliothèques dépendantes du pilote, des bibliothèques chargées grammaticalement et des dépendances non bibliothécaires.
Pour plus d’informations, consultez la page d’aide d’exodus.
$ exodus -h
Dépôt Github Exodus : https://github.com/intoli/exodus
Conclusion
Exodus est un outil simple mais puissant pour copier des binaires d’une machine Linux à un autre système Linux distant. Essayez-le et donnez-nous votre avis via le formulaire de commentaire ci-dessous.



