Dois-je installer des programmes à partir d'une archive tar source (`.tar.gz`), d'Ubuntu Software Center ou d'ailleurs?

29

Il existe plusieurs façons d'installer une application dans Ubuntu:

  • Vous pouvez télécharger une archive tar source (généralement un .tar.gzou un .tar.bz2fichier) et l'installer manuellement. (Voir Comment installer un fichier .tar.gz (ou .tar.bz2)? )

  • Vous pouvez télécharger un .debfichier et l'installer manuellement à l'aide de dpkgou du Centre logiciel.

  • Vous pouvez rechercher l'application dans le Centre logiciel Ubuntu et l'installer là-bas, ou l'utiliser aptavec les référentiels Ubuntu officiels.

  • Vous pouvez trouver un PPA ou un repo tiers et l'installer à partir de là.

Quels sont les avantages et les inconvénients de chaque méthode? Veuillez discuter des implications de sécurité, de la fréquence des mises à jour et de la fiabilité du programme de chaque méthode dans votre réponse.

Flimm
la source
1
c'est beaucoup de questions en une. Il pourrait être légèrement préférable de poser une question plus ciblée. La valeur par défaut est d'utiliser le Centre logiciel Ubuntu. Une bonne comparaison / contraste serait entre les boules de goudron (.tar.gz) et l'écosystème apt-get + .deb (y compris la ligne de commande et le Ubuntu Software Center).
Warren P
Si la question était posée en quatre questions distinctes, la réponse serait / devrait être la même pour les quatre: préférez l'installation / la mise à jour à l'aide d'un gestionnaire de pack de repo (principal ou tiers). Si ce n'est pas une option, vous pouvez commencer à entrer dans les avantages et les inconvénients généraux de ceci et cela - mais à ce stade, cela résume probablement quelle application est utilisée et ce que vous voulez spécifiquement en faire. (Par exemple, j'installe le standard "java" fourni par le repo public, mais en tant que développeur, j'installe également 5 versions différentes dans / opt / java via tar.gz).
michael

Réponses:

