ΠΠ°ΡΠ·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈ
- ΠΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΡΠ΅ Π³ΡΠ°Π΄Π±ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΡΠ°Π½ΠΈΡΠΈ
Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΡΠΎΡΠ΅Ρ Π²ΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Π°ΡΠ°Π½ΠΎ ΡΠ°Π½ΠΎ , ΡΡΠΎ ΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΠΎΠ±ΡΠ·ΠΎ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π±Π΅Π· Π΄Π° ΠΎΠ΄ΠΈΡΠ΅ Π΄ΠΎΡΠ°ΠΌΡ ΡΡΠΎ ΡΠ΅ Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ OOM (Out Of Memory) Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΠΊΠΎΡ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΊΠΎΠ³Π° ΡΠΈΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΡΠ°Π½ΡΠ²Π° ΠΊΡΠΈΡΠΈΡΠ½Π° ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ»Π³ΠΎ ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ. ΠΠΊΠΎ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π°ΡΠ° Π½Π° Π΄ΠΎΡΡΠ°ΠΏΠ½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π΅ ΠΏΠΎΠΌΠ°Π»Π° ΠΎΠ΄ Π½Π°Π²Π΅Π΄Π΅Π½Π°ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ, ΡΠΎΠ³Π°Ρ earlyoom ΡΠΎ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ SIGTERM (ΡΠ»ΠΎΠ±ΠΎΠ΄Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΏΠΎΠΌΠ°Π»Π° ΠΎΠ΄ 10%) ΠΈΠ»ΠΈ SIGKILL (< 5%) Π½Π°ΡΠΈΠ»Π½ΠΎ ΡΠ΅ Π³ΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΡΠΎ Π½Π°ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ° ΡΡΠΎΡΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° (ΠΈΠΌΠ° Π½Π°ΡΠ²ΠΈΡΠΎΠΊΠ° /proc /*/oom_score Π²ΡΠ΅Π΄Π½ΠΎΡΡ), Π±Π΅Π· Π΄Π° ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎ ΡΠΎΡΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ Π±Π°ΡΠ΅ΡΠΈ. -
ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΡΠ°ΡΠΌΠ΅Ρ fstrim.timer, ΠΊΠΎΡ ΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ»ΡΠ³Π°ΡΠ° fstrim.service Π΅Π΄Π½Π°Ρ Π½Π΅Π΄Π΅Π»Π½ΠΎ Π·Π° Π΄Π° ΡΠ° ΠΈΠ·Π²ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° β/usr/sbin/fstrim βfstab βverbose βquietβ, ΠΊΠΎΡΠ° ΠΈΠΌ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π° Π½Π° ΡΡΠ΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π²ΠΎ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π²ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ LVM ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ°. ΠΠ²ΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π³ΠΎ ΠΈΠ·ΠΌΠ°Π·Π½ΡΠ²Π° Π°Π±Π΅ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ³ΠΎΠ½ΠΈΡΠ΅ SSD ΠΈ NVMe ΠΈ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈΡΠ΅, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΎ LVM Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΡΠ»ΠΎΠ±ΠΎΠ΄Π½ΠΈΡΠ΅ Π»ΠΎΠ³ΠΈΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ ΠΏΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΎ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΡΡΠΎΡ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ (βΡΠ΅Π½ΠΊΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅β) ΡΠΎ Π½ΠΈΠ²Π½ΠΎ Π²ΡΠ°ΡΠ°ΡΠ΅ Π²ΠΎ Π±Π°Π·Π΅Π½ΠΎΡ; - ΠΠ΅ΡΠΊΡΠΎΠΏΠΎΡ Π΅ Π°ΠΆΡΡΠΈΡΠ°Π½ ΠΏΡΠ΅Π΄ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ
GNOME 3.36 , Π²ΠΎ ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ ΠΏΠΎΡΠ΅Π±Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π΄ΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° GNOME Shell, Π΄ΠΈΠ·Π°ΡΠ½ΠΎΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈΡΠ΅ Π·Π° Π½Π°ΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΈ ΠΎΡΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ Π΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠ°Π½, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ Π΄ΠΈΡΠ°Π»ΠΎΠ·ΠΈ ΡΠ΅ ΡΠ΅Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ, ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠ° Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½Π° Π³ΡΠ°ΡΠΈΡΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΠΎ Ρ ΠΈΠ±ΡΠΈΠ΄Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ° ΠΈ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄, ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ ΡΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠΏΡΠ΅ βΠ½Π΅ Π²ΠΎΠ·Π½Π΅ΠΌΠΈΡΡΠ²Π°Ρβ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ΅, ΠΎΠΏΡΠΈΡΠ° Π·Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π½Π° Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΈΠΊΠΎΡ Π·Π° ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΈΡΠ½. - ΠΠΎ Π²ΡΡΠΊΠ° ΡΠΎ
ΡΠ°ΡΠΊΠΈΠ½ΡΠ²Π°ΡΠ΅ ΠΠ°ΡΡΠΎΠ½ 2 ΠΆΠΈΠ²ΠΎΡ ΠΎΠ΄ Π€Π΅Π΄ΠΎΡΠ° ΡΠ΅ Π±ΠΈΠ΄Π΅ΠΎΡΡΡΡΠ°Π½Π΅ΡΠΈ python2 ΠΏΠ°ΠΊΠ΅ΡΠΎΡ ΠΈ ΡΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΠΊΠΎΠΈ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ Python 2 Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ. ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΈ ΠΈΠΌ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ Python 2, ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ ΡΠ°ΠΌΠΎΡΡΠΎΠ΅Π½ python27 ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΡΠΏΠ°ΠΊΡΠ²Π°Π½ Π²ΠΎ ΡΡΠΈΠ» ΡΠ΅-Π²ΠΎ-Π΅Π΄Π½ΠΎ (Π±Π΅Π· ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠΈ) ΠΈ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π½Π°ΠΌΠ΅Π½Π΅Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΊΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ; - Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π½Π°ΠΌΠ΅ΡΡΠΎ iptables-legacy
Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ iptables-nft, ΠΊΠΎΡ Π½ΡΠ΄ΠΈ Π·Π±ΠΈΡ Π½Π° ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠΎ iptables, ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ ΠΈΡΡΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ°, Π½ΠΎ Π³ΠΈ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°Π°Ρ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π²ΠΎ nf_tables Π±Π°ΡΡΠ΅ΠΊΠΎΠ΄; - ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Π·Π°ΡΡΠΈΡΠ΅Π½ ΡΠΈΠ΄
ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° nftables. iptables ΠΈ ebtables ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°; - ΠΠ° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ GCC 10. ΠΠΆΡΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° ΠΌΠ½ΠΎΠ³Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ Glibc 2.31, Binutils 2.33, LLVM 10-rc, Python 3.8, Ruby 2.7,
Go 1.14, MariaDB 10.4, Mono 6.6, PostgreSQL 12, PHP 7.4. - ΠΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π°Ρ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΈ Π³ΡΡΠΏΠΈ,
ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΡΡΠ°Π½Π·ΠΈΡΠΈΡΠ° ΠΊΠΎΠ½ Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΠΈ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ Π½Π° sysusers.d (ΡΠ°ΠΌΠ°ΡΠ° Π°Π»Π°ΡΠΊΠ° systemd-sysusers ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° /etc/passwd ΠΈ /etc/group, Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΡΓ¨ ΡΡΡΠ΅ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° useradd); - ΠΠΎ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ DNF
Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΊΠΎΠ΄ Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π·Π° ΠΏΠΎΠΏΡΠ΅ΡΠΈΠ·Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ°ΡΠ° Π±Π°Π·Π° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°ΡΠ°. ΠΠ°ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΈΠΎΡ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ UUID ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎΠ²Π΅ΡΠ΅Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π±ΡΠΎΡΠ°ΡΠΎΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΈ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° ΠΠ‘. ΠΡΠΎΡΠ°ΡΠΎΡ βcountmeβ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΠ΅ΡΠΈΡΠ° Π½Π° β0β ΠΏΠΎ ΠΏΡΠ²ΠΈΠΎΡ ΡΡΠΏΠ΅ΡΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΡ ΠΈ ΠΏΠΎ 7 Π΄Π΅Π½Π° ΡΠ΅ ΠΏΠΎΡΠ½Π΅ Π΄Π° ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΡΠ΅ΠΊΠΎΡΠ° Π½Π΅Π΄Π΅Π»Π°, ΡΡΠΎ ΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΠΏΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ ΠΊΠΎΠ»ΠΊΡ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ. ΠΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ°ΠΊΠ°ΡΠ΅, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ; - ΠΠ°ΡΡΠΎΠ½ ΡΠΎΠ»ΠΊΡΠ²Π°Ρ
ΡΠΎΠ±ΡΠ°Π½ΠΈ ΡΠΎ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ΡΠΎ β-fno-semantic-interpositionβ, ΡΠΈΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΎΠ΄ 5 Π½Π° 27%; - Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ°
Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π±ΠΈΡΠΌΠ°ΠΏΠΈ ΡΠΎΠ½ΡΠΎΠ²ΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ OpenType Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊΠΎ gnome-terminal (ΠΏΠΎ ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° HarfBuzz, ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ Π±ΠΈΡΠΌΠ°ΠΏΠΈ ΡΠΎΠ½ΡΠΎΠ²ΠΈ Π²ΠΎ gnome-terminal); - ΠΠΎΠ³Π° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΠ²Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅
ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠΎΡ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½ΠΈΡΠ΅ ΡΠΊΠ»ΠΎΠΏΠΎΠ²ΠΈ Π·Π° ΠΎΠΏΡΠΈΡΠΊΠΈ ΠΌΠ΅Π΄ΠΈΡΠΌΠΈ.
ΠΠ·Π²ΠΎΡ: opennet.ru