Compagnia Amazon
La distribuzione fornisce il kernel Linux e un ambiente di sistema minimo, inclusi solo i componenti necessari per eseguire i contenitori. Tra i pacchetti coinvolti nel progetto ci sono il gestore di sistema systemd, la libreria Glibc e gli strumenti di assemblaggio
Buildroot, bootloader GRUB, configuratore di rete
La distribuzione viene aggiornata atomicamente e viene consegnata sotto forma di un'immagine di sistema indivisibile. Per il sistema vengono allocate due partizioni del disco, una delle quali contiene il sistema attivo e l'aggiornamento viene copiato nella seconda. Dopo la distribuzione dell'aggiornamento, la seconda partizione diventa attiva e nella prima, fino all'arrivo dell'aggiornamento successivo, viene salvata la versione precedente del sistema, alla quale è possibile ripristinare in caso di problemi. Gli aggiornamenti vengono installati automaticamente senza l'intervento dell'amministratore.
La differenza fondamentale rispetto a distribuzioni simili come Fedora CoreOS, CentOS/Red Hat Atomic Host è l'obiettivo principale nel fornire
La partizione root è montata in sola lettura e la partizione delle impostazioni /etc è montata in tmpfs e ripristinata al suo stato originale dopo un riavvio. La modifica diretta dei file nella directory /etc, come /etc/resolv.conf e /etc/containerd/config.toml, non è supportata: per salvare in modo permanente le impostazioni, è necessario utilizzare l'API o spostare la funzionalità in contenitori separati.
La maggior parte dei componenti di sistema sono scritti in Rust, che fornisce funzionalità di sicurezza della memoria per evitare vulnerabilità causate da accessi successivi alla memoria libera, dereferenziazioni di puntatori nulli e sovraccarichi del buffer. Durante la compilazione per impostazione predefinita, le modalità di compilazione "--enable-default-pie" e "--enable-default-ssp" vengono utilizzate per abilitare la randomizzazione dello spazio degli indirizzi dei file eseguibili (
Per i pacchetti scritti in C/C++, sono inclusi flag aggiuntivi
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" e "-fstack-clash-protection".
Gli strumenti di orchestrazione del contenitore vengono forniti separatamente
Fonte: opennet.ru