Зачем использовать rpm, если есть ням?

11

Как мы знаем, yum - это система управления пакетами, которая была построена на основе rpm. Это также утилита командной строки, которая (грубо говоря) является более широкой версией rpm, она решает многие проблемы (главная из которых, очевидно, зависимости), которые не заботятся о rpm. Есть ли какой-то конкретный случай, когда использование команды rpm было бы более подходящим, чем yum?

Сергей
источник

Ответы:

11

rpmиспользуется для взаимодействия с базой данных RPM на вашем компьютере. Таким образом, вы можете посмотреть текущее состояние базы данных, проверить пакеты, проверить зависимости установленного программного обеспечения и т. Д.

yumиспользует rpm(фактически, он использует библиотеку Python rpm) для большинства своих локальных операций, но он может выполнять только ограниченное количество функций, которые rpmможет выполнять команда, только связанных с установкой, обновлением и удалением программного обеспечения. yumтакже может общаться с локальными и удаленными хранилищами программного обеспечения, а также генерировать графики зависимостей для управления программными пакетами, что rpmневозможно.

jsbillings
источник
4

rpmделает кучу вещей, только некоторые из которых вытесняются yum. Например, проверка установленных пакетов ( --verify). Сравните yumи rpmсправочные страницы.

jmtd
источник
1
Есть команда "yum verify", хотя она есть в плагине.
Джеймс Антилл
2

В более новых версиях yum rpmdb - не единственное, что изменяется транзакциями (установкой или удалением пакетов), поэтому очень опасно идти за yum и напрямую использовать rpm для этого ... и yum будет жаловаться на вас, если ты это сделаешь.

Единственное, что приходит на ум, что rpm может делать, а yum не может делать, это подписывать пакеты (rpm -K) ... но некоторые операции могут быть немного быстрее, и, очевидно, люди просто запоминают лучше / проще.

Джеймс Антилл
источник
2

Другой «подходящий» случай - когда вы пытаетесь установить / скомпилировать исходный код и не хотите использовать (или не имеете) привилегии root.

Как обычному пользователю вы не можете использовать yum для установки, в то время как вы можете использовать rpm для установки source-rpms в локальный каталог rpm-build-directory.

Nils
источник
0

Есть случаи, когда вы сначала используете rpm, чтобы выполнить некоторые предварительные действия перед yum. Хороший пример - MySQL .

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

На этом этапе репозиторий mysql / yum готов, и вы можете начать полагаться на yum только для получения основного mysql и остальных необязательных пакетов:

(2) yum install mysql-community-server

Смотрите подробности:

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

Трэвис Бэнджер
источник