33
  • Fiabilité:
    • Lors de l'installation à partir d'une archive tar, le logiciel peut essayer d'écraser d'autres logiciels. Les dépendances de construction sont nécessaires et le processus a un taux d'échec élevé. Si vous installez un logiciel dont dépendent les packages dans les référentiels, cela ne satisfera pas cette dépendance car il n'est pas enregistré avec dpkg, sauf si vous l'utilisez checkinstallpour le convertir temporairement en package debian. Avec cela, vous risquez de casser dpkg. Même si le code est open-source, à moins de vous assurer qu'il n'a pas été modifié, vous devez toujours le télécharger à partir d'un site de confiance. Vous pouvez installer plusieurs versions du logiciel, à condition qu'il utilise différents répertoires. Vous pouvez remplacer cela dans le makefile.
    • L'utilisation d'un paquet debian garantira que les fichiers n'écraseront pas ceux des autres programmes, cependant, si vous utilisez sudo dpkg -i file.deb, les dépendances doivent être installées en premier. Une fois installé de cette façon, vous n'obtiendrez pas de mises à jour à moins que le package ne soit également dans les référentiels, mais ce package satisfera les dépendances nécessitant ce logiciel. Il donnera également très probablement à ce package une entrée de menu ou au moins enregistrera des pages de manuel. Les paquets Debian sont généralement testés avec Lintian qui s'assure que les paquets respectent ou dépassent un ensemble de normes qui peuvent être assez strictes, allant jusqu'à si certains fichiers ont du code exécutable ou non. Plusieurs versions du même package ne peuvent pas être installées. Un package mal conçu peut ne pas réussir à installer, à supprimer ou même à casser DPKG, entraînant des réparations difficiles, des recherches effrénées de sauvegardes ou même une réinstallation si le problème est grave.
    • L'utilisation aptest la meilleure option lorsque cela est possible. Les dépendances seront automatiquement récupérées et installées, et les packages sont créés à l'aide de configurations de serveur de génération fiables sur le tableau de bord, minimisant les échecs. Les packages peuvent être recherchés via aptitudeou d'autres outils de ce type, et les mises à jour seront facilement facilitées via le gestionnaire de mise à jour. Étant donné que les dépendances proviennent également apt, le package est plus susceptible d'interagir correctement avec les dépendances. Les packages sont testés via Lintian comme avec debs, mais les tests, combinés à des serveurs de construction hautement stables, rendent les packages encore plus stables. Étant donné que les packages passent par les serveurs de construction d'Ubuntu, ils seront très probablement modifiés pour s'intégrer au reste du système d'exploitation. Plusieurs versions du même package ne peuvent pasêtre installé. Étant donné que les serveurs de construction d'Ubuntu sont utilisés pour les PPA, il y a moins de changements que vous casserez en aptraison de l'auto-linitianing.
  • Mise à jour:
    • Avec un tarball, vous n'obtiendrez aucune mise à jour, à moins que le programme n'ait son propre chèque. Avec cela, vous devrez installer ces mises à jour manuellement, et elles ne seront pas consolidées en un seul endroit. Vous pourrez probablement obtenir le code source nocturne ou même actuel dans une archive tar à compiler et à installer. Si vous avez besoin d'un code de pointe, cela peut être utile.
    • Avec debian, les paquets ne seront mis à jour que si vous en avez le référentiel. Les développeurs créeront très probablement des paquets Debian un peu derrière la source de pointe, mais les bêtas sont souvent trouvés avec les debs en ligne.
    • Avec apt, les packages seront mis à jour très facilement. Les mises à jour sont consolidées en un seul endroit, le gestionnaire de mise à jour, et sont effectuées automatiquement ou semi-automatiquement. À moins que vous ne soyez sur une version alpha ou bêta d'Ubuntu, vous utiliserez des versions bien testées, même si elles sont une version ou deux derrière la source en amont actuelle. Les mises à jour de sécurité seront transmises dès qu'elles seront légèrement testées pour s'assurer qu'elles n'aggravent pas la situation. Cela signifie que votre sécurité sera protégée par des mises à jour en temps opportun, mais ces mises à jour seront vérifiées pour éviter la perte de données.
  • Sécurité:
    • Les tarballs ne sont en aucun cas signés numériquement. Ils peuvent être mutilés ou modifiés par des tiers malveillants. Même si vous faites un hachage (évitez MD5), vous devez toujours faire confiance au propriétaire du site et à l'auteur du package, car ils fournissent des sommes SHA ou MD5.
    • Les paquets Debian ne sont pas signés, mais dpkgne permettront pas à un paquet Debian d'écraser les fichiers d'un autre, donc un deb malveillant ne peut ni détruire initni jouer bashen le remplaçant. Vous devez toujours faire confiance au site Web et à l'auteur du package.
    • aptutilise des clés signées pour les référentiels, afin qu'ils ne puissent pas être modifiés sans qu'un drapeau rouge ne se lève. Les téléchargements PPA sont signés numériquement afin que les non-propriétaires du PPA ne puissent pas mettre en place des packages cassés ou dangereux. Le non-remplacement des fichiers d'un autre package est également appliqué. Bien sûr, vous devez faire confiance au propriétaire du PPA ou du référentiel, car les packages non contrôlés avec du code malveillant s'exécuteront lors de leur exécution.
