Como baixar um pacote RPM e instalá-lo em uma linha?


18

Fiquei me perguntando se wgetera possível fazer o download de um RPM e depois canalizá-lo sudo rpm -ipara instalá-lo, em uma única linha? Eu percebo que eu poderia simplesmente correr:

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

para instalar o pacote, mas eu queria saber se seria possível fazer isso em uma única linha usando o quiet e gravar nas opções de saída padrão do wget. Eu tentei usar:

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

mas retornou:

rpm: no packages given for install

Você tentou sudo rpm -i <URL>?
Mikel

Você já tentou wget -cqO- <URL> | xargs sudo rpm -iou talvez sudo rpm -i $(wget -cqO- <URL>)? Que erro eles dão?
Firelord 27/11

1
@Senhor do fogo. 1º comando: tentei e deu o erro mostrado aqui . 2º comando: deu o erro rpm: no packages given for install.
BH2017

Respostas:


29

O RPM possui suporte nativo para baixar um pacote de uma URL. Você pode fazer:

sudo rpm -i <URL>

Não há necessidade de baixar o RPM manualmente. Se esse suporte não existir, você poderá usar basha substituição de processo.

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

7
É melhor usar o yum install -y <URL>, porque também instalará quaisquer dependências.
cristi

1
Bem, se eu estivesse usando uma distribuição que usa o yum como gerenciador de pacotes, mas lembre-se de que os pacotes RPM também são usados ​​por distribuições que usam gerenciadores de pacotes APT-RPM, DNF, urpmi e ZYpp. Acontece que eu estava usando o openSUSE Tumbleweed, que usa o ZYpp.
BH2017

13

Melhor fazer yum install -y <URL>isso, pois isso cuida das dependências, em oposição ao rpmuso direto da ferramenta.


Como eu disse nos comentários sobre a resposta do jordanm, eu estava usando o openSUSE Tumbleweed, yum não está disponível no Tumbleweed.
BH2017

1

Eu acho que uma maneira possível poderia ser definir o nome do arquivo do que você está baixando:

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

Mas certamente deve haver melhores abordagens


Não aceitarei esta resposta, pois (como você disse), espero melhores abordagens, mas você sabe que é uma boa tentativa, então obrigado.
BH2017
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.