ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π΅ ΠΏΡΠΈΠ΅Π» Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ runtime ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° runj ΠΈ ΠΎΡΠ²Π°ΡΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° FreeBSD Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° OCI-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Linux-Π±Π°Π·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ Docker ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ Alpine Linux Π½Π° FreeBSD. $ sudo ctr run -rm -runtime wtf.sbk.runj.v1 -tty -snapshotter zfs docker.io/library/alpine:ΠΏΠΎΡΠ»Π΅Π΄Π΅Π½ ΡΠ΅ΡΡ sh -c 'cat /etc/os-release && uname -a' NAME=Β»Alpine Linux" ID=alpine VERSION_ID=3.16.0 PRETTY_NAME="Alpine Linux v3.16β³ HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ" Linux 3.17.0 FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC x86_64 Linux
ΠΡΠΏΡΠ΅ΠΊΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈΡ ΡΡΠ°ΡΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° runj ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Π΄ΠΎΡΠΈ Π² ΡΠ°Π·ΠΈ ΡΠΎΡΠΌΠ° ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π° Π»ΠΈΡΠ½ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈ, ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (Proof Of Concept), Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΏΡΠ΅Π΄ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π² ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π·Π° ΡΠ»ΡΡΠ°ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΊΡΠΌ ΡΠ΅ΡΡΠ²Π°Π½ΠΈ ΠΈ ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, Π½ΠΎ Π΅ Π½Π°Π·ΡΡΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠ·ΠΈΡΠΊΠ²Π° jail, jls, jexec ΠΈ ps, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ runj Π΅ Π»ΠΈΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Π‘Π°ΠΌΡΠ΅Π» ΠΠ°ΡΠΏ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π½Π° Amazon, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Bottlerocket Linux ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π·Π° AWS, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠΎ Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΡΠ»Π΅Π½ Π½Π° Π‘ΡΠ²Π΅ΡΠ° Π·Π° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π΄Π·ΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenContainers. Π‘Π»Π΅Π΄ ΠΏΡΠΈΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° runj Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ Π½ΠΈΠ²ΠΎ, ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Docker ΠΈ Kubernetes, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° FreeBSD Π²ΠΌΠ΅ΡΡΠΎ Linux Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΡ ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° OCI Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°, ΡΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Ρ
ΠΎΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru