Локальна установка .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.