Π’ Fedora 41 ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ DNF5

ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚ 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