ΠΠΎΠΌΠΈΡΠ΅Ρ FESCo (Fedora Engineering Steering Committee), ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Fedora Linux, ΡΡΠ²Π΅ΡΠ΄ΠΈΠ» Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° DNF5 Π² ΠΎΡΠ΅Π½Π½Π΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Fedora 41. ΠΠ°ΠΊΠ΅ΡΡ dnf, libdnf ΠΈ dnf-cutomatic Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π² Fedora 41 Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ DNF5 ΠΈ Π½ΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libdnf5, Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° /usr/bin/dnf Π½Π°ΡΠ½ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» dnf5.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ°ΡΠΈΡΠ΅Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ Π²ΡΡ Π΅ΡΡ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π³ΠΎΡΠΎΠ² ΠΊ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π»Π΅ΠΆΠ°ΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «dnf history». Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° dnf5daemon Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ GNOME Software. Π’ΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° (ΠΊΠΎΠΌΠ°Π½Π΄Π° system-upgrade).
Π ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ DNF ΠΏΡΠΈΡΡΠ» Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Π½Π° ΡΠΌΠ΅Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Yum, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Python. Π DNF ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Ρ ΠΈ Π²ΡΠ½Π΅ΡΠ΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ hawkey, librepo, libsolv ΠΈ libcomps, Π½ΠΎ ΠΊΠ°ΡΠΊΠ°Ρ ΠΈ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΡΠ°Π»ΠΈΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Python. ΠΡΠΎΠ΅ΠΊΡ DNF5 Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ ΠΎΡΡΠ°ΡΡΠΈΡ ΡΡ Π½Π° Python ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠ½ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libdnf5 Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π²ΠΎΠΊΡΡΠ³ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Python API.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Π‘++ Π²ΠΌΠ΅ΡΡΠΎ Python ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ Π·Π° ΡΡΡΡ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈ ΡΠ΅ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΠ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π±Π°Π·Ρ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ). ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ DNF5 ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ PackageKit, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΎΠ½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ DNF Daemon, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ PackageKit ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ .
ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ Π΄Π°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠ΅ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½ΠΎΠ²ΠΎΠΌ DNF ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½Π°Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
RPM-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·Π° Π² ΠΎΡΡΡΡΠ°Ρ
ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ
ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π²ΡΠ΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ Π² ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ (scriplets); ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ bash.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru