Maison > Tutoriel système > Linux > Packages binaires vs packages de code source sous Linux : lequel choisir ?

Packages binaires vs packages de code source sous Linux : lequel choisir ?

WBOY
Libérer: 2024-02-14 19:06:02
avant
965 Les gens l'ont consulté

Dans les systèmes Linux, la procédure d'installation est généralement différente de la méthode traditionnelle d'installation du logiciel Windows. Vous pouvez l'installer à partir d'un package prédéfini ou compiler le programme vous-même. Dans ces distributions de plus en plus populaires, les packages prédéfinis constituent souvent la principale solution. Mais parfois, vous devrez peut-être également compiler à partir du code source. C'est aussi l'une des caractéristiques du système d'exploitation Linux. La compilation d'un programme à partir du code source garantit que le programme fonctionnera correctement sur le système et disposera de plus de flexibilité et de personnalisation. Quelle que soit la méthode que vous choisissez, vous devez choisir celle qui vous convient le mieux en fonction de vos besoins.

Qu'est-ce qu'un package binaire ?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

L'installation de programmes sous Linux est généralement différente de la manière traditionnelle d'installer des logiciels sous Windows. Plutôt que de télécharger le programme d'installation depuis le site Web du fournisseur, les fichiers proviennent d'un référentiel de programmes, généralement personnalisé pour votre distribution Linux. Vous pouvez accéder à ce référentiel à l'aide de votre gestionnaire de packages Linux ou de votre boutique d'applications.

Les programmes de ces référentiels sont composés de plusieurs fichiers et conditionnés dans un format d'archive pour un accès et une distribution faciles. Par exemple, Debian utilise le format DEB pour stocker et distribuer des programmes. Ces fichiers packagés sont appelés packages binaires.

Comment lire le code binaire

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 disposent également d'autres fonctionnalités utiles, telles que le suivi des fichiers installés et la gestion des mises à jour logicielles.

Les nouveaux formats de packages, tels que Flatpak et Snap, fonctionnent avec différentes versions de Linux, mais ils sont toujours constitués de binaires précompilés. Les deux nécessitent une boutique d’applications graphiques ou un gestionnaire de packages basé sur une ligne de commande pour l’installation.

Qu'est-ce que le code source ?

Tous les logiciels sont constitués de lignes de texte appelées code source, écrites dans un langage de programmation spécifique, tel que C ou C++. Normalement, vous ne pouvez pas simplement regrouper ce code source dans un fichier d'archive et l'appeler un package. Ces lignes doivent être traduites dans un langage que l'ordinateur peut comprendre et exécuter.

Ce processus s'appelle compilation et le résultat final est la création d'un fichier binaire que l'ordinateur peut exécuter. La différence entre un progiciel et un logiciel réside dans le fait que les fichiers binaires du logiciel sont stockés dans un package avec d'autres fichiers tels que les fichiers de configuration.

Qu'est-ce que « Installer à partir de la source » ?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Installer un programme à partir des sources signifie installer sans utiliser de gestionnaire de paquets. Vous devez compiler le code source et copier les binaires sur votre ordinateur.

Dans la plupart des cas, vous pouvez télécharger le code source du projet depuis un service d'hébergement tel que GitHub, GitLab ou Bitbucket. Des programmes plus importants peuvent même héberger le code source sur un site Web personnel. Ce code est généralement compressé dans un format d'archive (également appelé package de code source).

Un ensemble spécial d'outils permet d'automatiser le processus de construction. Sur le bureau Linux, il existe généralement 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 le convertir en binaires. Le programme make automatise ce processus.

Pour faire fonctionner cette automatisation, le programme fournit un fichier appelé Makefile qui indique à make ce qu'il doit faire et comment le compiler. De nos jours, les Makefiles sont généralement générés automatiquement par un logiciel spécial tel que CMake. C'est là que vous devez intervenir. À partir de là, vous pouvez spécifier les fonctionnalités spécifiques que vous souhaitez compiler dans le logiciel.

Exemple construit à partir des sources

Par exemple, la commande suivante utilise CMake pour générer un fichier de configuration pour la suite bureautique Calligra. Le fichier créé indique au programme make de compiler uniquement le composant Writer de Calligra.

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra
Copier après la connexion

Après avoir terminé cette étape, les utilisateurs exécutent simplement l'outil make pour compiler et copier les résultats sur leur ordinateur. Les étapes sont les suivantes :

make
make install
Copier après la connexion
Linux 下二进制包 vs 源代码包:你应该选择哪个?

Bien qu'il s'agisse du modèle général pour compiler un programme, il existe de nombreuses autres façons d'installer les packages sources. Par exemple, Gentoo Linux dispose d'un moyen intégré de gestion des packages de code source, rendant le processus plus rapide et plus facile. Mais la construction du package binaire nécessite plus d’étapes que la commande ci-dessus.

Avantages de l'utilisation de packages binaires