ζ--
la source
1
Je vous suggère d'ajouter l'intégration. Ubuntu et les gestionnaires de paquets Debian en amont s'assurent que les paquets participent aux fonctionnalités à l'échelle du système, comme le système alternatif (j'ai des programmes X qui peuvent ouvrir une page Web, laquelle je veux être celle par défaut) et ainsi de suite. Une installation tarball manuelle ne fonctionne généralement pas de cette façon.
Warren P
@WarrenP J'ai bien ajouté cela, mais ce n'est peut-être pas clair. Merci!
ζ--
Was "Si vous installez un logiciel dont dépendent les packages dans les référentiels, cela ne satisfera pas cette dépendance car il n'est pas enregistré avec dpkg ." dans le premier point destiné à couvrir l' intégration ?
1
@ vasa1 Ceci concerne les archives tar, car Apt et dpkg vérifieront leurs bases de données, pas le système de fichiers, pour déterminer si un paquet est installé. Vous pouvez toujours utiliser checkinstallpour contourner cela.
ζ--
19

La réponse courte est que l' installation depuis Ubuntu Software Center est généralement préférable à toutes les autres méthodes . Cependant, il peut arriver que vous souhaitiez installer un programme ailleurs.


Installation à partir de la source:

  • Incidences sur la sécurité : vous devez faire confiance aux auteurs du logiciel et au site Web qui héberge le téléchargement. Vous devez également vérifier que le téléchargement est effectué via HTTPS, sinon un tiers peut modifier le téléchargement.

  • Fréquence des mises à jour : vous obtiendrez toujours les dernières et les meilleures! Les mises à jour seront aussi fréquentes que les auteurs originaux le choisiront. Cependant, vous devrez vérifier manuellement les mises à jour.

  • Fiabilité : Elle peut ne pas être aussi fiable que d'autres méthodes, car le logiciel aura subi moins de tests, et peut-être même pas été testé du tout pour Ubuntu, juste d'autres distributions Linux.

  • Facilité d'installation et de désinstallation : la plus difficile de toutes les options. Même les utilisateurs expérimentés peuvent éviter cette option, car ils préfèrent utiliser des paquets Debian natifs, qui sont beaucoup plus faciles à gérer.

Installation à partir d'un .debpackage:

  • Incidences sur la sécurité : identique à l'installation à partir de la source.

  • Fréquence des mises à jour : identique à l'installation à partir de la source.

  • Fiabilité : légèrement meilleure que l'installation à partir de la source. Si les auteurs ont fourni un .debpaquet, cela implique qu'ils ont probablement fait quelques tests minimaux sur Debian ou Ubuntu.

  • Facilité d'installation et de désinstallation : très facile. Double-cliquez et cliquez sur "installer"! De même facile pour la désinstallation.

Installation depuis Ubuntu Software Center:

  • Incidences sur la sécurité : vous devez faire confiance aux auteurs du logiciel et aux responsables du dépôt Ubuntu. Dans l'ensemble, c'est une meilleure sécurité que l'installation directement à partir des sources, car le programme a été examiné dans une certaine mesure par les responsables Debian et / ou Ubuntu. Les responsables Debian et / ou Ubuntu peuvent également corriger le programme pour corriger des failles de sécurité, si le programme est open source.

  • Fréquence des mises à jour : les responsables Debian et / ou Ubuntu ne sélectionnent que certaines versions du logiciel. (Par exemple, ils peuvent uniquement choisir des mises à jour stables). Il y a un délai entre la sortie d'un programme et son inclusion dans les dépôts Debian et / ou Ubuntu. Si vous voulez le dernier et le meilleur, ce n'est pas la meilleure option. Si vous voulez des mises à jour stables qui ont été examinées, c'est une bonne option. Les mises à jour sont proposées automatiquement via le gestionnaire de mise à jour et apt-get.

  • Fiabilité : bien meilleure que l'installation depuis la source, car le programme a été revu et ajusté pour Ubuntu.

  • Facilité d'installation et de désinstallation : très, très facile.

Installation à partir d'un PPA ou d'un référentiel tiers:

  • Incidences sur la sécurité : vous devez faire confiance aux auteurs du logiciel et à quiconque gère le PPA. Absolument tout le monde peut héberger un PPA, alors ne faites pas confiance au PPA simplement parce qu'il est sur Launchpad. L'utilisateur aurait pu être paresseux et ne pas avoir examiné du tout le logiciel.

  • Fréquence des mises à jour : Cela dépend du PPA. La vérification des mises à jour est facile.

  • Fiabilité : souvent moins fiable que l'installation à partir du Centre logiciel Ubuntu. Les PPA sont là pour les programmes qui ne répondent pas encore aux normes d'Ubuntu Software Center, donc ils sont pratiquement garantis pour être moins fiables.

  • Facilité d'installation et de désinstallation : ce n'est pas difficile à apprendre, et cela correspond bien à la gestion des paquets d'Ubuntu.

Flimm
la source
1
L'USC n'est qu'une interface de apt-gettoute façon. Ne transformons pas cela en un débat GUI vs ligne de commande. Si vous pensez que ce choix mérite d'être discuté, commencez une autre question.
Flimm
2
@Flimm: pas tout à fait, USC peut également installer le package .deb, il est donc plus approprié d'appeler USC un frontend pour apt-get et dpkg.
Lie Ryan
1
Je ne dis pas "débat", je dis "les utilisateurs viennent ici pour obtenir de la clarté, et cette question et cette réponse ne semblent pas beaucoup clarifier les choses".
Warren P
1
@LieRyan: d'accord.
Flimm
1
@WarrenP: Je ne suis pas d'accord sur la raison pour laquelle les utilisateurs viennent ici. Les utilisateurs viennent ici pour décider d'où télécharger et installer une application. Si cela ne ressort pas clairement de la question, nous pouvons le modifier. Je pense que la question est claire, si vous avez une autre question qui est plus utile aux utilisateurs, créez un nouveau message de question.
Flimm