Локальная установка .rpms с использованием YUM


50

Я осторожно задаю этот вопрос, потому что не хочу ошибиться.

У меня есть файл program_name.rpm, сохраненный локально на моем сервере (CentOS 6.5).

Я установил его ранее, просто перейдя к нему и используя yum install program_name.rpm, который работал нормально, но не дал мне никакой возможности указать, где он установлен.

Можно ли установить этот rpm в / opt / some_directory вместо его места установки по умолчанию?

Ответы:


34

Используйте об / мин

rpm -ivh package.rpm

Если вы хотите установить его в другом месте, используйте:

rpm -ivh -r /new/path package.rpm

но знайте, что под новым рутом будет воссоздана структура каталогов из пакета


2
это сработало отлично, я не думаю, что есть эквивалент YUM?
— TheLovelySausage

4
Чтобы уточнить: ням это обертка вокруг оборотов. rpm - основная программа для управления пакетами в RHEL, SuSE, CentOS и других дистрибутивах
— Ромео Нинов

4
О, я всегда думал, что yum основан на rpm, никогда не понимал, что это оболочка, спасибо за вашу помощь
— TheLovelySausage

Вы должны быть пользователем root для запуска этой команды?
— Алексей Магура,

Правильно, вы должны быть пользователем root, чтобы запустить команду
— Ромео Нинов

97

Жаль, что вы приняли тот ответ оборотов. Это приведет к предупреждениям от последующих казней yum, таких как Warning: RPMDB altered outside of yum

Вместо этого вы должны использовать yum localinstall, в разделе 13 на странице Yum и RPM Tricks на wiki CentOS => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

Вы можете использовать эту --installrootопцию, чтобы указать другой установочный корень.


3
Мне нравится делать вещи в соответствии с лучшими практиками, и этот ответ включает в себя тот эквивалент, на который я надеялся. К сожалению, я уже установил целую кучу пакетов, используя метод rpm -ivh. Хотелось бы, чтобы можно было принять два правильных ответа, потому что я считаю, что принятый ответ правильный, но люди, приходящие посмотреть на этот вопрос,
— получили

Лучше использовать yum вместо rpm, но для решения «предупреждения: RPMDB изменен вне yum» можно использовать «синхронизацию истории yum»
— elbarna

1
Это работает. Когда я попробовал просто запустить rpm, он не получил зависимости. Это просто ошибка с "Неудачные зависимости".
— Кристиан Шей

"yum --nogpgcheck localinstall packagename.arch.rpm"
— hmz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.