ΠΠ°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΎ
- Π ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΡΠ°Π½ΡΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅
Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ°Π½Π΅Π½ ΠΎΠ±Π΅ΠΊΡ , ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°ΡΠ΅ Π½Π° Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΡΡΠΈΠ³Π° Π΄ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° 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, Π΄ΠΈΠ·Π°ΠΉΠ½ΡΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅ Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° Π΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠ°Π½, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΈ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΡΠ° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ, ΠΏΠΎΡΠ²ΠΈ ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Ρ ΠΈΠ±ΡΠΈΠ΄Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°, Π° Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π±ΡΡΠΎΠ½ βΠ½Π΅ Π±Π΅Π·ΠΏΠΎΠΊΠΎΠΉΡΠ΅β ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» ΠΊΡΠΌ ΡΡΠ²Π΅ΡΠ½ΠΈΠΊΠ° Π·Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ Π΄Ρ. - ΠΡΠ² Π²ΡΡΠ·ΠΊΠ° Ρ
ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ° ΠΠΈΠ²ΠΎΡΡΡ Π½Π° Python 2 ΠΎΡ Fedora ΡΠ΅ Π±ΡΠ΄Π΅ΠΎΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡΡ 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 Π΄Π½ΠΈ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π²ΡΡΠΊΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ Π±ΠΈΠ»Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ. ΠΠΊΠΎ ΠΆΠ΅Π»Π°Π΅, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΠΎΡΠ΅Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. - ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° Python
ΡΠ³Π»ΠΎΠ±Π΅Π½ΠΈ Ρ ΡΠ»Π°Π³Π° β-fno-semantic-interpositionβ, ΡΠΈΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΎΡ 5 Π΄ΠΎ 27%. - Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ°
Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°ΡΡΠ΅ΡΠ½ΠΈ ΡΡΠΈΡΡΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ OpenType Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠΎ gnome-terminal (ΡΠ»Π΅Π΄ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ HarfBuzz ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ ΡΠ°ΡΡΠ΅ΡΠ½ΠΈ ΡΡΠΈΡΡΠΎΠ²Π΅ Π² gnome-terminal). - ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ
ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ Π²ΡΠ·Π»ΠΈ Π·Π° ΠΎΠΏΡΠΈΡΠ½ΠΈ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ.
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π° Fedora 32
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru