FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Paquets binaires ou source :lequel utiliser ?

Quel que soit le gestionnaire de packages que vous utilisez, il existe deux grandes manières d'installer des programmes sous Linux. Soit vous utilisez un package pré-construit, soit vous compilez le programme vous-même. De nos jours, le premier l'emporte généralement par défaut, mais il y a des moments où vous voudrez peut-être envisager de compiler à partir de la source coude.

Que sont les packages binaires ?

Paquets binaires ou source :lequel utiliser ?

L'installation de programmes sur Linux est généralement très différente de la méthode traditionnelle d'installation de logiciels sur Windows. Plutôt que de télécharger un programme d'installation sur le site Web d'un fournisseur, les fichiers proviennent d'un référentiel de programmes généralement adapté à votre distribution Linux. Vous accédez à ce référentiel à l'aide d'un gestionnaire de packages Linux ou d'un magasin d'applications Linux.

Les fichiers qui composent les programmes de ces référentiels se présentent sous un format d'archive. Cela 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 programmes. Ces bundles sont appelés packages binaires .

Vous avez besoin d'un programme spécial pour extraire ces fichiers et les installer sur votre ordinateur, généralement votre gestionnaire de packages ou votre boutique d'applications. 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 logicielles.

D'où viennent les colis ?

Tous les logiciels sont constitués de lignes de texte appelées code source, écrites dans des langages de programmation spécifiques, tels que C ou C++. Vous ne pouvez généralement pas simplement regrouper ce code source dans une archive et l'appeler un package. Ces lignes doivent être traduites dans un langage que votre ordinateur peut comprendre et exécuter.

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

Qu'est-ce que l'installation "Depuis la source" ?

Paquets binaires ou source :lequel utiliser ?

Installer un programme "à partir de la source" signifie installer un programme 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 d'un projet à partir de services d'hébergement tels que GitHub, GitLab ou Bitbucket. Des programmes plus importants peuvent même héberger du code source sur un site Web personnel. Le code sera généralement compressé dans un format d'archive (également appelé paquet source ).

Un ensemble spécial d'outils aide à automatiser le processus de construction. Sur les ordinateurs de bureau Linux, cela se présente souvent sous la forme d'un programme en ligne de commande appelé make . Le code source écrit dans différents langages nécessite des compilateurs et des commandes spécifiques pour les transformer en binaires. Le programme make automatise ce processus.

Pour que cette automatisation fonctionne, les programmes fournissent make avec un makefile qui lui dit quoi faire et compiler. De nos jours, il est généralement généré automatiquement par un logiciel spécial tel que CMake. C'est là que vous intervenez. À partir de là, vous pouvez spécifier exactement les fonctionnalités que vous souhaitez compiler dans votre logiciel.

Exemple de construction "à partir de la source"

Par exemple, la commande ci-dessous génère un fichier de configuration pour Calligra Office Suite à l'aide de CMake. Le fichier créé indique au programme make de ne compiler que le composant Writer de Calligra.

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

Cela fait, tout ce qu'une personne a à faire est d'exécuter l'outil make pour compiler et copier les résultats sur son ordinateur. Cela se fait de la manière suivante :

faire 
faire installer

Bien qu'il s'agisse du modèle général de compilation des programmes, 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 création de packages binaires nécessite quelques étapes de plus que les commandes ci-dessus.

Avantages de l'utilisation de packages binaires

Si vous utilisez Linux, quelqu'un a probablement pré-compilé le logiciel que vous avez installé. Cela est devenu beaucoup plus courant que d'utiliser des packages source. Mais pourquoi ?

Les versions binaires sont plus faciles à gérer

Paquets binaires ou source :lequel utiliser ?

Les packages binaires contiennent bien plus que de simples fichiers d'installation compilés. Ils stockent également des informations qui permettent à votre gestionnaire de packages de suivre facilement tous vos programmes. Par exemple, les fichiers DEB (le format de package pour Debian et ses dérivés) contiennent également des informations importantes telles que les autres logiciels dont le programme a besoin pour s'exécuter et sa version actuelle.

Cela rend les packages beaucoup plus faciles à installer, car vous n'avez pas à vous soucier des autres fichiers dont vous avez besoin pour exécuter un programme avec succès. Votre gestionnaire de packages peut lire ces informations à partir du package lui-même et télécharge automatiquement toutes les dépendances nécessaires.

Lors de l'installation de programmes à partir des sources, à moins que vous ne compiliez le code dans un paquet binaire qui lui est propre, vous sera en charge de la gestion de ce logiciel. Vous devrez garder à l'esprit les autres programmes dont vous avez besoin pour le faire fonctionner et les installer vous-même.

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

Les personnes qui gèrent les référentiels pour votre gestionnaire 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 conduire à une meilleure stabilité des programmes, quelque chose qu'une personne qui a installé à partir de la source 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 manuel de politiques, par exemple, comme le font de nombreuses autres distributions Linux.

Certains programmes s'appuient également sur différentes versions de la même dépendance logicielle pour s'exécuter. Les référentiels de packages font de leur mieux pour résoudre ces conflits afin que vous n'ayez pas à vous en soucier.

Avantages de la compilation des packages source

L'installation de programmes à 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 PC si vous vous en tenez aux packages binaires. Même ainsi, il y a encore quelques avantages à utiliser cette méthode un peu plus complexe d'installation de programmes.

Le code source offre les derniers logiciels

L'un des inconvénients de rendre les programmes plus fiables est qu'il faut du temps pour les améliorer et les corriger. Par conséquent, cela peut vous amener à utiliser des versions plus anciennes de logiciels. Pour les personnes qui veulent le dernier cri et le meilleur, ils pourraient même préférer un peu d'instabilité en échange.

Bien qu'il existe des systèmes d'exploitation Linux qui répondent à ce besoin sans compiler de programmes, ils présentent quelques inconvénients. Par exemple, un logiciel qui ne publie pas fréquemment des versions de packages définies est plus difficile à maintenir à jour dans un référentiel qu'à installer à partir de la source.

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

Il est également possible que votre système d'exploitation Linux n'ait pas le logiciel que vous souhaitez pré-créer pour vous. Si tel est le cas, l'installer à partir de la source est votre seule option.

Vous pouvez choisir et choisir

Paquets binaires ou source :lequel utiliser ?

Un autre avantage de l'utilisation des packages source est que vous avez plus de contrôle sur les programmes 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, regardez FFmpeg, le convertisseur audio et vidéo basé sur la ligne de commande. Par défaut, il est livré avec un grand nombre de fonctionnalités, dont certaines que vous ne toucherez peut-être même jamais. Par exemple, la prise en charge audio JACK est disponible dans FFmpeg, même si ce logiciel est généralement utilisé uniquement dans les environnements de production.

Compiler FFmpeg vous permet d'en supprimer les éléments dont vous ne voulez pas, en le laissant plus léger et adapté à vos besoins. Et il en va de même pour les autres programmes lourds.

Lorsque les ressources sont rares, la suppression de fonctionnalités peut être un excellent moyen d'alléger la charge. Il n'est pas étonnant que Chrome OS, présent sur de nombreux ordinateurs bas de gamme, soit basé sur Gentoo Linux. Gentoo, étant basé sur les sources, compile une grande partie de ses logiciels, ce qui rend potentiellement ces systèmes beaucoup plus légers.

Pourquoi ne pas installer avec les deux ?

Bien que vous ne vouliez probablement pas compiler des packages quotidiennement, c'est quelque chose d'utile à garder à l'esprit. Cela dit, avec les nouveaux formats de packages universels disponibles sur des sites tels que Snap Store et Flathub, vous aurez moins besoin de créer à partir de la source pour obtenir le dernier logiciel.


[]