ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Huawei ΠΠΈΠ½ΡΠΊΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² , ΠΊΠΎΠΉΡΠΎ ΡΡΠ°Π½Π° ΠΏΡΡΠ²ΠΈΡΡ Π²ΡΠΏΡΡΠΊ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΠ»ΡΠ³ ΡΠΈΠΊΡΠ» Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (LTS). ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π·Π° openEuler 20.03 ΡΠ΅ ΡΠ΅ ΠΈΠ·Π΄Π°Π²Π°Ρ Π΄ΠΎ 31 ΠΌΠ°ΡΡ 2024 Π³ΠΎΠ΄ΠΈΠ½Π°. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈΡΠ΅ ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ iso-ΠΎΠ±ΡΠ°Π·ΠΈ ( ΠΈ ) Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ ΠΎΡ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° Gitee.
openEuler Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² , ΠΊΠΎΠΉΡΠΎ Π΅ ΠΊΠ»ΠΎΠ½ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ½Π°ΡΠ° Π±Π°Π·Π° CentOS ΠΈ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ARM64. ΠΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ°, ΠΏΡΠΈΠ»Π°Π³Π°Π½ΠΈ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° EulerOS, ΡΠ° ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π°ΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ Π½Π° ΠΠΠ ΠΈ ΡΠ° ΠΏΡΠΈΠ·Π½Π°ΡΠΈ Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° CC EAL4+ (ΠΠ΅ΡΠΌΠ°Π½ΠΈΡ), NIST CAVP (Π‘ΠΠ©) ΠΈ CC EAL2+ (Π‘ΠΠ©). EulerOS Π΅ Π΅Π΄Π½Π° ΠΎΡ ΠΏΠ΅ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (EulerOS, macOS, Solaris, HP-UX ΠΈ IBM AIX) ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π½Π° Linux, ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΎΡ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ° Opengroup Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° .
Π Π°Π·Π»ΠΈΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ openEuler ΠΈ CentOS ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈ Π½Π΅ ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π°Ρ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠ΅Π±ΡΠ°Π½Π΄ΠΈΡΠ°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² openEuler ΡΠ΄ΡΠΎ Linux 4.19, systemd 243, bash 5.0 ΠΈ
ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΠ»ΠΎΡ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° GNOME 3.30. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ARM64 ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΡΡ ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΠ° ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Linux, GCC, OpenJDK ΠΈ Docker.
Π‘ΡΠ΅Π΄ Π·Π°ΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° openEuler:
- ΠΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΠΊΡΠΌ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠΎΡΠΎ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ ΠΊΠ΅Ρ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ Π±ΡΠΎΡΡ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π² Nginx Ρ 15%.
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ (, , ΠΈ Ρ.Π½.) ΠΎΡ 10% Π΄ΠΎ 100%.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ , ΠΌΡΠ΅ΠΆΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ ΠΈ runtime (Lightweight Container Runtime, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ OCI, Π½ΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ runc Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° gRPC). ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π»Π΅ΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ iSulad ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Π΄ΠΎ 35% ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π΄ΠΎ 68%.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° OpenJDK, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°ΡΠ° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Ρ 20% Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ°.
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ , ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΡΠ°ΠΌΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° Huawei Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π°ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π΄ΠΎ 30%.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Kunpeng ΠΈ x86 (Π² Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ).
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Huawei ΡΡΡΠΎ ΠΎΠ±ΡΠ²ΠΈ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΠ΅ΡΠΈΡΠΈ ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π½Π° openEuler β Kylin Server OS, iSoft Server OS, deepinEuler ΠΈ EulixOS Server, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΎΡ ΡΡΠ΅ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Kylinsoft, iSoft, Uniontech ΠΈ ISCAS (ΠΠ½ΡΡΠΈΡΡΡ ΠΏΠΎ ΡΠΎΡΡΡΠ΅Ρ Π½Π° ΠΠΈΡΠ°ΠΉΡΠΊΠ°ΡΠ° Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡ Π½Π° Π½Π°ΡΠΊΠΈΡΠ΅), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΠΈΡ Π° ΠΊΡΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ° openEuler. Huawei ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ openEuler ΠΊΠ°ΡΠΎ ΠΎΡΠΊΡΠΈΡ ΡΡΠ²ΠΌΠ΅ΡΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ°Π·Π²ΠΈΠ²Π°Π½ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Π΅ΡΠ΅ ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΊΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ Π½Π° openEuler, ΠΊΠΎΠΌΠΈΡΠ΅Ρ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΡΠΈΠ°Ρ.
Π‘ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π·Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°. LTS ΠΈΠ·Π΄Π°Π½ΠΈΡΡΠ° ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Ρ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, β Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠ°. ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ΅ΠΌΠ° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ Π·Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Upstream ΠΈ Π²ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΡΠΌ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΎΡΠΊΡΠΈΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
