ฉันจะติดตั้งและจัดการ RPM ได้อย่างไร


85

ฉันมีความปรารถนาที่จะติดตั้ง RPMs บนการติดตั้ง Ubuntu - เป็นไปได้หรือไม่ ฉันสามารถใช้ Yum - หรือเครื่องมือการจัดการแพ็คเกจ RPM อื่นได้หรือไม่


ทำไม? ซอฟต์แวร์ประเภทใดที่คุณขาดหายไปซึ่งคุณไม่พบใน Ubuntu หรือ PPA การแปลง rpms ด้วยงานคนต่างด้าว แต่ไม่ใช่ตัวเลือกที่ดีที่สุดจริงๆ
ℝaphink

ในวันงานของฉันฉันเป็นผู้ดูแลระบบลินุกซ์และฉันจัดการเครื่อง Redhat เป็นหลัก ฉันรักอูบุนตูเพราะฉันไม่ต้องไปทำงานที่บ้านกับฉัน แต่บางสิ่งที่ Debian ใช้สำหรับการกำหนดค่า (Apache ส่วนใหญ่) จะทำให้ฉันบ้า ฉันค่อนข้างชอบวิธีที่ RH รักษาซอฟต์แวร์ apache ดังนั้นการรักษาโซลูชันการจัดการแพคเกจสองรายการ (ยำและความถนัด) ดูเหมือนเป็นโซลูชันที่สมบูรณ์แบบมากขึ้น (ถ้าเป็นไปได้)
Marco Ceppi

ข้อมูลที่เกี่ยวข้อง: rpmและyum tag wikis
Eliah Kagan

คำตอบ:


117

ฉันสามารถใช้ยำ

ฉันจะไม่แนะนำที่นี่ คุณอาจจะคอมไพล์มันได้ แต่คุณไม่มีที่เก็บของที่ใช้งานร่วมกับ Ubuntu ได้เลย

คุณสามารถแปลงไฟล์ RPM เดี่ยวเป็น DEB ด้วย Alien:

sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb

หมายเหตุ:มันอาจเปลี่ยนชื่อไฟล์ได้มากกว่าเพียงแค่ส่วนขยาย

สิ่งนี้จะไม่ทำงานสำหรับทุกสิ่งเนื่องจากแพ็คเกจเชื่อมโยงไปยังแพ็คเกจอื่นเพื่อเติมเต็มการพึ่งพา เห็นได้ชัดว่า Red Hat / Fedora / CentOS ใช้ชื่อแพคเกจต่าง ๆ กับ Ubuntu ดังนั้นคุณน่าจะเจอกับความเจ็บปวดมากมาย

โอกาสที่จะเกิดขึ้นถ้า DEB ไม่มีอยู่คุณจะทำได้ดีกว่าเพียงแค่ได้รับแหล่งที่มาและรวบรวมมัน


3
ถ้าคนต่างด้าวไม่ทำงานและคุณไม่สิ้นสุดการใช้รหัสที่มาโดยตรงคุณสามารถเปิดที่เข้า .deb โดยใช้ checkinstall (ซึ่งเป็นพื้นที่เก็บข้อมูลในจักรวาลที่ไม่ได้ติดตั้งค่าเริ่มต้น)
ImaginaryRobots

Checkinstall ใช้แทนmake installและมีประโยชน์มาก ๆ ความสามารถในการลบแพคเกจเป็นข้อดี!
aperson

checkinstallเหมาะสำหรับการสร้างตัวเองในสภาพแวดล้อมแบบแพคเกจ แต่มีข้อผิดพลาดบางอย่างที่บางครั้งหมายถึงสิ่งที่จะติดตั้งผ่านmake installจะไม่ติดตั้ง ฉันใช้มันเมื่อฉันสามารถ
Oli

3
alien --install my_package.rpmที่คุณสามารถทำได้
tshepang

ฉันพยายามติดตั้ง lftp รุ่นล่าสุดด้วยวิธีนี้ แต่ไม่ได้อัปเดตการอ้างอิงดังนั้น lftp จึงล้มเหลวในการเริ่มพยายามโหลดด้วย:error while loading shared libraries: libreadline.so.7
Crouching Kitten

15

คุณจะต้องalienทำเช่นนั้น

sudo apt-get install alien

สิ่งนี้จะติดตั้งแพ็คเกจที่จำเป็นทั้งหมดตอนนี้คุณสามารถเริ่มแปลงไฟล์. rpm เป็นแพ็คเกจ. deb

ตัวเลือกที่ใช้ได้สำหรับalien:

แปลง package.rpm เป็น package.deb

sudo alien -d package-name.rpm

แปลงpackage.rpmเป็น a package.debและติดตั้งแพ็กเกจที่สร้างขึ้น

alien -i package-name.rpm

หากคุณต้องการป้องกันไม่ให้คนต่างด้าวเปลี่ยนหมายเลขเวอร์ชันให้ใช้คำสั่งต่อไปนี้

alien -k rpm-package-file.rpm

7

คำตอบสั้น ๆ คืออย่า!

หากคุณมี RPM ที่สำคัญอย่างยิ่งที่คุณต้องมีนั่นอาจเป็นแพ็คเกจ Ubuntu เช่นกัน และหากไม่เป็นเช่นนั้นก็น่าจะเป็นปัญหาในการรวบรวมจากแหล่งที่มาเป็นรูปแบบแพคเกจ Debian (ที่ Ubuntu ใช้เช่นกัน) ขณะนี้มีบางครั้งที่คุณไม่สามารถคอมไพล์ซอฟต์แวร์ซ้ำอีกครั้งได้ (ถ้าไม่ใช่โอเพนซอร์สก็เป็นไปไม่ได้) และในกรณีนี้คุณสามารถใช้alienโปรแกรมได้ แต่การติดตั้งจาก RPM นั้นเหมือนกับการใส่น้ำมันเบนซินลงในรถดีเซล - มันอาจใช้งานได้ แต่คุณจะไม่ได้รับประโยชน์ในระยะยาว!

เพื่อสร้างแพ็คเกจจากแหล่งที่มามีคำแนะนำเกี่ยวกับ Ubuntu Wiki; นอกจากนี้ยังมีโปรแกรมที่เรียกว่าcheckinstallซึ่งสามารถใช้กลอุบายกับซอร์สทรีเริ่มต้นโดยไม่ต้องตั้งค่าคำแนะนำการสร้างสำหรับแพ็คเกจ หากคุณคิดว่าคนอื่นจะได้ประโยชน์จากโปรแกรมที่คุณคอมไพล์คุณสามารถตั้งค่าพื้นที่เก็บข้อมูลบน launchpad และแบ่งปันความดีของแพ็คเกจ!


ไม่ตอบคำถามจริงๆดังนั้น -1
Dee

3

หากคุณต้องการติดตั้ง RPMs บนระบบของคุณคุณควรลองแปลงเป็น 'เอเลี่ยน'

โปรดทราบว่าโดยค่าเริ่มต้น 'คนต่างด้าว' จะเข้าไปยุ่งกับหมายเลขรุ่นของแพคเกจ หากคุณต้องการให้หมายเลขเวอร์ชันยังคงเหมือนเดิมให้ส่งตัวเลือก '-k' เมื่อทำการแปลง

คุณไม่ควรลองใช้ Yum หรือวิธีอื่น ๆ ในการติดตั้ง RPM เช่น apt-rpm ซึ่งอยู่ถัดจากแพ็คเกจ DEB ที่มีอยู่ ระบบ DEB และ RPM จัดการรายการซอฟต์แวร์ที่ติดตั้งแยกต่างหากดังนั้นจึงไม่ทราบว่าติดตั้งแพคเกจใดก่อนหน้านี้โดยระบบอื่น ถ้าเช่นคุณลองติดตั้งแอพพลิเคชั่นที่มี GUI ด้วยระบบจัดการแพ็กเกจ RPM มันจะพยายามติดตั้งส่วนประกอบสำคัญของระบบเพราะคิดว่ายังไม่ได้ติดตั้ง นี่จะทำให้การติดตั้งล้มเหลวอย่างน่ากลัวหรือเขียนทับไฟล์สำคัญของระบบ


3

มีผู้จัดการแพ็คเกจ GUI ชื่อ SmartPM บน Repos สามารถจัดการ. deb และ. RPM Canonical สนับสนุนโครงการนี้จนถึงเดือนพฤศจิกายน 2552

โฮมเพจโครงการอยู่ที่นี่https://github.com/smartpm/smart