Si vous utilisez Linux, il est probable que quelqu'un ait précompilé le logiciel que vous avez installé. C'est plus courant que l'utilisation de packages de code source. Mais pourquoi cela se produit-il ?

1. La version binaire est plus facile à gérer

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Les packages binaires contiennent non seulement des fichiers d'installation compilés, mais stockent également d'autres informations, ce qui permet à votre gestionnaire de packages de suivre facilement tous vos programmes. Par exemple, les fichiers DEB (le format de paquet pour Debian et ses dérivés) contiennent également des informations importantes telles que d'autres logiciels requis pour l'exécution du programme et sa version actuelle.

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

Et lors de l'installation d'un programme à partir des sources, à moins que le code ne soit compilé dans un package binaire autonome, vous serez responsable de la gestion du logiciel. Vous devez vous rappeler des autres programmes dont vous avez besoin pour le faire fonctionner et les installer vous-même.

2. La version binaire a une meilleure stabilité

Les personnes responsables de la maintenance des référentiels du gestionnaire de packages ont tendance à tester les binaires et à essayer de résoudre les problèmes qui surviennent. Cela peut entraîner une amélioration de la stabilité, car les responsables du paquet peuvent découvrir des problèmes qui auraient pu être négligés par ceux qui installent le code source.

De plus, les packages doivent généralement respecter un ensemble de règles strictes pour garantir qu'ils fonctionnent sur votre système. Par exemple, Debian et Ubuntu ont tous deux un manuel de politiques, et de nombreuses autres distributions Linux ont des manuels similaires.

Certains programmes s'appuient également sur différentes versions des mêmes dépendances logicielles pour s'exécuter. Le référentiel de packages fera de son mieux pour résoudre ces conflits afin d'éviter de vous causer des problèmes.

Avantages de la compilation de packages de code source

Installer un programme à partir des sources 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. Néanmoins, l’utilisation de cette méthode légèrement plus compliquée d’installation d’un programme présente certains avantages.

1. Le code source fournit le dernier logiciel

L'un des inconvénients de rendre le programme plus fiable est qu'il faut du temps pour l'améliorer et le corriger. Parfois, des binaires peuvent être disponibles, mais le code source sera fourni ultérieurement. Pour ceux qui souhaitent disposer des logiciels les plus récents et les plus performants, ils seront peut-être prêts à sacrifier un peu de stabilité tout en échangeant contre des logiciels plus récents.

Bien que certains systèmes d'exploitation Linux puissent répondre à ce besoin sans compiler le programme, ils présentent également certains inconvénients. Par exemple, un logiciel qui ne publie pas fréquemment des versions de packages corrigées aura des difficultés à se maintenir à jour dans le référentiel. En revanche, l’installation à partir des sources ne présente pas ces restrictions.

En effet, les packages binaires sont généralement créés sur la base des versions de programme officiellement publiées. Par conséquent, les modifications entre ces versions ne sont généralement pas prises en compte. En compilant votre propre logiciel à partir du code source, vous pouvez bénéficier immédiatement de ces modifications.

Il est également possible que votre système d'exploitation Linux ne dispose pas du logiciel que vous souhaitez préparé pour vous. Dans le passé, cela aurait fait de l'installation à partir des sources la seule option. Les formats de packages courants ont changé cela. Les packages Flatpak et Snap reçoivent également généralement des mises à jour plus rapidement que les référentiels système. Mais il arrive encore parfois que la compilation soit le seul moyen d’obtenir le logiciel souhaité.

2. Vous pouvez choisir la fonction vous-même

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Caractéristiques de FFmpeg Un autre avantage de l'utilisation des packages de code 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, votre capacité à personnaliser les packages est limitée.

Prenons FFmpeg comme exemple, il s'agit d'un outil de conversion audio et vidéo basé sur une ligne de commande. Par défaut, il est livré avec une tonne de fonctionnalités, dont certaines que vous n'utiliserez peut-être jamais. Par exemple, FFmpeg prend en charge l'audio JACK, bien que ce logiciel ne soit généralement utilisé que dans des environnements de production.

En compilant FFmpeg, vous pouvez supprimer les fonctionnalités dont vous n'avez pas besoin et le rendre plus léger et adapté à vos besoins. Le même principe s’applique à d’autres programmes énormes.

Lorsque les ressources sont limitées, la suppression de fonctions peut réduire efficacement la charge. Il n'est pas étonnant que ChromeOS basé sur Gentoo Linux soit utilisé sur de nombreux ordinateurs bas de gamme. Gentoo est basé sur le code source et compile de nombreux logiciels, ce qui rend potentiellement ces systèmes plus légers à exécuter.

Pourquoi ne pas utiliser à la fois les packages binaires et sources ?

Même si vous ne souhaitez peut-être pas compiler des packages tous les jours, c'est une approche utile. Néanmoins, avec le nouveau format de package universel disponible sur des sites tels que Snap Store et Flathub, vous aurez moins probablement besoin de créer à partir des sources pour obtenir le dernier logiciel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:lxlinux.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal