Quelle est la différence entre yum, apt-get, rpm, ./configure && make install?

126

Je suis nouveau sur Linux et je cours avec CentOS. J'ai découvert quatre façons de mettre à jour ou d'installer un logiciel.

Jusqu'à présent, j'ai vu:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz-> unpack-> ./configure-> make->make install

Cette dernière est une véritable gêne, en particulier sous Windows, où l’installation du programme ne prend généralement qu’un clic et un assistant d’installation agréable.

Donc, mes questions sont:

  • Pourquoi existe-t-il tant de façons différentes de faire cela sous Linux?
  • Lequel recommandez-vous d'utiliser et pourquoi?
  • Existe-t-il d'autres moyens d'installer des programmes sous Linux?
Saif Bechan
la source
En outre, qu'en est- yumcontre up2date. Je n'ai jamais été clair sur la différence.
Josh
apt-getest pour Debian, et ne devrait vraiment pas apparaître sur CentOS ....
Kyle Strand

Réponses:

114

Ces outils installent tous des logiciels sur votre système, mais travaillent à différents niveaux.

  • ./configure && make install

    Exécuter ./configure && make installgénère et installe les bibliothèques ou les exécutables directement à partir du code source.

    Cette make installétape consiste simplement à copier les fichiers finaux dans votre système. De nombreuses sources comportent une make uninstallrègle spéciale pour les supprimer à nouveau, mais cela n'est pas garanti et ne fonctionne bien entendu que si vous disposez des sources configurées. En outre, cela ne prend pas en charge les dépendances requises.

    Souvent, seul le code source est disponible pour un certain paquet, c'est donc la seule solution. En outre, ./configureaccepte généralement de nombreuses options vous permettant d’adapter votre forfait.

    Ne pas être en mesure de savoir quel logiciel a installé quel fichier, et l’absence d’un moyen fiable de les supprimer du système sont des inconvénients majeurs de cette approche.

  • RPM (gestionnaire de paquets Redhat)

    rpminstalle les logiciels déjà configurés et compilés sur votre système et il est également livré avec une désinstallation pour vous en débarrasser à nouveau. Les paquets doivent être créés par quelqu'un. Cette personne a déjà décidé des fonctionnalités à inclure et de la meilleure façon d’intégrer le package dans la structure de votre système. Il vient également avec une liste de dépendances.

    Comme les rpms sont utilisés pour de nombreuses distributions, vous voudrez souvent vous assurer que ce rpm a été écrit pour votre distribution afin que les chemins d'installation, les dépendances et les autres tâches de maintenance s'intègrent bien.

    Sur les systèmes Debian, le format de paquet équivalent est .debet l’installation et la base de données sont gérées par l’ dpkgoutil.

  • Miam

    yumest un wrapper supplémentaire autour rpm. Il garde sa propre base de données de fichiers rpm disponible pour votre distribution, généralement dans des référentiels en ligne. Pour les versions stables de la plupart des distributions, tous les packages de cette base de données fonctionneront bien les uns avec les autres. Cette base de données peut être recherchée (par exemple avec yum search some_name).

    Cela résoudra aussi automatiquement les dépendances pour vous. Les paquetages (et avec une aide supplémentaire leurs dépendances) peuvent également être facilement désinstallés.

    Sur les systèmes Debian, le référentiel équivalent et les outils de résolution des dépendances sont fournis par Apt ( apt-getet aptitude).

Donc, pour résumer: si vous voulez seulement un logiciel, essayez d’ yumabord. S'il n'est pas disponible là-bas, vous pouvez essayer de trouver un rpmpaquet existant . S'il n'y en a pas ou si vous avez des exigences particulières, construisez à partir des sources.

Benjamin Bannier
la source
à peu près ce que j'allais dire. ajouté dans une mention des équivalents Debian et a modifié le formatage.
Quack Quichote
2
@quack: Merci. Mais ne pouvons-nous pas tous nous taire apt-getou est-ce toujours recommandé?
Benjamin Bannier
2
vous avez raison, c'est probablement l' aptitude à recommander; J'ai inclus apt-get car il est largement utilisé, et un lecteur qui ne connait pas aptitude a peut-être entendu parler d’ apt-get .
Quack Quichotte
4
Quel est le problème avec apt-get?
récursive
5
@recursive: à un moment donné apt-get, n'enregistrait pas les dépendances automatiques et les laissait après une désinstallation, tout en aptitudeintroduisant un suivi approprié des dépendances. En outre, certaines fonctionnalités supplémentaires non disponibles dans apt-get. Je ne suis pas sûr, mais je pense qu'à un moment donné, apt-getet aptitudelorsqu'il a été mis à jour pour utiliser le même backend avancé, fournissant une grande partie de cette fonctionnalité.
Benjamin Bannier
5

Yum are RPM sont la même chose, sauf que yum récupère automatiquement les paquetages sur le net et les installe (en utilisant rpm -i) en une seule étape. Il devrait être utilisé autant que possible pour faciliter la mise à jour. Utilisez cette option rpmuniquement lorsqu'il n'y a pas de package à rechercher yum, et utilisez la makeméthode uniquement lorsqu'il n'existe aucun package .rpm disponible ou si vous devez modifier certaines options de compilation.

Marcusw
la source