Amazon-Unternehmen
Die Distribution stellt den Linux-Kernel und eine minimale Systemumgebung bereit, die nur die Komponenten enthält, die zum Ausführen von Containern erforderlich sind. Zu den am Projekt beteiligten Paketen gehören der Systemmanager systemd, die Glibc-Bibliothek und die Assembler-Tools
Buildroot, GRUB-Bootloader, Netzwerkkonfigurator
Die Verteilung wird atomar aktualisiert und in Form eines unteilbaren Systemabbilds geliefert. Dem System werden zwei Festplattenpartitionen zugewiesen, von denen eine das aktive System enthält und das Update auf die zweite kopiert wird. Nach der Bereitstellung des Updates wird die zweite Partition aktiv und in der ersten wird bis zum Eintreffen des nächsten Updates die vorherige Version des Systems gespeichert, auf die Sie bei Problemen zurücksetzen können. Updates werden automatisch und ohne Eingreifen des Administrators installiert.
Der Hauptunterschied zu ähnlichen Distributionen wie Fedora CoreOS, CentOS/Red Hat Atomic Host ist der primäre Fokus auf die Bereitstellung
Die Root-Partition wird schreibgeschützt gemountet, und die /etc-Einstellungspartition wird in tmpfs gemountet und nach einem Neustart in ihren ursprünglichen Zustand zurückversetzt. Die direkte Änderung von Dateien im Verzeichnis /etc, wie z. B. /etc/resolv.conf und /etc/containerd/config.toml, wird nicht unterstützt. Um Einstellungen dauerhaft zu speichern, müssen Sie die API verwenden oder die Funktionalität in separate Container verschieben.
Die meisten Systemkomponenten sind in Rust geschrieben, das speichersichere Funktionen bietet, um Schwachstellen zu vermeiden, die durch After-Free-Speicherzugriffe, Nullzeiger-Dereferenzierungen und Pufferüberläufe verursacht werden. Beim Erstellen werden standardmäßig die Kompilierungsmodi „--enable-default-pie“ und „--enable-default-ssp“ verwendet, um die Randomisierung des Adressraums ausführbarer Dateien zu ermöglichen (
Für in C/C++ geschriebene Pakete sind zusätzliche Flags enthalten
„-Wall“, „-Werror=format-security“, „-Wp,-D_FORTIFY_SOURCE=2“, „-Wp,-D_GLIBCXX_ASSERTIONS“ und „-fstack-clash-protection“.
Container-Orchestrierungstools werden separat bereitgestellt
Source: opennet.ru