วิธีติดตั้งแพ็กเกจไปยังตำแหน่งที่กำหนดเองใน centos6


12

นี่คือการตั้งค่าที่ฉันทำเพื่อวิทยาลัยเพื่อส่งเสริมการใช้ Linux ในห้องปฏิบัติการของพวกเขา

ฉันมีที่ตั้งที่ใช้ร่วมกันให้ฉันเรียกมันว่า/tp; ฉันต้องการติดตั้งไลบรารีและแพ็คเกจทั้งหมดของฉันในตำแหน่งนี้เช่นเดียวกับการติดตั้งเริ่มต้น เหตุผลในการทำเช่นนี้คือ: ฉันต้องการให้ผู้ใช้ทุกคนในเครือข่ายเชื่อมต่อกับเซิร์ฟเวอร์นี้เพื่อเชื่อมโยงโปรแกรมของพวกเขาไปยังสถานที่เฉพาะเพื่อรับห้องสมุดสำหรับโปรแกรม

ที่อยู่ใกล้ฉันมาเพื่อใช้ yum install boost --installroot=/tp/(ตัวอย่าง) สิ่งนี้ไม่ทำงานเนื่องจาก yum เริ่มค้นหารายการมิเรอร์ในตำแหน่งนี้ ฉันต้องการติดตั้งในสถานที่/tp/

คำตอบ:


3

เครื่องมือ installroot นั้นมีประโยชน์สำหรับสถานการณ์เช่นการติดตั้งแพ็กเกจในสภาพแวดล้อม chroot ลองติดตั้งการกำหนดค่า yum ทั้งหมดและไฟล์ repo ลงใน/tpการรักษาเส้นทางของพวกเขาและการติดตั้งแพคเกจที่กำหนดเองของคุณจะทำงาน (เช่น: /tp/etc/yum.conf)

ในกรณีเช่นนี้/tpจะได้รับการต่อเติมไฟล์ใด ๆ ที่อ่านหรือเขียนโดย yum ที่มีไฟล์การกำหนดค่าไฟล์บันทึก yum ข้อมูลที่เก็บ ฯลฯ


3

จากrpmหน้าคน:

   --prefix NEWPATH
          For relocatable binary packages, translate all file  paths  that
          start  with  the  installation  prefix in the package relocation
          hint(s) to NEWPATH.

   --relocate OLDPATH=NEWPATH
          For relocatable binary packages, translate all file  paths  that
          start with OLDPATH in the package relocation hint(s) to NEWPATH.
          This option can be used repeatedly if several OLDPATH's  in  the
          package are to be relocated.

4
- คำนำดูเหมือนว่าจะไม่มี w / yum (อย่างน้อยใน CentOS 6.4 x64)
Doktor J

2
คำตอบที่บอกว่านี่เป็นไม่ได้rpm yum
ทำเครื่องหมาย Lakata

0

คุณสามารถchroot /tp/เปลี่ยนรูทของคุณเป็นตำแหน่งนั้นได้ จากนั้นลองyumติดตั้งอีกครั้ง

นี่เป็นเรื่องปกติสำหรับ LIVEOS กล่าวสำหรับการทดสอบต้นแบบ / การทดสอบที่ต้องการการติดตั้งแพคเกจขนาดใหญ่ในขณะที่ RAMDISK ที่ออกแบบไว้ล่วงหน้าจะถูกจัดสรรให้เล็กในตำแหน่งนั้น

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