如何一行下载RPM包并安装?

如何一行下载RPM包并安装?

我想知道是否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

答案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不会让你做坏事(比如 use --nodeps):

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

你可能还需要做dnf install -y 'dnf-command(download)'

相关内容