บริษัทอเมซอน
การกระจายนี้ให้เคอร์เนล Linux และสภาพแวดล้อมระบบขั้นต่ำ รวมถึงเฉพาะส่วนประกอบที่จำเป็นในการรันคอนเทนเนอร์ แพ็คเกจที่เกี่ยวข้องในโครงการ ได้แก่ system manager systemd, ไลบรารี Glibc และเครื่องมือประกอบ
Buildroot, GRUB bootloader, ตัวกำหนดค่าเครือข่าย
การแจกจ่ายได้รับการอัปเดตแบบอะตอมมิกและจัดส่งในรูปแบบของอิมเมจระบบที่แบ่งแยกไม่ได้ พาร์ติชั่นดิสก์สองพาร์ติชั่นได้รับการจัดสรรสำหรับระบบ โดยพาร์ติชั่นหนึ่งมีระบบที่ใช้งานอยู่ และการอัพเดตจะถูกคัดลอกไปยังพาร์ติชั่นที่สอง หลังจากปรับใช้การอัปเดตแล้ว พาร์ติชันที่สองจะเริ่มทำงาน และในพาร์ติชั่นแรก ระบบจะบันทึกเวอร์ชันก่อนหน้าจนกว่าจะมีการอัปเดตครั้งถัดไป ซึ่งคุณสามารถย้อนกลับได้หากเกิดปัญหา การอัปเดตจะถูกติดตั้งโดยอัตโนมัติโดยไม่มีการแทรกแซงของผู้ดูแลระบบ
ความแตกต่างที่สำคัญจากการแจกแจงที่คล้ายกันเช่น Fedora CoreOS, CentOS/Red Hat Atomic Host คือจุดสนใจหลักในการให้บริการ
พาร์ติชันรากถูกเมาท์แบบอ่านอย่างเดียว และพาร์ติชันการตั้งค่า /etc จะถูกเมาท์ใน tmpfs และคืนค่าเป็นสถานะดั้งเดิมหลังจากรีสตาร์ท ไม่รองรับการแก้ไขไฟล์โดยตรงในไดเร็กทอรี /etc เช่น /etc/resolv.conf และ /etc/containerd/config.toml หากต้องการบันทึกการตั้งค่าอย่างถาวร คุณต้องใช้ API หรือย้ายฟังก์ชันการทำงานไปยังคอนเทนเนอร์ที่แยกจากกัน
ส่วนประกอบของระบบส่วนใหญ่เขียนด้วยภาษา Rust ซึ่งมีคุณสมบัติความปลอดภัยของหน่วยความจำเพื่อหลีกเลี่ยงช่องโหว่ที่เกิดจากการเข้าถึงหน่วยความจำหลังจากใช้งานฟรี การยกเลิกการอ้างอิงตัวชี้ค่าว่าง และบัฟเฟอร์มากเกินไป เมื่อสร้างตามค่าเริ่มต้น โหมดการคอมไพล์ “--enable-default-pie” และ “--enable-default-ssp” จะถูกใช้เพื่อเปิดใช้งานการสุ่มพื้นที่ที่อยู่ของไฟล์ปฏิบัติการ (
สำหรับแพ็คเกจที่เขียนด้วย C/C++ จะมีการรวมแฟล็กเพิ่มเติมไว้ด้วย
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" และ "-fstack-clash-protection"
เครื่องมือจัดระเบียบตู้คอนเทนเนอร์มีจำหน่ายแยกต่างหาก
ที่มา: opennet.ru