Comparaison des packages binaires et source : lequel devez-vous utiliser ?

Il existe deux manières principales d'installer des applications sous Linux. Utilisez un package pré-construit ou compilez l'application vous-même. De nos jours, la première option est généralement considérée comme pratique par défaut, mais il y a des moments où vous voudrez peut-être envisager de compiler votre code à partir de la source. Vérifier Comment corriger l'erreur « ifconfig : commande introuvable » sous Linux.

Comparaison des packages binaires et source : lequel devez-vous utiliser ? -Linux

Qu'est-ce qu'un paquet binaire ?

Comparaison des packages binaires et source : lequel devez-vous utiliser ? -Linux

L'installation d'applications sur Linux est généralement très différente de la manière traditionnelle d'essayer d'installer des applications sur Windows. Au lieu de télécharger un assistant d'installation à partir du site Web officiel du service, les fichiers proviennent du référentiel d'applications généralement conçu pour la distribution Linux que vous utilisez. Vous pouvez accéder à ce référentiel à l'aide du gestionnaire de packages Linux ou de l'App Store.

Les fichiers qui composent les applications de ces référentiels sont présentés dans un format compressé. Il regroupe tout dans un seul fichier pour un accès et une distribution faciles. Debian, par exemple, utilise le format DEB pour stocker et distribuer des applications. Ces packages sont appelés packages binaires.

Comment lire le code binaire

Vous avez besoin d'une application spéciale pour extraire ces fichiers et les installer sur votre ordinateur, généralement un gestionnaire de packages ou un magasin d'applications est utilisé pour le processus d'installation. Ces outils remplissent également d'autres fonctions utiles, telles que le suivi des fichiers que vous avez installés et la gestion des mises à jour des applications.

Des formats de package plus récents et plus universels tels que Flatpak et Snap fonctionnent sur différentes distributions Linux, mais ils consistent toujours en des implémentations binaires précompilées. Les deux nécessitent une boutique d'applications graphiques ou un gestionnaire de packages basé sur la ligne de commande pour l'installation.

Quel est le code source ?

Toutes les applications sont constituées de lignes de texte appelées code source, écrites dans certains langages de programmation, tels que C ou C++. Vous ne pouvez généralement pas compiler ce code source dans un fichier zip et l'appeler un package. Ces lignes doivent être converties dans un langage que votre ordinateur peut comprendre et exécuter.

Ce processus est appelé compilation et le résultat final crée des fichiers binaires que votre ordinateur peut exécuter. La différence entre les packages et les applications est que les fichiers binaires sont stockés ensemble dans un package, avec d'autres éléments tels que les fichiers de configuration.

Qu'est-ce qu'une installation "depuis la source" ?

Comparaison des packages binaires et source : lequel devez-vous utiliser ? -Linux

Installer une application "depuis la source" signifie l'installer sans utiliser de gestionnaire de packages. Vous compilez le code source et copiez les binaires sur votre ordinateur à la place.

La plupart du temps, vous pouvez télécharger le code source du projet à partir de services d'hébergement tels que GitHub, GitLab ou Bitbucket. Les applications plus importantes peuvent héberger le code source sur un site Web personnel. Le code est généralement compressé dans un format d'archive (également appelé package source).

Un ensemble spécial d'outils permet d'automatiser le processus de construction et d'assemblage. Sur les machines Linux, il se présente souvent sous la forme d'un outil de ligne de commande appelé make. Le code source écrit dans différents langages a besoin de compilateurs et de commandes spécifiques pour le transformer en binaires. L'outil Make automatise ce processus.

Pour que cette automatisation fonctionne, les applications sont fournies avec un Makefile qui leur dit quoi faire et comment compiler. De nos jours, le Makefile est généralement créé automatiquement par une application spéciale comme CMake. C'est là qu'il est disponible. À partir de là, vous pouvez spécifier exactement les fonctionnalités que vous souhaitez regrouper dans votre application. Vérifier Comment installer et configurer Snort IDS sur Linux pour sécuriser votre réseau.

Un exemple de compilation d'une application "depuis les sources"

Par exemple, la commande ci-dessous crée un fichier de configuration pour Calligra Office Suite à l'aide de CMake. Le fichier généré indique que l'application ne compile que le composant Writer de Calligra.

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra

Après cela, il suffit à l'utilisateur d'exécuter un outil de configuration pour collecter les résultats et les copier sur son ordinateur. Cela se fait de la manière suivante:

make

make install

Bien qu'il s'agisse du modèle général de compilation d'applications, il existe de nombreuses autres façons d'installer les packages source. Gentoo Linux, par exemple, a une manière intégrée de gérer cela, ce qui rend le processus beaucoup plus rapide et plus facile. Mais la construction de packages binaires nécessite quelques étapes de plus que les commandes ci-dessus. Vérifier Les applications les plus importantes et indispensables pour les utilisateurs de Linux.

Avantages de l'utilisation de packages binaires

Si vous utilisez Linux, il est possible que quelqu'un ait pré-compilé l'application que vous avez installée. Cela devient plus populaire que l'utilisation de packages source. Mais pourquoi?

1. Les versions binaires sont plus faciles à gérer

Comparaison des packages binaires et source : lequel devez-vous utiliser ? -Linux

