RPMパッケージをダウンロードして1行にインストールする方法は?

RPMパッケージをダウンロードして1行にインストールする方法は?

RPMをダウンロードしてから、パイプを介して1行でインストールするためにwget使用できるかどうか疑問に思います。sudo rpm -i私は走ることができることに気づきました。

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

パッケージがインストールされていますが、wgetのQuietおよびwrite to stdoutオプションを使用して1行でこれを実行できるかどうか疑問に思います。私は以下を試してみました。

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

しかし、次のように返されます。

rpm: no packages given for install

答え1

RPMはデフォルトでURLを介したパッケージのダウンロードをサポートしています。次のことができます。

sudo rpm -i <URL>

RPMを手動でダウンロードする必要はありません。このサポートがない場合は、bashプロセス置換を使用できます。

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

答え2

ツールを直接使用するyum install -y <URL>よりも依存関係を処理するので、これを行う方が良いです。rpm

答え3

可能な方法は、ダウンロードするファイル名を定義することです。

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

しかし、もっと良い方法があります。

答え4

インストールしたいときに悪いことをするのを防ぐためのrpm別の方法があります。dnf--nodeps

rpm -i --nodeps  $(dnf download --quiet --url somepackage-version-1 )

また、する必要がありますdnf install -y 'dnf-command(download)'

関連情報