ฉันจะติดตั้ง RPM โดยไม่ต้องรูทได้อย่างไร


46

ฉันจะติดตั้ง RPM บนเครื่องที่ฉันไม่มีสิทธิ์รูทได้อย่างไร ฉันต้องการติดตั้งแพคเกจสำหรับการใช้งานของฉันในไดเรกทอรีงานส่วนตัวเท่านั้น ฉันใช้ SuSe SLES10

โปรดอย่าจุดประกายฉันด้วย "ความคิดนี้ช่างโง่เง่ามากคุณไม่ควรทำเพราะคำขอทั้งหมดต้องผ่านรูตของ บริษัท เพื่อเขาจะอยู่ได้ตลอดไป"

ฉันรู้ว่าฉันสามารถขอสิ่งนี้จากเจ้าพ่อหลักได้ แต่ฉันจะถูกยิง (ด้วยเหตุผลที่ไม่มีที่ติและไร้ที่ติฉันแน่ใจว่า ... ) นอกจากนี้เขาจะไม่ติดตั้งมันแม้ว่าเขาจะบอกว่าเขาจะทำ


6
สิ่งนี้ไม่ซ้ำกันเลย การลบล้างเส้นทางไม่อนุญาตให้ผู้ใช้ที่ไม่ได้รับสิทธิพิเศษใช้ rpm
John T

ขอบคุณ HarryMC ฉันจะตรวจสอบว่า นอกจากนี้การเพิ่มลิงก์ไปยังตั๋วอื่น ๆ ที่ผู้คนคิดว่าฉันเป็นของซ้ำกัน บางที breadcrumbs อาจช่วยคนอื่นได้: superuser.com/questions/160530/override-rpm-install-path
Ross Rogers

สำหรับอนาคตที่ดีกว่าให้ดูที่appimage.org
Ross Rogers

คำตอบ:


55
cd my-dir;
rpm2cpio to-install.rpm | cpio -idv

ดูวิธีการแยกแพคเกจ RPM ไม่ต้องติดตั้ง (รอบต่อนาทีสารสกัดจากคำสั่ง)


2
ฉันทำสิ่งนี้และ cpio ดูเหมือนจะไม่ทำอะไรนอกจากพิมพ์ '1 บล็อก' ฉันทำอะไรผิดหรือเปล่า?
Nate Parsons

ขอบคุณ ปรากฎว่าฉันสามารถติดตั้งจากแหล่งที่มาดังนั้นฉันไม่จำเป็นต้องกังวลกับ RPMs
Nate Parsons

9
นั่นเป็นเพียงการคลายเนื้อหาของ RPM และทิ้งมันไปในที่ที่คุณอยู่ แต่นั่นไม่ได้หมายความว่าผลงาน (การกำหนดค่าของมันไม่ได้เป็นที่ที่ควรจะเป็น ... )
vonbrand

หวังว่าฉันจะให้รางวัลชื่อเสียงการกุศลแก่คุณ ขอบคุณ!
macetw

3

วิธีการแยกเนื้อหาแพ็คเกจ rpm

export ins=foo-bar.rpm
rpm2cpio $ins | cpio -idv

วิธีแยกtar.gzไฟล์เก็บถาวร

gzip -dc foo-bar.tar.gz | tar xvf –
cd foo-bar-dir

วิธีแตกtar.gzแพ็กเกจไปยังไดเร็กทอรีปัจจุบัน

export file=foo-bar.tar.gz
# Note that `xovf` switch order *matters*
gzip -dc $file | tar -xovf -

วิธีสร้างไบนารีเป็นแบบไม่รูท

./configure --prefix=$HOME && make && make install

1

อีกตัวเลือกหนึ่งคือติดตั้งจากแหล่งซึ่งคุณสามารถเปลี่ยนไดเรกทอรีการติดตั้งได้โดยใช้--prefixสวิตช์


1
นั่นคือสิ่งที่ฉันทำตามปกติ แต่ฉันหวังว่าจะมีระบบอัตโนมัติมากขึ้น
Ross Rogers

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