ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Microsoft ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Azure Linux 4, ΠΊΠΎΠΉΡΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π²Π΅ΡΡΠΈΡ 3.0 Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Fedora 43. ΠΠΊΠΎ ΠΏΡΠ΅Π΄ΠΈ Azure Linux ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Linux ΡΡΠ΅Π΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΎΠ±Π»Π°ΡΠ½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, edge ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Microsoft, ΡΠΎ ΡΠ΅Π³Π° Azure Linux ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΊΠ°ΡΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΎΠ±ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΎΠ±Π»Π°ΠΊΠ° Azure, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΡΠ΅Π΄Π° WSL (Windows Subsystem for Linux) ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΠ‘ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠΈ.
ΠΠ΅ΡΡΠΈΡΡΠ° Azure Linux 4 Π΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½Π° ΠΊΠ°ΡΠΎ Π² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠ° ΡΠ°Π±ΠΎΡΠ½ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²Π΅ΡΡΠΈΡΡΠ° Azure Linux 3. ΠΠ°Π²ΡΡΡΠ΅Π½ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈΠΌΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π·Π° ΡΠ±ΠΎΡΠΊΠ°. Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΡΠΈ ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΡΠΊ Π½Π° Fedora Π² Azure Linux 4 ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠ΅Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° Fedora, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ TOML. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° overlay ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Azure Linux spec ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ SRPM ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Fedora Linux. Overlay ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ°, ΠΈΠ·Π²ΡΡΡΠ²Π°Π½ΠΈ Π²ΡΡΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° Fedora, ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² spec ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΠ±ΠΎΡΠΊΠ°.
ΠΠ°ΠΊΠ΅ΡΠ½Π°ΡΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π² Azure Linux 4 ΡΠ° βΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅β (ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ), ΠΊΠΎΠΈΡΠΎ Π² ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠΈ ΡΠ°ΡΡ ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Ρ ΠΎΡ Fedora ΡΡΠ΅Π· dist-git ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ RPM ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄, Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Fedora Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ. ΠΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ½ΠΈΡΠ΅ RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° overlay ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ azldev, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Go ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΡ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° Azure Linux 4 ΡΠ΅ ΠΎΡΠΊΡΠΎΡΠ²Π°Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ ΠΏΡΠ΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (supply chain), ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌ ΡΠΈΠΊΡΠ» Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΎΠ±Π»Π°ΠΊΠ° Azure, ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Azure Linux ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΊΠ°ΠΊΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ ΡΡΠ΅Π΄ΠΈ Ρ RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° rpm-ostree ΠΈ ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ Π°ΡΠΎΠΌΠ΅Π½ Π±Π΅Π· ΡΠ°Π·Π±ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π΄Π²Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ: ΡΡΠ΅Π· Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΡΡΠ΅Π· ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΎΠ±ΡΠ°Π·.
ΠΡ ΠΌΠ΅ΡΠΊΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π² Azure Linux:
- Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° seccomp.
- Π¨ΠΈΡΡΠΎΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ Π΄ΡΠ»ΠΎΠ²Π΅.
- ΠΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΠ΅Π· ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ.
- Π Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- ΠΠ°ΡΠΈΡΠ° ΠΎΡ Π°ΡΠ°ΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Π΅, mmap, /dev/mem ΠΈ /dev/kmem.
- Π Π΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°Π±ΡΠ°Π½Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
- ΠΠΏΡΠΈΡ Π·Π° Π·Π°Π±ΡΠ°Π½Π° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ»Π΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
- ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ°, ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
- ΠΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π±Π΅Π· Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
