web-dev-qa-db-fra.com

Comment télécharger un package RPM et l'installer sur une seule ligne?

Je me demandais si en utilisant wget il était possible de télécharger un RPM puis de le diriger via Sudo rpm -i pour l'installer, en une seule ligne? Je réalise que je pourrais simplement courir:

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

pour installer le package, mais je me demandais s'il serait possible de le faire sur une seule ligne en utilisant les options de sortie silencieuses et d'écriture standard de wget. J'ai essayé d'utiliser:

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

mais il est revenu:

rpm: no packages given for install
20
BH2017

RPM a une prise en charge native pour télécharger un package à partir d'une URL. Tu peux faire:

Sudo rpm -i <URL>

Il n'est pas nécessaire de télécharger le RPM manuellement. Si ce support n'existait pas, vous pourriez utiliser la substitution de processus de bash.

Sudo bash -c 'rpm -i <(wget -O - <URL>)'
29
jordanm

Mieux vaut faire yum install -y <URL> car cela prend également en charge les dépendances, par opposition à l'utilisation directe de l'outil rpm.

14
sorin

Je suppose qu'une façon possible pourrait être de définir le nom de fichier de ce que vous téléchargez:

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

Mais il doit sûrement y avoir de meilleures approches

1
lese