Tous les logiciels sont des programmes , également appelés paquets sources . Donc, tous les paquets sources doivent être construits d’ abord pour pouvoir fonctionner sur votre système.
Les packages binaires sont ceux qui ont déjà été générés à partir des sources par une personne disposant des fonctionnalités générales et des paramètres fournis dans le logiciel, de sorte qu’un grand nombre d’utilisateurs puissent l’installer et l’utiliser.
Les paquets binaires sont faciles à installer .
Mais peut ne pas avoir toutes les options du paquet en amont.
Donc, pour installer à partir du source, vous devez créer le code source vous-même. Cela signifie que vous devez vous occuper vous-même des dépendances. Vous devez également connaître toutes les fonctionnalités du package pour pouvoir le construire en conséquence.
Avantages de l'installation à partir de la source:
- Vous pouvez installer la dernière version et rester à jour, qu'il s'agisse d'un correctif de sécurité ou d'une nouvelle fonctionnalité.
- Vous permet de réduire les fonctionnalités lors de l'installation afin de répondre à vos besoins.
- De même, vous pouvez ajouter des fonctionnalités qui peuvent ne pas être fournies dans le binaire.
- Installez-le à l'emplacement de votre choix.
- Dans le cas de certains logiciels, vous pouvez fournir des informations spécifiques à votre matériel pour une installation appropriée.
En bref, l’installation à partir du code source vous donne une lourde option de personnalisation. Cela demande beaucoup d’efforts, alors que l’installation à partir de fichiers binaires est plus facile, mais vous ne pourrez peut- être pas personnaliser à votre guise.
Mise à jour : Ajout de l'argument lié à la sécurité dans les commentaires ci-dessous. Oui, c’est vrai que lors de l’installation à partir de binaires, vous n’avez pas l’intégrité du code source. Mais alors, cela dépend d'où vous avez obtenu le binaire. Il existe de nombreuses sources fiables sur lesquelles vous pouvez obtenir le fichier binaire de tout nouveau projet, le seul point négatif est le temps . Cela peut prendre un certain temps pour que le binaire des mises à jour, voire un nouveau projet, apparaisse dans nos référentiels de confiance.
Et par-dessus tout, à propos de la sécurité des logiciels, je voudrais mettre en évidence cette page hilarante chez Bell-Labs fournie par Joe dans les commentaires ci-dessous.
Un fichier source contient le code original tel qu'écrit par le développeur dans le langage de son choix (C, C ++, Python, etc.) et est générique. Il n'est spécifique à aucune distribution et, dans de nombreux cas, à aucun système d'exploitation.
Un paquetage (RPM ou DEB par exemple) est l'exécutable binaire (ou script interprété, etc.) préparé à l'avance pour votre distribution particulière. La tâche de préparer le source pour la compilation (en ajoutant les correctifs nécessaires, etc.), la compilation proprement dite, la création de fichiers de configuration propres à la distribution, la création de scripts de pré-installation et de post-installation, etc., est entièrement effectuée pour vous par le mainteneur du paquet.
En d’autres termes, tout le travail sur les ânes a été effectué pour vous dans un package, alors que vous devrez le faire vous-même si vous choisissez d’installer à partir des sources.
Il est beaucoup plus facile d'utiliser un paquet dans presque tous les cas, par exemple:
Cependant, la version packagée est parfois une ancienne version ou, pire encore, il n’existe pas de version packagée; Dans ce cas, votre seule option est de vous compiler. Si vous le faites, vous devez tenir compte des éléments suivants:
dev
paquetages - ils pourraient être nombreux.Si vous êtes prêt à faire un effort supplémentaire, alors compiler à partir de la source peut vous donner les avantages de:
Notez que, si les packages pré-construits de certaines distributions fournissent des exécutables binaires prêts à être installés et exécutés (RPM et DEB sont des exemples), d’autres distributions fournissent des packages qui automatisent simplement le processus de compilation.
Gentoo en
ebuilds
est un exemple: le paquet est essentiellement une instruction destinée au gestionnaire de paquet décrivant comment compiler et installer l'exécutable. Cela présente de nombreux avantages des gestionnaires de paquets traditionnels (mises à jour automatiques, désinstallation, etc.) tout en permettant à l'utilisateur d'optimiser le processus de compilation à son goût.Arch Linux dispose d’un système d’emballage dans lequel les principaux paquets sont binaires, tandis que de nombreux autres paquets sont compilés sur le système à l’aide de
PKGBUILD
fichiers.la source
Outre les autres réponses, j'aimerais ajouter quelque chose:
Si vous décidez de compiler un programme vous-même, vous devez penser que la compilation n'est pas quelque chose que vous ne faites qu'une seule fois. Vous devrez probablement vous inscrire à la liste de diffusion de développement des applications que vous avez décidé de compiler et rester à jour avec les nouvelles versions et, en particulier, avec les mises à jour de sécurité.
Chaque fois que l’application est mise à jour, vous devrez recompiler la nouvelle version, mais gardez bien à l’esprit que vous devrez gagner du temps chaque semaine.
Si vous ne pouvez pas vous le permettre, il est préférable de laisser le responsable du paquet faire ce travail pour vous.
la source
Construire à partir de la source permet de spécifier l'architecture de votre machine. Les nouveaux processeurs ont des instructions supplémentaires que les compilateurs comprennent, ce qui réduit un peu les performances. Les packages de pré-construction comptent généralement sur le processeur le plus archaïque encore utilisé couramment.
Cela est particulièrement important pour les applications critiques de projets qui utilisent beaucoup de ressources processeur, telles que les outils de pipeline bioinformatique, par exemple, ou les outils de modélisation géophysique. Un tel logiciel fonctionne dans un environnement très contrôlé, ne comporte pas de contrôle d'accès, et les bogues de sécurité ont rarement une si grande urgence qu'ils doivent être corrigés en quelques jours ou heures. Presque jamais, il doit être exécuté sur une machine différente avec une architecture initialement inconnue.
Oui, je le savais, les ordinateurs sont très très très rapides maintenant et tous les efforts ou actions que vous prenez sont très très très coûteux, mais le troisième jour de séance et d'attendre que votre programme soit terminé (c'est la situation dont je parle), de telles vérités commencer à regarder discutable.
De manière différente, les applications telles que les navigateurs, etc., devraient être mieux utilisées à partir du référentiel du responsable (et non à partir de certains paquetages préconstruits téléchargés), car il est très important de les maintenir à jour.
la source
Une façon d'obtenir le meilleur des deux mondes (logiciel à jour, installation / désinstallation simple, intégration de la plupart des ajustements et adaptations de la distribution, optimisation pour les besoins locaux), tout en réduisant les coûts (nécessité de rester à jour, de surveiller les bugs) et les correctifs de dernière minute, suivez le développement, vous êtes seul en ce qui concerne les corrections de bugs et les incompatibilités entre les versions) ne peuvent pas être atténués (beaucoup), est de construire vos propres packages, en commençant par les packages source de votre distribution. Oui, cela représente plus de travail que de simplement construire et installer.
la source