Π ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° Fedora 41 ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ DNF5. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ, ΠΏΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊΡΠΌ DNF5 Π±Π΅ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ Π·Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° Fedora 39, Π½ΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΏΡΠ»Π½ΠΈΡΡ ΠΏΠ°ΡΠΈΡΠ΅Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΡΡΡ ΡΡΠ°ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠΌΡΡΠ°Ρ, ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΡΡ Π΅ Π³ΠΎΡΠΎΠ² Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ, Π° Π»ΠΈΠΏΡΠ²Π°ΡΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΎ ΠΎΡ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ° FESCo (ΠΠΎΠΌΠΈΡΠ΅Ρ Π·Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΈ Π½Π°ΡΠΎΠΊΠΈ Π½Π° Fedora), ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΠ°ΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Fedora. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ dnf, libdnf ΠΈ dnf-cutomatic ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ DNF5 ΠΈ Π½ΠΎΠ²Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libdnf5, Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ° /usr/bin/dnf ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΡΠΎΡΠΈ ΠΊΡΠΌ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡ ΡΠ°ΠΉΠ» dnf5.
ΠΡΠ΅Π΄ΠΈ Π²ΡΠ΅ΠΌΠ΅ DNF Π·Π°ΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Yum Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈΠ·ΡΡΠ»ΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Python. Π DNF ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΡ Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ C-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ hawkey, librepo, libsolv ΠΈ libcomps, Π½ΠΎ ΠΊΠ°ΡΠΊΠ°ΡΡΡ ΠΈ Π²ΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡΡΠ°Π½Π°Ρ Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Python. ΠΡΠΎΠ΅ΠΊΡΡΡ DNF5 Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΡΠ°Π²Π°Ρ Π½Π° Python, Π½Π° C++, ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π² ΠΎΡΠ΄Π΅Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libdnf5 Ρ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΎΠΊΠΎΠ»ΠΎ Π½Π΅Ρ Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Python API.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° C++ Π²ΠΌΠ΅ΡΡΠΎ Python ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠΎ-Π²ΠΈΡΠΎΠΊΠ°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΠΏΡΠ΅ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΠ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ° Π±Π°Π·ΠΈΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅). ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ DNF5 Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΎΡ ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΎΡΡΡΠ° Ρ PackageKit, ΠΊΠ°ΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½ΠΎΠ² ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΎΡΠ΅Ρ DNF Daemon, ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° PackageKit ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°ΡΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΡΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎΠ²ΠΈΡΡ DNF ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΠΎ-ΡΡΠ½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π° Π½Π°ΠΏΡΠ΅Π΄ΡΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅; Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ; Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π² ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π° ΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π² ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ (scriplets); ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ ΠΏΠΎ-Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π²Ρ
ΠΎΠ΄Π° Π·Π° bash.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
