จะติดตั้งแพ็คเกจเดียวกันหลายรุ่นใน Gentoo ได้อย่างไร?


9

ฉันต้องการติดตั้งแพ็คเกจเดียวกัน (หรือมากกว่า) สองรุ่นในระบบ Gentoo ของฉัน ฉันรู้ว่าจะไม่มีการปะทะกันของไฟล์ใด ๆ เนื่องจากมีการติดตั้งไฟล์น้อยมากและแต่ละไฟล์จะถูกตั้งชื่อตามเวอร์ชั่น

ฉันรู้เกี่ยวกับสล็อต แต่สิ่งเหล่านี้ระบุไว้ในไฟล์ ebuild และสมมติว่าฉันไม่ต้องการแก้ไขไฟล์ ebuild ด้วยเหตุผลหลายประการ

ฉันต้องการให้เวอร์ชันที่ติดตั้งเป็นส่วนหนึ่งของแพ็คเกจโลกเพื่อให้สามารถติดตั้งใหม่หรือถอนการติดตั้งได้ตามปกติ

มีวิธีติดตั้งแพ็คเกจเดียวกันหลายรุ่นหรือไม่? คุณรู้หรือไม่ว่ามีเทคนิคพอร์เทจที่จะทำให้สำเร็จ


นั่นคือสิ่งที่ช่องสำหรับ หากแพคเกจไม่ได้เสียบแล้วสิ่งเดียวที่ฉันคิดได้คือการสร้างการซ้อนทับส่วนบุคคลและแพคเกจใหม่ / ebuild ที่ slotted
Keith

@ Keith - นั่นเป็นคำตอบที่ถูกต้องทำไมไม่โพสต์มันเป็นคำตอบ?
HedgeMage

@ คี ธ : ถ้าเป็นวิธีเดียวที่จะทำได้ให้โพสต์มันเป็นคำตอบและฉันยินดีที่จะยอมรับมัน
Laurent Pireyn

คำตอบ:


9

นั่นคือสิ่งที่ช่องสำหรับ หากแพคเกจไม่ได้เสียบแล้วสิ่งเดียวที่ฉันคิดได้คือการสร้างการซ้อนทับส่วนบุคคลและแพคเกจใหม่ / ebuild ที่ slotted


2
คำแนะนำเล็ก ๆ น้อย ๆ ที่มีต่อวิธี pragmatical ใช้ช่องจะช่วยให้มือใหม่ :)
สเตฟาโน

1

ฉันคิดว่าในทางทฤษฎีคุณสามารถทำสิ่งที่ไร้สาระเช่น:

$ ROOT=~/package-1.0 emerge =package-1

แต่โดยทั่วไปสิ่งที่ไม่ใช่ภาพซ้อนทับนั้นขึ้นอยู่กับข้อ จำกัด และข้อกำหนดเพิ่มเติมบางประการที่มีข้อมูลไม่มาก


1

สิ่งที่คุณอาจลอง (ฉันไม่แน่ใจว่าทำงานได้ตามที่คาดไว้) หรือไม่เพื่อใช้/etc/portage/envในการตั้งค่า SLOT ของแพ็คเกจรุ่นใดรุ่นหนึ่ง อาจไม่ทำงานเนื่องจากการแคชข้อมูลเมตา แม้ว่ามันจะใช้งานได้ แต่มันก็เป็นเรื่องยุ่งเหยิงและอาจส่งผลให้เกิดพฤติกรรมที่ไม่คาดคิด เช่นเคยถ้ามันหักคุณจะได้รับชิ้นส่วน


1

นี่เป็นคำถามเก่า แต่ยังคงใช้ได้และไม่มีใครเสนอวิธีการง่ายๆดังต่อไปนี้:

หากคุณไม่ต้องการสร้างช่องและคุณรู้ว่าไฟล์ไม่ได้ชนกันเพียงแค่สร้าง ebuild ใหม่ในการซ้อนทับท้องถิ่นของคุณ (หลังจากตั้งค่าการซ้อนทับท้องถิ่นใน make.conf) และตั้งชื่อที่แตกต่างกัน บางทีบางอย่างเช่น 'mypkg.ebuild' ไม่มีกฎหมายที่ระบุชื่อ ebuild และไฟล์ที่ติดตั้งต้องแชร์ชื่อเดียวกัน คัดลอกไฟล์ pkg.ebuild ของ portage ไปยัง /usr/local/portage/app-class/mypkg-newversion.ebuild ทำการเปลี่ยนแปลงที่จำเป็นสำหรับเวอร์ชั่นใหม่ ebuild และสร้างมันขึ้นมา

โปรดทราบว่าคุณจะไม่สามารถใช้ชื่อตัวแปรที่กำหนดไว้ล่วงหน้าบางส่วน ($ {P} และคณะ) เมื่อดึงข้อมูลแหล่งที่มา


0

อีกสิ่งที่อาจเป็นไปได้ในการสำรวจคือคำนำหน้าของ Gentoo

ซึ่งอาจเป็นทางเลือกที่ทำงานได้ถ้าคุณไม่สนใจที่จะดูแลระบบนิเวศของ Gentoo 2 แห่งเพื่อจัดทำแพ็คเกจ "ทางเลือก"

นี่คือการสร้าง "พื้นที่ย่อย" สำหรับขอบเขตโครงการที่กำหนดและจากนั้นใช้ Gentoo แตกต่างกันในขอบเขตโครงการนั้น

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