อาจเป็นทุกสิ่งที่คุณต้องการทราบอยู่ที่นี่ในหน้า " อภิปรายเริ่มต้นระบบการใช้งาน " ที่โครงการ Debian รวบรวมรอบการตัดสินใจของที่ initsystem ไปด้วย ภายในหน้านั้นเป็นการเชื่อมโยงแยกต่างหากไปยังตัวเลือกของ initsystems แต่ละตัว
สำหรับไพรเมอร์ใน Systemd หน้านี้มีทุกอย่างที่เราต้องรู้เพื่อเริ่มต้นใช้งานRHEL7: วิธีเริ่มต้นกับ SystemdSystemd
แหล่งข้อมูลเพิ่มเติมที่ฉันพบว่ามีประโยชน์ในการทำความเข้าใจกับตัวเลือกหลัก 2 ตัวฉันจะอ่านหน้า Wikipedia บนเทคโนโลยีที่เกี่ยวข้อง:
โครงการ Gentoo ยังคงทำการเปรียบเทียบคุณสมบัติหลักบางอย่างของ initsytems ที่หลากหลาย:
ฉันใช้เวลากับคำถามของคุณ
Q # 1: systemd เปรียบเทียบกับระบบ init อื่น ๆ อย่างไร
นี่เป็นคำถามที่ยากมากที่จะตอบคำถามในพื้นที่ของคำตอบ SE ดังนั้นฉันจึงควรที่จะอ้างอิงไปยังแหล่งข้อมูลต่าง ๆ ที่ฉันได้อ้างถึงข้างต้น ฉันจะพูดแบบนี้ ในการอ่านบทความมากมายเกี่ยวกับsystemd
ทางเลือกมันพยายามพูดถึงหลาย ๆ ด้านเกี่ยวกับสิ่งที่บกพร่องในเครื่องมือก่อนหน้านี้ที่ใช้สำหรับการเริ่มบริการบนระบบ Linux มันมีการออกแบบที่ดีมากและพยายามที่จะให้มันในลักษณะโมดูลาร์
ส่วนประกอบ systemd
ดังนั้น IMO ฉันจะบอกว่ามันเปรียบเทียบได้ดีมากทั้งในแง่ของความพยายามในการออกแบบการดำเนินการของการออกแบบนั้นและการยอมรับโดย distros Linux ขนาดใหญ่หลายแห่ง
คำถามที่ 2:อะไรที่ทำให้มันแตกต่าง - มันสามารถทำอะไรได้บ้างกับระบบ init อื่น ๆ ที่ไม่สามารถทำได้?
มีหลายสิ่งที่sytemd
สามารถทำได้ที่ระบบอื่นไม่สามารถทำได้ คุณสมบัติที่แข็งแกร่งที่สุด 3 ประการคือ:
- เข้าสู่ระบบ
- การ จำกัด ทรัพยากร
- การจัดการกับดีมอนที่แยก
1. การบันทึก
ด้านหน้าการเข้าสู่ระบบsystemd
ได้จัดให้มีระบบการเข้าสู่ระบบใหม่ที่เรียกว่า "วารสาร" systemd-journald.service
การบริการที่เรียกว่า นี่คือหัวข้อของตัวเองคุณสามารถอ่านเพิ่มเติมได้ที่นี่ในบทความนี้หัวข้อ: แนะนำวารสาร นี่คือตัวอย่างของผู้ใช้ "harald", การเข้าสู่ระบบ
_SERVICE=systemd-logind.service
MESSAGE=User harald logged in
MESSAGE_ID=422bc3d271414bc8bc9570f222f24a9
_EXE=/lib/systemd/systemd-logind
_COMM=systemd-logind
_CMDLINE=/lib/systemd/systemd-logind
_PID=4711
_UID=0
_GID=0
_SYSTEMD_CGROUP=/system/systemd-logind.service
_CGROUPS=cpu:/system/systemd-logind.service
PRIORITY=6
_BOOT_ID=422bc3d271414bc8bc95870f222f24a9
_MACHINE_ID=c686f3b205dd48e0b43ceb6eda479721
_HOSTNAME=waldi
LOGIN_USER=500
2 & 3. การ จำกัด ทรัพยากร & daemons นั้นจะแยก
systemd
ใช้วิธีการใหม่ในการใช้cgroups
ทั้ง จำกัด และทรัพยากรที่ จำกัด บริการใด ๆ ที่ต้องการการฟอร์กหรือ จำกัด การเข้าถึงทรัพยากร
สิ่งที่สกัดมา
Systemd มีวิธีแก้ปัญหาที่ชาญฉลาดมากสำหรับปัญหาการติดตาม daemons ที่แยกซึ่งบังเอิญเกิดขึ้นเพื่อจัดการกับการ จำกัด ทรัพยากรในเวลาเดียวกัน ที่ Upstart ใช้ ptrace เพื่อดูการฟอร์ก systemd รันแต่ละ daemon ในกลุ่มควบคุม (ต้องการ Linux 2.6.24 หรือใหม่กว่า) ซึ่งมันไม่สามารถหลบหนีได้ด้วยการฟอร์กจำนวนเท่าใดก็ได้ สิ่งนี้อนุญาตให้ จำกัด ทรัพยากรได้ง่ายทั้ง forking และ non-forking daemons เนื่องจากกลุ่มควบคุมถูกสร้างขึ้นเพื่อสิ่งนี้
ที่มา: Daemon Showdown: พุ่งพรวด vs. Runit vs. Systemd vs. Circus vs. God
คำถาม # 3:มีอะไรจะเสียในการเปลี่ยนไปใช้กับระบบ init อื่นหรือไม่?
น่าจะเป็นข้อแม้ที่ใหญ่ที่สุดในการเปลี่ยนเป็น systemd ผ่าน Upstart หรือ sysV init นั้นต้องยอมรับความซับซ้อนใหม่ ๆ มากมาย Systemd มีชิ้นส่วนที่เคลื่อนไหวได้จำนวนมากและมีคุณสมบัติที่หลากหลายและด้วยความสามารถที่เพิ่มเข้ามาคุณอาจต้องใช้เวลาพอสมควรในการทำความเข้าใจเกี่ยวกับการทำงานของมัน
Q # 4:การบริหารระบบเปรียบเทียบกับคนอื่นอย่างไร?
ตามที่ระบุไว้ในคำตอบของฉันไป Q # 3 ฉันขอย้ำอีกครั้งที่นี่ ในกรณีที่ sysV init นั้นเป็นเรื่องเล็กน้อยที่จะเรียนรู้วิธีการจัดการและนำทางในเวลาไม่กี่ชั่วโมงต่อวันการพุ่งพรวดอาจจะพาคุณไปหนึ่งสัปดาห์หรือมากกว่านั้นเพื่อให้ได้ความเร็วสูงสุดในขณะที่ systemd จะทำให้คุณนานขึ้น สัปดาห์ที่จะได้รับความรู้คร่าวๆพอเกี่ยวกับมันที่ฉันจะสามารถผลิต.service
ไฟล์ของตัวเองเพื่อหยุด / เริ่มบริการได้อย่างง่ายดายเช่นเดียวกับตอนนี้ที่ฉันเพลิดเพลินกับ sysV init
อ้างอิง