ยินดีต้อนรับสู่ถาม Ubuntu! ฉันขอแนะนำให้แก้ไขคำตอบนี้เพื่อขยายด้วยรายละเอียดเฉพาะเกี่ยวกับวิธีการใช้งาน (ดูเพิ่มเติมฉันจะเขียนคำตอบที่ดีได้อย่างไรสำหรับคำแนะนำทั่วไปเกี่ยวกับคำตอบประเภทใดที่ถือว่ามีค่ามากที่สุดใน Ask Ubuntu)
David Foerster

2

เอเลี่ยนคือเครื่องมือที่แปลงจากรูปแบบหนึ่ง (.deb หรือ. rpm) ไปเป็นอีกรูปแบบ (.deb, .rpm หรือ tarball)

คนต่างด้าวไม่แนะนำให้ใช้ในการแปลงจาก. deb ถึง. รอบต่อนาทีมันสมบูรณ์แบบที่จะใช้ในการแปลง. deb เพื่อ tarballs

แม้ว่าคนต่างด้าวจะพยายามที่จะรักษาข้อมูลเมตาเมื่อทำการแปลง แต่มันจะยังคงมีปัญหาเมตาดาต้าและการพึ่งพาทำให้แพคเกจมีความน่าเชื่อถือน้อยลงและดังนั้นจึงจะขัดแย้งกัน


2

ตัวเลือกที่สั้นที่สุดคือ

sudo alien -i -k packagename.rpm

ยังไม่มีเอเลี่ยนใช่ไหม รับหนึ่ง!

sudo apt-get install alien

เอเลี่ยนจะแปลงแพ็กเกจ rpm เป็นแพ็คเกจ deb ตัวเลือก -i หมายถึงติดตั้งแพ็กเกจที่แปลงหลังจากที่ถูกแปลงและตัวเลือก -k ให้แน่ใจว่าเวอร์ชันไม่ได้ +1 หลังจากการแปลง


2

ทำตามคำแนะนำเหล่านี้:

alien -k avg71lms-r30-a0782.i386.rpm

ตอนนี้คุณควรจะมีavg71lms-r30-a0782.i386.debไฟล์

ในการติดตั้งไฟล์. deb:

dpkg -i avg71lms-r30-a0782.i386.deb

หากคุณไม่ได้ใช้-kตัวเลือกคุณควรเห็นavg71lms_r30-1_i386.debความแตกต่างคือมันจะเพิ่ม 1

ติดตั้ง alien ใน Ubuntu:

sudo apt-get install alien

คุณสามารถตรวจสอบส่วนด้านบนเพื่อดูตัวเลือกที่ใช้ได้


1

ด้วยเอเลี่ยนฉันสามารถแปลงไฟล์. rpm เป็นไฟล์. deb และเพียงติดตั้งไฟล์นั้น

Alien มีให้บริการในที่เก็บ Debian ปกติดังนั้นเราจึงสามารถติดตั้งแบบนี้ได้:

sudo apt-get install alien

ในการแปลงเป็นแพ็คเกจ. deb เราก็เรียกใช้

alien *.rpm

คุณน่าจะต้องการใช้ธงกับเอเลี่ยน อย่างน้อยที่สุดมันจะเตือนคุณเกี่ยวกับการไม่แปลงสคริปต์โดยไม่ได้ระบุอย่างชัดเจน--scripts(หรือ-c)
Randall

0

ใช้เอเลี่ยนที่จะแปลงรอบต่อนาทีเป็นเดบิตและติดตั้งเดบิตในภายหลัง


ยินดีต้อนรับสู่ถาม Ubuntu! ฉันขอแนะนำให้แก้ไขคำตอบนี้เพื่อขยายด้วยรายละเอียดเฉพาะเกี่ยวกับวิธีการทำเช่นนี้ (ดูเพิ่มเติมที่ฉันจะเขียนคำตอบที่ดีได้อย่างไรสำหรับคำแนะนำทั่วไปเกี่ยวกับคำตอบประเภทใดที่ถือว่ามีค่ามากที่สุดใน Ask Ubuntu)
David Foerster

0

นี่คือ GUI สำหรับเอเลี่ยน (เอเลี่ยนคือแอปพลิเคชั่นสำหรับแปลง rpm เป็น deb)

http://code.google.com/p/foxoman/wiki/PackageConverter


-1 "Alien" คืออะไรและเกี่ยวข้องกับการติดตั้ง RPMs ใน Ubuntu อย่างไร?
David Foerster

1
@DavidFoerster alien เป็นแอพพลิเคชั่นสำหรับแปลง rpm เป็น deb
Anwar

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