Les packages binaires contiennent bien plus que de simples fichiers d'installation groupés. Il stocke également des informations qui permettent à votre gestionnaire de packages de suivre plus facilement toutes vos applications. Par exemple, les fichiers DEB (le format de package pour les distributions Debian et basées sur Debian) contiennent également des informations importantes telles que les autres outils dont les applications ont besoin pour s'exécuter et sa version actuelle.

Cela facilite grandement l'installation des packages, car vous n'avez pas à vous soucier des autres fichiers dont vous avez besoin pour exécuter l'application avec succès. Le gestionnaire de packages peut lire ces informations à partir du package lui-même et télécharger automatiquement toutes les dépendances nécessaires.

Lorsque vous installez l'application à partir des sources, à moins que vous ne compiliez le code dans son propre package binaire, vous êtes responsable de la gestion de cette application. Vous devrez garder à l'esprit les autres dépendances dont vous avez besoin pour le faire fonctionner et les installer vous-même.

2. Les versions binaires ont une stabilité améliorée

Les personnes qui gèrent les référentiels de gestionnaires de packages ont tendance à tester les fichiers binaires pour détecter les problèmes et à faire de leur mieux pour résoudre ceux qui apparaissent. Cela peut améliorer la stabilité, car les responsables des packages peuvent découvrir quelque chose que la personne qui les a installés à partir des sources pourrait manquer.

De plus, les packages doivent généralement respecter un ensemble de règles strictes pour garantir leur exécution sur votre système. Debian et Ubuntu ont tous deux un guide de politique, par exemple, comme le font de nombreuses autres distributions Linux.

Certaines applications dépendent également de différentes versions des mêmes dépendances pour s'exécuter. Les référentiels de packages font de leur mieux pour résoudre ces conflits afin que l'utilisateur n'ait pas à les gérer.

Avantages de la compilation des packages source

L'installation d'applications à partir de la source n'est pas quelque chose que tout le monde doit faire, car il est généralement plus facile de maintenir votre ordinateur si vous vous en tenez aux packages binaires. Cependant, l'utilisation de cette méthode plus compliquée d'installation de diverses applications présente encore certains avantages.

1. Le code source présente les dernières applications

Un inconvénient de rendre les applications plus fiables est qu'il faut du temps pour les améliorer et les corriger. Parfois, un paquet binaire est disponible, mais le code source vient plus tard. Pour les personnes qui veulent le meilleur et le plus récent, ils peuvent préférer une certaine instabilité plutôt que d'obtenir les dernières applications.

Bien qu'il existe des distributions Linux qui répondent à ce besoin sans compiler d'applications, elles présentent certains inconvénients. Par exemple, il est plus difficile de mettre à jour des applications qui ne publient pas fréquemment des versions de package spécifiées dans le référentiel plutôt que de les installer à partir de la source.

En effet, les packages binaires sont généralement créés à partir des versions officielles des applications. Ainsi, les changements entre ces versions ne sont généralement pas pris en compte. En compilant votre application à partir de la source, vous pouvez immédiatement profiter de ces changements.

Il est également possible que votre distribution Linux n'ait pas l'application que vous souhaitez préconfigurée pour vous. Dans le passé, cela aurait fait de son installation à partir de la source votre seule option. Les formats de package universels ont changé cela. Les packages Flatpak et Snap reçoivent également généralement des mises à jour beaucoup plus rapidement que les référentiels système. Mais il y a encore des moments où la collecte est le seul moyen d'obtenir les marchandises.

2. Vous pouvez sélectionner et choisir

Comparaison des packages binaires et source : lequel devez-vous utiliser ? -Linux

Un autre avantage de l'utilisation des packages source est que vous obtenez plus de contrôle sur les applications que vous installez. Lors de l'installation à partir d'un référentiel binaire, vous êtes limité dans la manière dont vous pouvez personnaliser vos packages.

Par exemple, voir FFmpeg Convertisseur audio et vidéo basé sur la ligne de commande. Par défaut, il est livré avec une pléthore de fonctionnalités, dont certaines que vous ne toucherez peut-être jamais. Par exemple, la prise en charge audio JACK est disponible dans FFmpeg, bien que cette implémentation ne soit généralement utilisée que dans les environnements de production.

Le regroupement de FFmpeg vous permet de supprimer les éléments dont vous ne voulez pas, ce qui le rend plus léger et adapté à vos besoins. Il en va de même pour les autres applications intensives.

Lorsque les ressources sont rares, la suppression de fonctionnalités peut être un excellent moyen de réduire la charge. Il n'est pas étonnant que ChromeOS, que l'on trouve sur de nombreux ordinateurs bas de gamme, soit basé sur la distribution Gentoo Linux. Gentoo, étant basé sur les sources, compile un grand nombre de ses applications, ce qui rend ces systèmes beaucoup plus légers. Vérifier Guide du débutant Flatpak : Introduction au téléchargement d'applications avec Flatpak.

Pourquoi ne pas utiliser les packages binaires et source ?

Bien que vous ne vouliez peut-être pas vous emmitoufler tous les jours, il est utile de garder cela à l'esprit. Cependant, avec les nouveaux formats de packages génériques disponibles sur des sites tels que Snap Store et Flathub, il est peu probable que vous ayez besoin de créer à partir de la source pour obtenir le dernier logiciel. Vous pouvez voir maintenant Comment installer des applications Snap dans Linux Arch.

Aller au bouton supérieur