ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Microsoft ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Azure Linux 4, ΠΊΠΎΠΉΡΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π²Π΅ΡΡΠΈΡ 3.0 Π΅ ΠΊΠΎΡΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π» ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½Π° Π±Π°Π·Π° ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Fedora 43. ΠΠΊΠΎ ΠΏΡΠ΅Π΄ΠΈ Azure Linux ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Linux ΡΡΠ΅Π΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΎΠ±Π»Π°ΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, edge ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Microsoft, ΡΠΎ ΡΠ΅Π³Π° Azure Linux ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΊΠ°ΡΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΠ±ΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΎΠ±Π»Π°ΠΊΠ° Azure, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΠ² Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΡΠ΅Π΄ΠΈ WSL (Windows Subsystem Linux) ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΠ‘ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠΈ.
ΠΠ΅ΡΡΠΈΡΡΠ° Azure Linux 4 Π΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½Π° ΠΊΠ°ΡΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡΠ° ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠ° ΡΠ°Π±ΠΎΡΠ½ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²Π΅ΡΡΠΈΡ Azure Linux 3. ΠΠΎΡΠΎΠ²ΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π·Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ, Π½ΠΎ ΠΈΠΌΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅. Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΡΠΈ ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΡΠΊ Π½Π° Fedora Π² Azure Linux 4 Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π½Π° RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° Fedora, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ TOML. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΎΠ²Π΅ΡΠ»Π΅ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Azure Linux spec ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ SRPM ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Fedora Linux. ΠΠ²Π΅ΡΠ»Π΅ΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈ Π½Π°Π΄ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° Fedora, ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² spec ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΏΠ°ΡΠΎΠ²Π΅ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΠ±ΠΎΡΠΊΠ°.
ΠΠ°ΠΊΠ΅ΡΠ½Π°ΡΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π² Azure Linux 4 ΡΠ° "ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅" (ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ), ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Ρ ΠΎΡ Fedora ΡΡΠ΅Π· dist-git ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ RPM ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄, Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Fedora Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ. ΠΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ½ΠΈΡΠ΅ RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΎΠ²Π΅ΡΠ»Π΅ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ 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
