Bagaimana cara mengunduh paket RPM dan menginstalnya dalam satu baris?

18

Saya bertanya-tanya apakah menggunakannya wgetdimungkinkan untuk mengunduh RPM dan kemudian mengirimkannya sudo rpm -iuntuk menginstalnya, dalam satu baris? Saya sadar saya hanya bisa berlari:

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

untuk menginstal paket tetapi saya bertanya-tanya apakah mungkin untuk melakukan ini dalam satu baris menggunakan opsi tenang dan menulis ke output standar dari wget. Saya sudah mencoba menggunakan:

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

tetapi kembali:

rpm: no packages given for install
BH2017
sumber
Apakah kamu sudah mencoba sudo rpm -i <URL>?
Mikel
Sudahkah Anda mencoba wget -cqO- <URL> | xargs sudo rpm -iatau mungkin sudo rpm -i $(wget -cqO- <URL>)? Kesalahan apa yang mereka berikan?
Firelord
1
@Raja Api. Perintah 1: coba saja dan berikan kesalahan yang ditunjukkan di sini . Perintah ke-2: memberi kesalahan rpm: no packages given for install.
BH2017

Jawaban:

29

RPM memiliki dukungan asli untuk mengunduh paket dari URL. Anda dapat melakukan:

sudo rpm -i <URL>

Tidak perlu mengunduh RPM secara manual. Jika dukungan ini tidak ada, Anda dapat menggunakan bashproses substitusi.

sudo bash -c 'rpm -i <(wget -O - <URL>)'
jordanm
sumber
7
Lebih baik menggunakan yum install -y <URL>, karena ia juga akan menginstal semua dependensi.
cristi
1
Yah jika saya menggunakan distro yang menggunakan yum sebagai manajer paketnya, tapi ingat paket RPM juga digunakan oleh distro yang menggunakan APT-RPM, DNF, urpmi dan manajer paket ZYpp. Ternyata saya menggunakan openSUSE Tumbleweed, yang menggunakan ZYpp.
BH2017
13

Lebih baik dilakukan yum install -y <URL>karena hal ini juga menjaga ketergantungan, bukan rpmpenggunaan alat langsung .

Sorin
sumber
Seperti yang saya katakan di komentar pada jawaban jordanm yang saya gunakan openSUSE Tumbleweed, yum tidak tersedia di Tumbleweed.
BH2017
1

Saya kira satu cara yang mungkin bisa dilakukan untuk mendefinisikan nama file dari apa yang Anda unduh:

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

Tetapi tentunya harus ada pendekatan yang lebih baik

ini
sumber
Saya tidak akan menerima jawaban ini seperti (seperti yang Anda katakan) saya berharap untuk pendekatan yang lebih baik tetapi, Anda tahu ini adalah upaya yang baik, jadi terima kasih.
BH2017