การติดตั้ง. rpms ในเครื่องโดยใช้ YUM


50

ฉันถามคำถามนี้ด้วยความระมัดระวังเพราะฉันไม่ต้องการทำผิด

ฉันมีไฟล์ program_name.rpm อยู่ภายในเซิร์ฟเวอร์ของฉัน (CentOS 6.5)

ฉันได้ติดตั้งไว้ก่อนหน้านี้เพียงแค่นำทางไปยังมันและใช้ yum install program_name.rpm ซึ่งใช้งานได้ดี แต่ไม่ได้ให้ตัวเลือกใด ๆ แก่ฉันเพื่อระบุตำแหน่งที่ติดตั้ง

เป็นไปได้ไหมที่จะติดตั้ง rpm นี้เป็น / opt / some_directory แทนที่จะเป็นตำแหน่งการติดตั้งเริ่มต้น?

คำตอบ:


34

ใช้รอบต่อนาที

rpm -ivh package.rpm

หากคุณต้องการติดตั้งในสถานที่ที่แตกต่างกันให้ใช้:

rpm -ivh -r /new/path package.rpm

แต่ต้องระวังภายใต้รูทใหม่จะถูกสร้างโครงสร้างไดเรกทอรีใหม่จากแพ็คเกจ


2
สิ่งนี้ใช้งานได้ดีฉันไม่คิดว่าจะเทียบเท่า YUM หรือไม่
TheLovelySausage

4
เพื่อชี้แจง: yum เป็น wrapper รอบ rpm รอบต่อนาทีเป็นโปรแกรมหลักในการจัดการบรรจุใน RHEL, SuSE, CentOS และดิสทริบิวชันอื่น ๆ
Romeo Ninov

4
โอ้ฉันมักจะคิดว่ายำนั้นมาจาก rpm ไม่เคยรู้เลยว่ามันเป็นเสื้อคลุมขอบคุณสำหรับความช่วยเหลือของคุณ
TheLovelySausage

คุณต้องรูทเพื่อรันคำสั่งนี้หรือไม่?
Alexej Magura

ถูกต้องคุณต้องรูทเพื่อรันคำสั่ง
Romeo Ninov

96

น่าเสียดายที่คุณยอมรับคำตอบรอบต่อนาที สิ่งนี้จะนำไปสู่คำเตือนจากการประหารชีวิตยำที่ตามมาเช่น Warning: RPMDB altered outside of yum

แต่คุณควรใช้yum localinstallตามมาตรา 13 ของหน้าเคล็ดลับ Yum และ RPMของ CentOS wiki => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

คุณสามารถใช้--installrootตัวเลือกเพื่อระบุรูทการติดตั้งอื่น


3
ฉันชอบทำสิ่งต่าง ๆ ตามแนวปฏิบัติที่ดีที่สุดและคำตอบนี้รวมถึงยำเทียบเท่าที่ฉันหวังไว้ น่าเสียดายที่ฉันได้ติดตั้งแพ็คเกจทั้งหมดโดยใช้วิธี rpm -ivh แล้ว ฉันหวังว่ามันจะเป็นไปได้ที่จะยอมรับคำตอบที่ถูกต้องสองข้อเพราะฉันรู้สึกว่าคำตอบที่ยอมรับนั้นถูกต้อง แต่ผู้ที่มาดูคำถามนี้จะได้ประโยชน์มากขึ้นจากคำตอบนี้
TheLovelySausage

ดีกว่าที่จะใช้ yum แทนรอบต่อนาที แต่เพื่อแก้ปัญหา "คำเตือน: RPMDB เปลี่ยนแปลงนอก yum" เป็นไปได้ที่จะใช้ "yum history sync"
elbarna

1
วิธีนี้ใช้ได้ผล เมื่อฉันลองวิ่งรอบต่อนาทีมันไม่ได้ไปขึ้นอยู่กับการพึ่งพา มันเพิ่งเกิดข้อผิดพลาดกับ "การพึ่งพาที่ล้มเหลว"
Christian Shay

"yum --nogpgcheck localinstall packagename.arch.rpm"
hmz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.