การเปิดตัวระบบ GNU Shepherd 0.9.2 init

ตัวจัดการบริการ GNU Shepherd 0.9.2 (เดิมชื่อ dmd) ได้รับการเผยแพร่แล้ว ซึ่งกำลังได้รับการพัฒนาโดยนักพัฒนาของการแจกจ่าย GNU Guix System เป็นทางเลือกแทนระบบการเริ่มต้น SysV-init ที่รองรับการขึ้นต่อกัน ภูตควบคุม Shepherd และยูทิลิตี้เขียนด้วยภาษา Guile (หนึ่งในการใช้งานของภาษา Scheme) ซึ่งใช้เพื่อกำหนดการตั้งค่าและพารามิเตอร์สำหรับการเปิดตัวบริการด้วย Shepherd ถูกใช้อยู่แล้วในการกระจาย GuixSD GNU/Linux และยังมุ่งเป้าไปที่การใช้งานใน GNU/Hurd ด้วย แต่สามารถทำงานบนระบบปฏิบัติการที่สอดคล้องกับ POSIX ใดๆ ซึ่งมีภาษา Guile ให้บริการ

Shepherd ทำงานในการเริ่มและหยุดบริการโดยคำนึงถึงความสัมพันธ์ระหว่างบริการ ระบุและเริ่มบริการแบบไดนามิกที่บริการที่เลือกขึ้นอยู่กับ Shepherd ยังสนับสนุนการตรวจจับข้อขัดแย้งระหว่างบริการและป้องกันไม่ให้ทำงานพร้อมกัน โปรเจ็กต์สามารถใช้เป็นทั้งระบบการเริ่มต้นหลัก (เริ่มต้นด้วย PID 1) และในรูปแบบแยกต่างหากเพื่อจัดการกระบวนการเบื้องหลังของผู้ใช้แต่ละราย (เช่น เพื่อรัน tor, privoxy, mcron ฯลฯ) ด้วยการดำเนินการที่มีสิทธิ์ ของผู้ใช้เหล่านี้

ท่ามกลางการเปลี่ยนแปลง:

  • ตัวอธิบายไฟล์ที่ใช้ใน Shepherd ตอนนี้ถูกทำเครื่องหมายด้วยแฟล็ก O_CLOEXEC (close-on-exec) แทนที่จะถูกปิดทันทีเมื่อมีการดำเนินการคำสั่ง exec ทำให้สามารถส่งตัวจัดการไปยังบริการที่เริ่มต้นทางอ้อมโดยคำสั่ง exec
  • ขณะนี้การเชื่อมต่อไคลเอนต์ได้รับการประมวลผลในลักษณะที่ไม่ปิดกั้น ซึ่งป้องกันไม่ให้คนเลี้ยงแกะหยุดทำงานเมื่อส่งคำสั่งที่ไม่สมบูรณ์
  • ตรวจสอบให้แน่ใจว่าไดเร็กทอรีถูกสร้างขึ้นสำหรับไฟล์บันทึกที่กำหนดไว้ในการตั้งค่า "ไฟล์บันทึก" หากไม่มีอยู่

ที่มา: opennet.ru

เพิ่มความคิดเห็น