Як завантажити пакет RPM та встановити його в один рядок?


18

Мені було цікаво, чи за допомогою wgetнього можна завантажити RPM, а потім sudo rpm -iпередати його, щоб встановити, в один рядок? Я розумію, що міг би просто бігти:

wget -c <URL>
sudo rpm -i <PACKAGE-NAME>.rpm

щоб встановити пакет, але мені було цікаво, чи можливо це зробити в одному рядку, використовуючи тихий і записати в стандартні параметри виводу wget. Я спробував використовувати:

wget -cqO- <URL> | sudo rpm -i

але повернулося:

rpm: no packages given for install

Ви пробували sudo rpm -i <URL>?
Мікель

Ви пробували wget -cqO- <URL> | xargs sudo rpm -iчи, можливо sudo rpm -i $(wget -cqO- <URL>)? Яку помилку вони дають?
Firelord

1
@Firelord. 1-а команда: я просто спробував, і вона дала помилку, показану тут . 2-а команда: дала помилку rpm: no packages given for install.
BH2017

Відповіді:


29

RPM має вбудовану підтримку для завантаження пакету з URL-адреси. Ви можете зробити:

sudo rpm -i <URL>

Не потрібно завантажувати RPM вручну. Якщо такої підтримки не існувало, ви можете скористатись bashпроцесом підстановки.

sudo bash -c 'rpm -i <(wget -O - <URL>)'

7
Краще використовувати yum install -y <URL>, оскільки він також встановить будь-які залежності.
Крісті

1
Добре, якби я використовував дистрибутив, який використовує yum в якості свого менеджера пакунків, це було б, але пам’ятайте, що пакети RPM також використовуються дистрибутивами, які використовують APT-RPM, DNF, urpmi та ZYpp-менеджери пакетів. Виявляється, я використовував OpenSUSE Tumbleweed, який використовує ZYpp.
BH2017

13

Краще робити так, yum install -y <URL>як це і надалі піклується про залежності, на відміну від прямого rpmвикористання інструментів.


Як я вже говорив у коментарях до відповіді jordanm, я використовував openSUSE Tumbleweed, yum недоступний на Tumbleweed.
BH2017

1

Думаю, одним із можливих способів може бути визначення імені файлу того, що ви завантажуєте:

wget -cqO- <URL> -O my-output-file.rpm && sudo rpm -i my-output-file.rpm

Але, безумовно, повинні бути кращі підходи


Я не прийму цю відповідь, як (як ви сказали), я сподіваюся на кращі підходи, але, ви знаєте, це гарна спроба, тож спасибі.
BH2017
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.