Локальна установка .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
Для уточнення: yum - обгортка навколо оборотів в хвилину. rpm - основна програма для управління упакованими в RHEL, SuSE, CentOS та інших дистрибутивах
Ромео Нінов

4
О, я завжди думав, що ви базуєтесь на оборотах, ніколи не зрозумів, що це обгортка, дякую за всю вашу допомогу
TheLovelySausage

Чи потрібно мати корінь, щоб виконати цю команду?
Олексій Магура

Правильно, ви повинні мати
рут,

96

Дуже погано, що ти прийняв цю відповідь в обороті. Це призведе до попереджень від наступних страт ням, таких як Warning: RPMDB altered outside of yum

Замість цього вам слід скористатися yum localinstallвідповідно до розділу 13 сторінки Yum і RPM Tricks вікі CentOS => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

Ви можете використовувати --installrootопцію, щоб вказати інший інсталяційний корінь.


3
Мені подобається робити речі відповідно до найкращих практик, і ця відповідь включає в себе еквівалент, який я сподівався. На жаль, я вже встановив цілу купу пакетів, використовуючи метод rpm -ivh. Я хотів би, щоб можна було прийняти дві правильні відповіді, тому що я вважаю, що прийнята відповідь є правильною, але люди, які приходять переглянути це питання, отримають більше користі від цієї відповіді
TheLovelySausage

Краще використовувати yum замість rpm, але для вирішення "попередження: RPMDB, зміненого поза yum", можна використовувати "yum sync history"
elbarna

1
Це працює. Коли я спробував просто запустити rpm, він не пішов, щоб отримати залежності. Він просто помилився з "Невдалі залежності".
Крістіан Шей

"yum --nogpgcheck localinstall packagename.arch.rpm"
hmz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.