วงการเทคโนโลยีกำลังฮือฮาเกี่ยวกับ InitWare ระบบจัดการบริการที่มีแนวโน้มดี ซึ่งนำเสนอทางเลือกที่พกพาได้และเป็นโมดูลมากกว่าสำหรับ systemd แม้ว่าจะยังอยู่ในขั้นตอนอัลฟ่า InitWare กำลังได้รับความสนใจในการตอบสนองต่อความต้องการที่มีมานานสำหรับระบบเริ่มต้นข้ามแพลตฟอร์มที่รักษาประโยชน์หลายอย่างของ systemd โดยไม่มีแง่มุมที่เป็นที่ถกเถียง
InitWare นำเสนอตัวเองเป็นชุดของมิดเดิลแวร์ที่อนุญาตให้ผู้ใช้จัดการบริการและทรัพยากรระบบเป็นเอนทิตีทางตรรกะที่เรียกว่ายูนิต สิ่งที่ทำให้มันน่าสนใจเป็นพิเศษคือความเข้ากันได้กับระบบปฏิบัติการหลายระบบ รวมถึง NetBSD, FreeBSD, GNU/Linux, macOS, DragonFly BSD และ OpenBSD ซึ่งแตกต่างอย่างชัดเจนจากแนวทางของ systemd ที่ใช้ได้กับ Linux เท่านั้น
คุณสมบัติหลักของ InitWare
- ความสามารถในการพกพา: ทำงานบน NetBSD, FreeBSD, GNU/Linux, macOS, DragonFly BSD และ OpenBSD
- ความเป็นโมดูลาร์: มีขอบเขตที่เน้นมากกว่า systemd โดยตัดส่วนประกอบที่ไม่จำเป็นออก
- ความเข้ากันได้: รักษาความเข้ากันได้กับอินเตอร์เฟซของ systemd หลายส่วน รวมถึง:
- ไฟล์ Unit
- systemd1 และ Login1 D-Bus APIs
- sd_notify API
- เครื่องมือคำสั่ง (เปลี่ยนชื่อเป็น svcctl, sessionctl และ syslogctl)
- ใบอนุญาต: ส่วนใหญ่ใช้ GNU Library GPL v2.1 โดยบางส่วนประกอบใช้ใบอนุญาตที่เสรีมากกว่า
- สถานะปัจจุบัน: ซอฟต์แวร์ระดับอัลฟ่า (แก้ไขปัญหาด้านความปลอดภัยที่เปิดเผยทั้งหมดแล้ว)
ความเข้ากันได้ข้ามแพลตฟอร์ม
หนึ่งในแง่มุมที่สำคัญที่สุดของ InitWare คือวิธีที่มันเอาชนะข้อจำกัดด้านแพลตฟอร์มของ systemd systemd ถูกวิจารณ์เรื่องการผสานรวมอย่างแน่นหนากับคุณสมบัติเฉพาะของ Linux เช่น cgroups ซึ่งทำให้เป็นไปไม่ได้ที่จะพอร์ตไปยังระบบคล้าย Unix อื่นๆ InitWare แก้ไขความท้าทายนี้อย่างสร้างสรรค์โดยการใช้ฟังก์ชันการทำงานคล้าย cgroups ของตัวเองผ่านระบบไฟล์ FUSE ที่เรียกว่า CGrpFS ซึ่งช่วยให้สามารถให้ความสามารถในการจัดการทรัพยากรที่คล้ายกันในระบบปฏิบัติการที่แตกต่างกัน
ลักษณะข้ามแพลตฟอร์มของโครงการได้รับความสนใจจากชุมชน NixOS โดยบางคนมองว่าเป็นพื้นฐานที่เหมาะสมสำหรับ NixBSD ซึ่งเป็นโครงการที่มุ่งนำแนวทางการจัดการแพ็คเกจของ NixOS มาใช้กับระบบ BSD
ปรัชญาการออกแบบแบบโมดูลาร์
ไม่เหมือนกับ systemd ซึ่งถูกวิจารณ์เรื่องการเพิ่มคุณลักษณะมากเกินไปและการออกแบบแบบโมโนลิธิก InitWare ใช้แนวทางที่มุ่งเน้นมากกว่า โครงการนี้ตั้งใจละทิ้งส่วนประกอบที่ไม่ได้ให้ประโยชน์ที่น่าสนใจ ส่งผลให้เป็นระบบที่มีประสิทธิภาพมากขึ้น ปรัชญาแบบโมดูลาร์นี้สอดคล้องกับผู้ใช้ที่ชื่นชมแนวทางที่ทันสมัยของ systemd ในการจัดการบริการ แต่รู้สึกไม่สบายใจกับขอบเขตที่ขยายตัวของมัน
มีสิ่งที่ฉันชอบเกี่ยวกับ systemd และสิ่งที่ฉันไม่ชอบ และดูเหมือนว่านี่จะตรงกับสิ่งที่ชอบมากกว่า อยากเห็น Debian เปลี่ยนไปใช้อะไรแบบนี้ รู้สึกเสมอว่า Debian ติดอยู่ระหว่าง 'ทั้งหมด' หรือ 'ไม่มีเลย' นี่จะเป็นทางเลือกกลางที่ดี
ความรู้สึกนี้จับภาพสิ่งที่หลายคนพบว่าน่าดึงดูดเกี่ยวกับ InitWare มันรักษานวัตกรรมที่มีคุณค่าของ systemd ในขณะที่แก้ไขแง่มุมที่เป็นที่ถกเถียงมากที่สุดบางอย่าง
ความเข้ากันได้กับ Systemd
InitWare รักษาความเข้ากันได้กับอินเทอร์เฟซ systemd หลายอย่าง แม้แต่บนแพลตฟอร์มที่ไม่ใช่ Linux นี่รวมถึงการสนับสนุนไฟล์ยูนิต, API D-Bus ของ systemd และเครื่องมือคำสั่งที่คุ้นเคย (แม้ว่าจะมีชื่อที่แตกต่างกันเล็กน้อย: svcctl
, sessionctl
และ syslogctl
แทนที่จะเป็น systemctl
, loginctl
และ journalctl
) ชั้นความเข้ากันได้นี้ทำให้ดิสทริบิวชันและผู้ดูแลระบบสามารถเปลี่ยนจาก systemd ได้ง่ายขึ้นโดยไม่ต้องเขียนการกำหนดค่าบริการของพวกเขาใหม่ทั้งหมด
สมาชิกบางคนในชุมชนได้สังเกตว่าแนวทางนี้อาจเสนอเส้นทางกลางสำหรับดิสทริบิวชันเช่น Debian ซึ่งเผชิญกับความขัดแย้งที่สำคัญเมื่อนำ systemd มาใช้ ความสามารถในการรักษาความเข้ากันได้ในขณะที่แก้ไขข้อกังวลเกี่ยวกับความสามารถในการพกพาและความเป็นโมดูลอาจดึงดูดทั้งสองฝั่งของการโต้เถียงนั้น
ขณะที่ InitWare ยังคงพัฒนาต่อไปนอกเหนือจากสถานะอัลฟ่าปัจจุบัน จะน่าสนใจที่จะเห็นว่ามันสามารถทำตามสัญญาในการนำการจัดการบริการที่ทันสมัยมาสู่ระบบคล้าย Unix ที่หลากหลายมากขึ้นในขณะที่หลีกเลี่ยงความขัดแย้งที่เกิดขึ้นรอบ systemd ได้หรือไม่ ในตอนนี้ มันเป็นทางเลือกที่น่าสนใจสำหรับผู้ที่ชื่นชมนวัตกรรมของ systemd แต่ต้องการความสามารถในการพกพาและความเป็นโมดูลที่มากขึ้น
อ้างอิง: InitWare/InitWare