ฉันมีระบบ Solaris 11.3 ที่ไม่มีสัญญาการสนับสนุน (ปัจจุบัน) ดังนั้นผมจึงกำลังใช้พื้นที่เก็บข้อมูล IPS ที่http://pkg.oracle.com/solaris/release/pkgrecv
ซึ่งผมได้สะท้อนในขณะนี้ในประเทศโดยใช้
ฉันใช้pkg change-facet
เพื่อเปลี่ยนversion-lock
เป็นเท็จในแพ็คเกจจำนวนมากเช่นที่ฉันสามารถอัปเดตแพ็คเกจเหล่านี้เป็นเวอร์ชันล่าสุด มันใช้งานได้ดี
'ปัญหา' คือใบหน้าที่เปลี่ยนแปลงเหล่านี้ไม่ได้ถูกสืบทอดโดยโซนที่ไม่ใช่สากลของฉัน ดังนั้นในขณะที่อยู่ในโซนสากลฉันเห็นการเปลี่ยนแปลงด้านและสามารถอัพเกรดแพคเกจที่ได้รับผลกระทบมันไม่เป็นความจริงในโซนที่ไม่ใช่โกลบอลใด ๆ ที่ฉันสร้างขึ้นในภายหลัง: มันแสดงให้เห็นถึงต้นฉบับเดิมไม่เปลี่ยนแปลง
pkg(5)
บ่งชี้ว่าการเปลี่ยนแปลงของ facets นั้นสืบทอดโดยอิมเมจย่อยเช่นโซนที่ไม่ใช่โกลบอลที่สืบทอดจากโซนโกลบอล แต่นี่ไม่ได้เกิดขึ้นสำหรับฉัน
ตอนแรกฉันคิดว่านี่เป็นปัญหา แต่หลังจากการไตร่ตรองเพิ่มเติมฉันได้ตระหนักว่าในความเป็นจริงฉันอาจไม่ต้องการเปลี่ยนแปลงแง่มุมในโลกที่จะสืบทอดสู่โลกที่ไม่ใช่กลม นี่เป็นข้อพิสูจน์สำหรับฉันหลังจากนั้นไม่นานฉันพบว่าฉันต้องการติดตั้งโซนทดสอบด้วยซอฟต์แวร์พื้นฐานโดยไม่ต้องเปลี่ยนแง่มุมเหล่านี้
กระนั้นก็ตามฉันยังคงสับสนกับเอกสารที่ระบุว่าพวกเขาสืบทอดและฉันเชื่อว่าควรมีวิธีกำหนดค่าบางแง่มุมเพื่อสืบทอด
ดังนั้นคำถามของฉันคือ:
- มีวิธีที่จะทำให้แง่มุมบางอย่างเป็นทางเลือกลงในที่ไม่ใช่กลมทั้งหมด - บางทีโดยการสร้างภาพ IPS ใหม่หรือไม่?
- ทำไมเอกสาร IPS ไม่แสดงให้เห็นแง่มุมที่ไม่ได้รับมรดก - มันคือการพูดคุยเกี่ยวกับบางประเภทเท่านั้นแง่มุม?
นี่คือสิ่งที่ฉันทำเต็ม:
ฉันตรวจสอบการใช้แพ็คเกจ FOSS ใหม่ที่ออราเคิลจัดหาให้ ฉันได้รับการต่อไปนี้คำแนะนำที่นี่: วิธีการเข้าถึงเลือกแพคเกจ FOSS บริการให้คำปรึกษาสำหรับ Oracle Solaris 11.3
คู่มือนี้จะอธิบายว่ามันเป็นสิ่งที่จำเป็นในการเปลี่ยนแปลงในแง่version-lock
เท็จก่อนแพคเกจที่สามารถปรับปรุงและแพคเกจการปรับปรุง FOSS สามารถพบได้ในจำนวนมากใน repo \*@\*-5.12.0.0.0.122
ที่วางจำหน่ายที่มีหมายเลขรุ่นจับคู่สาย เอกสารแนะนำให้จัดการเอาต์พุตของpkg list
เพื่อสร้างpkg change-facet
คำสั่งเพื่อปลดล็อกทุกเวอร์ชัน
ฉันทำสิ่งนี้ในโซนสากลของฉันและจากนั้นการทำpkg update --accept
สำเร็จจะส่งผลให้มีแพ็คเกจที่อัปเกรดจำนวนมาก
แต่ถ้าฉันติดตั้งโซนที่ไม่ใช่โกลบอลใหม่โซนนั้นจะเป็นเวอร์ชันพื้นฐานสำหรับแพ็คเกจเหล่านี้ หากในโซนโลกที่ฉันทำงานpkg facet
ฉันจะเห็น facets ไม่เปลี่ยนแปลงในโซน ตัวอย่างเช่นที่นี่โซนจะแสดง version-lock = True สำหรับ Bash ที่ไม่เปลี่ยนแปลง:
root@goldenzone:~# pkg facet -a | grep version-lock.shell/bash
version-lock.shell/bash True system
ในขณะที่ทั่วโลกแสดงรุ่นที่ถูกต้องใหม่ล็อครุ่น = เท็จ:
root@magrathea:/system/zones# pkg facet -a | grep version-lock.shell/bash
version-lock.shell/bash False local
การแก้ปัญหา:
ตามความคิดเห็นของฉันด้านล่างตอนนี้ฉันแก้ปัญหานี้โดยการติดตั้งโซนสีทองของฉันกับที่กำหนดเอง AUTO_INSTALL <facet set="false">facet.version-lock.*</facet>
ประจักษ์ที่มี
วิธีนี้ใช้งานได้ (แม้ว่าจะมีค่าใช้จ่ายในการปลดล็อคการล็อคเวอร์ชันทั้งหมดแทนที่จะเป็นเพียงการอัปเดต FOSS) แต่ก็ยังเป็นการดีที่จะทราบว่ามีวิธีที่จะทำให้ facets สืบทอดระหว่าง globals และ non-globals อย่างไร เอกสารดูเหมือนว่าพวกเขาควรจะ
ขอบคุณล่วงหน้า.
<facet set="false">facet.version-lock.*</facet>
ในส่วน <software> .. <image> ใช้งานได้ทำให้โซนใช้แพ็คเกจ FOSS ล่าสุดในการติดตั้ง ฉันยังไม่เข้าใจว่าทำไมการเปลี่ยนแปลงด้านไม่สืบทอดโดยอัตโนมัติ แต่นี่เป็นวิธีแก้ปัญหาที่ยอมรับได้ในตอนนี้ (แม้ว่าฉันจะลบการล็อคเวอร์ชันทั้งหมดไม่ใช่เฉพาะรุ่นที่มีการอัพเดต FOSS และยังไม่รู้ว่ามีหรือไม่ อาจจะมีผลกระทบในภายหลังจากนั้น)