
Как мы знаем, yum — это система управления пакетами, которая была построена поверх rpm. Это также утилита командной строки, которая является (грубо говоря) более широкой версией rpm, она решает множество проблем (главная из которых, очевидно, зависимости), которые rpm не волнуют. Есть ли какой-то конкретный случай, когда использование команды rpm будет более уместным, чем yum?
решение1
rpm
используется для взаимодействия с базой данных RPM на вашем компьютере. Таким образом, вы можете посмотреть текущее состояние базы данных, проверить пакеты, проверить зависимости установленного программного обеспечения и т. д.
yum
использует rpm
(на самом деле, он использует библиотеку RPM Python) для большинства своих локальных операций, но он может выполнять только ограниченное количество функций, которые rpm
может выполнять команда, связанных только с установкой, обновлением и удалением программного обеспечения. yum
Также может взаимодействовать с локальными и удаленными репозиториями программного обеспечения и генерировать графики зависимостей для управления пакетами программного обеспечения, чего rpm
не может сделать.
решение2
rpm
делает кучу всего, только часть из этого вытесняется yum
. Например, проверка установленных пакетов ( --verify
). Сравните yum
и rpm
страницы руководства.
решение3
В новых версиях yum rpmdb — не единственное, что изменяется транзакциями (установкой или удалением пакетов), поэтому использовать rpm напрямую для этого крайне вредно... и yum будет на вас жаловаться, если вы это сделаете.
Единственное, что приходит на ум из того, что может делать rpm и не может yum, — это подписывать пакеты (rpm -K)… но некоторые операции могут выполняться немного быстрее, и, очевидно, есть просто вещи, которые люди лучше/проще запоминают.
решение4
Бывают случаи, когда вы сначала используете 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