Pourquoi utiliser rpm s'il y a miam?

11

Comme nous le savons, yum est un système de gestion de paquets qui a été construit en plus de rpm. C'est aussi un utilitaire de ligne de commande qui est une version plus grossière (grossièrement parlant) de rpm, il résout de nombreux problèmes (le principal est évidemment les dépendances) dont rpm ne se soucie pas. Existe-t-il un cas particulier où l'utilisation de la commande rpm serait plus appropriée que yum?

Sergey
la source

Réponses:

11

rpmest utilisé pour interagir avec la base de données RPM sur votre ordinateur. Vous pouvez donc regarder l'état actuel de la base de données, vérifier les packages, vérifier les dépendances des logiciels installés, etc.

yumutilise rpm(en fait, il utilise une bibliothèque rpm python) pour la plupart de ses opérations locales, mais il ne peut exécuter qu'un nombre limité de fonctions que la rpmcommande peut exécuter, uniquement liées à l'installation, la mise à jour et la suppression de logiciels. yumpeut également communiquer avec des référentiels de logiciels locaux et distants, et générer des graphiques de dépendance pour gérer les packages logiciels, ce qui rpmn'est pas possible.

jsbillings
la source
4

rpmfait beaucoup de choses, dont seulement une partie est supplantée yum. Par exemple, vérifier les packages installés ( --verify). Comparez les pages de manuel yumet rpm.

jmtd
la source
1
Il existe une commande "yum verify", bien qu'elle soit dans un plugin.
James Antill
2

Dans les nouvelles versions de yum, le rpmdb n'est pas la seule chose qui est modifiée par les transactions (installation ou suppression de packages), il est donc très dangereux de passer derrière yum et d'utiliser directement rpm pour le faire ... et yum se plaindra de vous, si vous faites cela.

La seule chose qui me vient à l'esprit que rpm peut faire et que yum ne peut pas faire est de signer des paquets (rpm -K) ... mais certaines opérations peuvent être légèrement plus rapides, et il y a évidemment juste des choses que les gens retiennent mieux / plus facilement.

James Antill
la source
2

L'autre cas «approprié» est lorsque vous essayez d'installer / compiler le code source et que vous ne souhaitez pas utiliser (ou ne pas avoir) de privilèges root.

En tant qu'utilisateur ordinaire, vous n'êtes pas autorisé à utiliser yum pour l'installation, tandis que vous pouvez utiliser rpm pour installer source-rpms dans votre répertoire local rpm-build.

Nils
la source
0

Il y a des cas où vous utilisez d'abord rpm, pour effectuer quelques trucs préliminaires, avant miam. Un bon exemple est MySQL .

(1) rpm -iv mysql-community-release-el6-5.noarch.rpm

À ce stade, le référentiel mysql / yum est prêt et vous pouvez commencer à compter sur yum uniquement pour obtenir le mysql principal et le reste des packages optionnels:

(2) yum install mysql-community-server

Voir les détails:

http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/index.html

Travis Banger
la source