InitWare ปรากฏตัวเป็นทางเลือกที่พกพาได้และเป็นโมดูลมากกว่า systemd

BigGo Editorial Team
InitWare ปรากฏตัวเป็นทางเลือกที่พกพาได้และเป็นโมดูลมากกว่า systemd

วงการเทคโนโลยีกำลังฮือฮาเกี่ยวกับ 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