จะดาวน์โหลดแพ็คเกจ RPM และติดตั้งในหนึ่งบรรทัดได้อย่างไร


18

ฉันสงสัยว่าการใช้งาน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

คุณลองsudo rpm -i <URL>ไหม
Mikel

มีคุณพยายามwget -cqO- <URL> | xargs sudo rpm -iหรืออาจจะsudo rpm -i $(wget -cqO- <URL>)? พวกเขาให้อะไรผิดพลาด?
Firelord

1
@Firelord คำสั่งที่ 1: เพียงแค่ให้มันลองและให้ข้อผิดพลาดที่แสดงที่นี่ คำสั่งที่ 2 rpm: no packages given for installให้ข้อผิดพลาด
BH2017

คำตอบ:


29

RPM มีการสนับสนุนดั้งเดิมเพื่อดาวน์โหลดแพ็คเกจจาก URL คุณทำได้:

sudo rpm -i <URL>

ไม่จำเป็นต้องดาวน์โหลด RPM ด้วยตนเอง หากไม่มีการสนับสนุนนี้คุณสามารถใช้bashการทดแทนกระบวนการได้

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

7
จะดีกว่าถ้าใช้ yum install -y <URL> เพราะมันจะติดตั้งการพึ่งพาใด ๆ
Cristi

1
ถ้าฉันใช้ distro ที่ใช้ yum เป็นตัวจัดการแพ็กเกจของมัน แต่จำได้ว่าแพ็กเกจ RPM นั้นถูกใช้โดย distros ที่ใช้ APT-RPM, DNF, urpmi และ ZYpp ปรากฎว่าฉันใช้ openSUSE Tumbleweed ซึ่งใช้ ZYpp
BH2017

13

ดีกว่าที่จะทำyum install -y <URL>เช่นนี้จะดูแลพึ่งพาเมื่อเทียบกับการrpmใช้เครื่องมือโดยตรง


อย่างที่ฉันพูดในความคิดเห็นเกี่ยวกับคำตอบของ jordanm ฉันใช้ openSUSE Tumbleweed, yum ไม่สามารถใช้ได้ใน Tumbleweed
BH2017

1

ฉันคิดว่าวิธีหนึ่งที่เป็นไปได้คือการกำหนดชื่อไฟล์ของสิ่งที่คุณกำลังดาวน์โหลด:

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

แต่แน่นอนว่าจะต้องมีวิธีการที่ดีกว่า


ฉันจะไม่ยอมรับคำตอบนี้ (อย่างที่คุณพูด) ฉันหวังว่าจะได้แนวทางที่ดีกว่า แต่คุณรู้ว่านี่เป็นความพยายามที่ดีขอบคุณ
BH2017
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.